Installation et configuration de base

Transcription

Installation et configuration de base
CDS Invenio 0.99.3
Installationetconfigurationdebase
Installation
Pour une installation d’Invenio sur serveur Linux Debian Lenny, nous nous inspirons des instructions
de la page : http://invenio-software.org/wiki/Installation/InvenioOnDebian Le fichier « INSTALL » contenu dans l’archive d’Invenio donne également une procédure à suivre.
Installation des paquetages Debian nécessaires aptitude install python-dev apache2-mpm-prefork mysql-server mysql-client pythonmysqldb python-4suite-xml python-simplejson python-xml python-libxml2 pythonlibxslt1 gnuplot poppler-utils gs-common antiword catdoc wv html2text ppthtml xlhtml
clisp gettext libapache2-mod-wsgi unzip python-numpy python-rdflib python-gnuplot
python-magic pdftk html2text giflib-tools pstotext make sudo
Lors de l’installation du serveur Mysql , le mot de passe de l’utilisateur « root » de la base de
données est fixé.
aptitude install python-psyco sbcl cmucl pylint pychecker pyflakes python-profiler pythonepydoc libapache2-mod-xsendfile netpbm python-pypdf
aptitude install postfix
L’installation du serveur de messagerie Postfix entre en conflit avec le serveur Exim déjà installé sur
le serveur. Nous acceptons la proposition du système : désinstallation du serveur de messagerie Exim
qui est remplacé par Postfix.
L’installation de Postfix nécessite de préciser le type de serveur de messagerie. Nous choisissons la
configuration « Système satellite » qui permettra à notre serveur Debian de soumettre les messages
email au serveur SMTP local (smtp.obs-vlfr.fr).
Quelques derniers paquetages sont nécessaires pour assembler Invenio :
aptitude install automake1.9 autoconf
aptitude install git-core git-gui giggle git-buildpackage zip
Des paquetages optionnels sont également installés :
aptitude install rxp python-psyco sbcl cmucl pylint pychecker pyflakes python-profiler
python-epydoc libapache2-mod-xsendfile openoffice.org
Récupération d’Invenio et copie sur le serveur Nous téléchargeons l’archive cds-invenio-0.99.3.tar.gz et déplions l’archive dans un répertoire
temporaire:
cd /tmp
wget http://invenio-software.org/download/cds-invenio-0.99.3.tar.gz
tar xvzf cds-invenio-0.99.3.tar.gz
cd /tmp/cds-invenio-0.99.3
Le fichier « INSTALL » indique le procedure à suivre pour continuer l’installation.
Configuration de Mysql Nous vérifions certains paramètres dans le fichier de configuration /etc/mysql/my.cnf au niveau de la
section [mysqld]. Le paramètre « max_allowed_packet » doit être supérieur à 4M.
max_allowed_packet = 16M
default-character-set=utf8
Préparation d’Invenio cd /tmp/cds-invenio-0.99.3
./configure
make
make install
ln -s /opt/cds-invenio/lib/python/invenio /usr/lib/python2.5/site-packages/invenio
ln -s /opt/cds-invenio/lib/python/invenio /usr/local/lib/python2.5/site-packages/invenio
make install
make install-jsmath-plugin
Invenio est maintenant installé sur le serveur
Configuration d’Invenio Edition du fichier /opt/cds-invenio/etc/invenio.conf (voir annexe)
Edition du fichier /opt/cds-invenio/etc/invenio-local.conf
[Invenio]
CFG_SITE_URL = http://entrepot.obs-vlfr.fr
CFG_SITE_SECURE_URL = https://entrepot.obs-vlfr.fr
CFG_DATABASE_HOST = localhost
CFG_DATABASE_NAME = cdsinvenio
CFG_DATABASE_USER = cdsinvenio
CFG_DATABASE_PASS = “mot de passe”
CFG_SITE_NAME = Entrepot OOV
CFG_SITE_NAME_INTL_en = OOV repository
CFG_SITE_NAME_INTL_fr = Entrepot OOV
CFG_SITE_NAME_INTL_de = OOV repository
CFG_SITE_NAME_INTL_es = OOV repository
CFG_SITE_LANG = fr
CFG_SITE_LANGS = de,en,es,fr
CFG_SITE_SUPPORT_EMAIL = [email protected]
CFG_SITE_ADMIN_EMAIL = [email protected]
CFG_WEBSEARCH_USE_JSMATH_FOR_FORMATS =
Lancement de la configuration du site à partir des fichiers de configuration /opt/cds-invenio/bin/inveniocfg --update-all
Création de la base de données cdsinvenio dans MySQL mysql -h localhost -u root -p mysql
mysql> CREATE DATABASE cdsinvenio DEFAULT CHARACTER SET utf8;
mysql> GRANT ALL PRIVILEGES ON cdsinvenio.* TO root@localhost IDENTIFIED BY
'motdepasse';
mysql> QUIT
Création des tables de la base de données cdsinvenio dans MySQL /opt/cds-invenio/bin/inveniocfg --create-tables
Création des fichiers de configuration pour le serveur Web Apache /opt/cds-invenio/bin/inveniocfg --create-apache-conf
Les 2 fichiers suivants sont créés :
Fichier /opt/cds-invenio/etc/apache/invenio-apache-vhost-ssl.conf
AddDefaultCharset UTF-8
ServerSignature Off
ServerTokens Prod
NameVirtualHost *:80
Listen 80
<Files *.pyc>
deny from all
</Files>
<Files *~>
deny from all
</Files>
<VirtualHost *:80>
ServerName entrepot.obs-vlfr.fr
ServerAlias entrepot
ServerAdmin [email protected]
DocumentRoot /opt/cds-invenio/var/www
<Directory /opt/cds-invenio/var/www>
Options FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog /opt/cds-invenio/var/log/apache.err
LogLevel warn
CustomLog /opt/cds-invenio/var/log/apache.log combined
DirectoryIndex index.en.html index.html
<LocationMatch "^(/+$|/index|/collection|/record|/author|/search|/browse|/youraccount|/youralerts|/yourbaskets|/y
ourmessages|/yourgroups|/submit|/getfile|/comments|/error|/oai2d|/rss|/help|/journal|/openurl|/stats)">
SetHandler python-program
PythonHandler invenio.webinterface_layout
PythonDebug On
</LocationMatch>
<Directory /opt/cds-invenio/var/www>
AddHandler python-program .py
PythonHandler mod_python.publisher
PythonDebug On
</Directory>
</VirtualHost>
Fichier /opt/cds-invenio/etc/apache/invenio-apache-vhost-ssl.conf
ServerSignature Off
ServerTokens Prod
#Listen 443
#NameVirtualHost *:443
#SSLCertificateFile /etc/apache2/ssl/apache.pem
#SSLCertificateFile /etc/apache2/ssl/server.crt
#SSLCertificateKeyFile /etc/apache2/ssl/server.key
<Files *.pyc>
deny from all
</Files>
<Files *~>
deny from all
</Files>
<VirtualHost *:443>
ServerName entrepot.obs-vlfr.fr
ServerAlias entrepot
ServerAdmin [email protected]
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
DocumentRoot /opt/cds-invenio/var/www
<Directory /opt/cds-invenio/var/www>
Options FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog /opt/cds-invenio/var/log/apache-ssl.err
LogLevel warn
CustomLog /opt/cds-invenio/var/log/apache-ssl.log combined
DirectoryIndex index.en.html index.html
<LocationMatch "^(/+$|/index|/collection|/record|/author|/search|/browse|/youraccount|/youralerts|/yourbaskets|/y
ourmessages|/yourgroups|/submit|/getfile|/comments|/error|/oai2d|/rss|/help|/journal|/openurl|/stats)">
SetHandler python-program
PythonHandler invenio.webinterface_layout
PythonDebug On
</LocationMatch>
<Directory /opt/cds-invenio/var/www>
AddHandler python-program .py
PythonHandler mod_python.publisher
PythonDebug On
</Directory>
</VirtualHost>
Correction du fichier de configuration /opt/cds‐invenio/etc/apache/invenio‐apache‐vhost.conf
en commentant les 2 lignes suivantes :
#NameVirtualHost *:80
#Listen 80
Correction du fichier de configuration /opt/cds‐invenio/etc/apache/invenio‐apache‐vhost‐
ssl.conf avec les 3 lignes suivantes :
SSLCertificateFile /etc/apache2/ssl/apache.pem
#SSLCertificateFile /etc/apache2/ssl/server.crt
#SSLCertificateKeyFile /etc/apache2/ssl/server.key
Configuration d’Apache aptitude install ssl-cert
mkdir /etc/apache2/ssl
/usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
chown -R www-data.www-data /opt/cds-invenio
ln -s /opt/cds-invenio/etc/apache/invenio-apache-vhost.conf /etc/apache2/sitesavailable/invenio
ln -s /opt/cds-invenio/etc/apache/invenio-apache-vhost-ssl.conf /etc/apache2/sitesavailable/invenio-ssl
/usr/sbin/a2dissite default
/usr/sbin/a2ensite invenio
/usr/sbin/a2ensite invenio-ssl
/usr/sbin/a2enmod ssl
Redémarrage du serveur Web Apache /etc/init.d/apache2 restart
Le site http://entrepot.obs-vlfr.fr répond