Notes pour l'installation d'une version de Eprints sur une machine CentOS4.2 Stéphanie Lanthier Le jeudi 17 février 2006 Prérequis. Une base de données mysql. L'installation du serveur mysql à l'installation d'une base de données mysql, version sur 4.1.12. Nous allons utiliser cette base de données. Les binaires : /usr/bin/mysqld /usr/bin/mysqld_safe Les données sont dans /var/lib/mysql % su mysql % mysql_install_db -- redevenir root % service mysqld start On assignera plus tard un mot de passe à l'usager root de mysql % /usr/sfw/bin/mysqladmin -u root password '*******' Un serveur web apache Un serveur web apache2 est installé avec CentOS 4.2. Les fichiers pertinents: /usr/sbin/httpd /etc/httpd/conf/httpd.conf /etc/httpd/logs/ On change la valeur de User et Group pour eprints dans le fichier de configuration /etc/httpd/conf/httpd.conf On crée l'usager eprints % groupadd eprints % useradd -g eprints eprints On démarre le serveur web ainsi % service httpd start
Le module mod_perl2 Le module mod_perl, version 1.99 est installé avec CentOS. Il faut donc le désinstaller. % rpm -ev mod_perl-1.99_16 Télécharger la dernière version stable http://perl.apache.org/dist/mod_perl-2.0-current.tar.gz et décompresser. Pour installer mod_perl en DSO, il nous faut l'exécutable apxs, qui vient avec le paquetage httpddevel.pour l'orbtenir, il faut installer les prérequis: pcre, apr-devel, apr-util-devel. % wget ftp://ftp.nluug.nl/pub/os/linux/distr/centos/4.2/os/i386/centos/rpms/httpd-devel- 2.0.52-19.ent.centos4.i386.rpm % rpm -ivh httpd-devel-2.0.52-19.ent.centos4.i386.rpm % wget ftp://ftp.nluug.nl/pub/os/linux/distr/centos/4.2/os/i386/centos/rpms/pcre-devel-4.5-3.2.rhel4.i386.rpm % rpm -Uvh pcre-devel-4.5-3.2.rhel4.i386.rpm % wget ftp://ftp.nluug.nl/pub/os/linux/distr/centos/4.2/os/i386/centos/rpms/apr-devel- 0.9.4-24.5.i386.rpm % rpm -Uvh apr-devel-0.9.4-24.5.i386.rpm % wget ftp://ftp.nluug.nl/pub/os/linux/distr/centos/4.2/os/i386/centos/rpms/apr-util-devel- 0.9.4-21.i386.rpm % rpm -Uvh apr-util-devel-0.9.4-21.i386.rpm % rpm -Uvh httpd-devel-2.0.52-19.ent.centos4.i386.rpm % cd mod_perl-2.0.2 % perl Makefile.PL MP_APXS=/usr/sbin/apxs % make % make install Les modules perl requis Certains modules peuvent être téléchargés et installés directement de CPAN. D'abord configurer le système % perl -MCPAN -e shell et répondre aux questions. Ensuite, installer les modules nécessaires: % perl -MCPAN -e 'install Data::ShowTable' % perl -MCPAN -e 'install DBI' % perl -MCPAN -e 'install Mysql' # Fonctionne si on met temporairement le mot de passe de root sur mysql vide. % perl -MCPAN -e 'install MIME::Base64'
% perl -MCPAN -e 'install Unicode::String' % perl -MCPAN -e 'install XML::Parser' Vérifier aussi la présence de ces modules: perl -MCPAN -e 'install Data::Dumper' perl -MCPAN -e 'install Digest::MD5' perl -MCPAN -e 'install Getopt::Long' perl -MCPAN -e 'install Pod::Usage' perl -MCPAN -e 'install CGI' Libraries additionnelles requises Les packetages libxml2 sont déjà installés avec CentOS. La librairie GDOME Télécharger chez http://gdome2.cs.unibo.it Il faut installer dans le préfixe /usr pour éviter des problèmes utlérieurs %./configure -prefix=/usr % make % make install Les modules perl additionnels pour le support GDOME % perl -MCPAN -e 'install XML::LibXML::Common' % perl -MCPAN -e 'install XML::NamespaceSupport' Un troisième module, XML::GDOME, est requis, mais un bogue nous empêche d'utiliser CPAN. La référence se trouve sur le wiki de eprints: http://wiki.eprints.org/w/eprints2/gdomeonfedoracore3
To see the bug run gdome-config --libs As root edit /usr/bin/gdome-config Around line 88 find these two lines: the_libs="$the_libs -L${exec_prefix}/lib -lgdome ` --libs` `xml2-config --libs`" the_flags="$the_flags -I${prefix}/include -I${prefix}/include/libgdome ` --cflags` `xml2-config -- cflags`" change them to this: the_libs="$the_libs -L${exec_prefix}/lib -lgdome `/usr/bin/glib-config --libs` `xml2-config --libs`" the_flags="$the_flags -I${prefix}/include -I${prefix}/include/libgdome `/usr/bin/glib-config --cflags` `xml2-config --cflags`" If the following error occurs: No such file or directory /usr/bin/glib-config No such file or directory /usr/bin/glib-config This means there is no glib-config file in Fedora Core 3. By default Fedora Core 3 has glib2-2.4.7-1, which doesn't seems to have glib-config. Solution: To install GDOME we need to check for glib-config. glib-config is available in glib1.2-devel.xxx (glib-devel is needed to install XML::Gdome) Appliquer la solution au fichier /usr/local/bin/gdome-config puis installer glib-devel, version 1.2.10, trouvé chez http://rpm.pbone.net. % rpm -Uvh glib-devel-1.2.10-15.i386.rpm!! Le rpm installe l'exécutable glib-config dans /usr/bin/glib-config. Télécharger et décompresser le fameux troisième module XML-GDOME chez http://www.cpan.org/modules/by-module/xml % perl Makefile.PL % make % make install Installer Eprints-2.3.13.1 Télécharger et décompresser la source obtenue % gunzip eprints-2.3.13.1.tar.gz % tar xvf eprints-2.3.13.1.tar
% cd eprints-2.3.13.1 %./configure with-apache=2 with-smtp-server=mail.uqam.ca %./install.pl Oh! Il semble que notre paramètre with-smtp-server n'aie pas été pris en considération. Par ailleurs, il semble que df ne soit pas disponible sur la plateforme. Éditer le fichier /opt/eprints2/perl_lib/eprints/systemsettings.pm et corriger la valeur disable_df =0 pour disable_df=1. Et assigner la valeur mail.uqam.ca à la variable smtp-server. Modifier le fichier de configuration du server web /etc/apache2/httpd.conf pour y ajouter la ligne Include /opt/eprints2/cfg/apache.conf Et changer le nom de l'usager et groupe propriétaire du serveur web User eprints Group eprints Créer l'archive % su eprints % cd /opt/eprints2 % bin/configure_archive Donner le nom testsolaris10 comme d'hab. % bin/generate_apacheconf % bin/create_tables testsolaris10 % bin/import_subjects testsolaris10 % bin/generate_static testsolaris10 % bin/create_user testsolaris10 archiviste lanthier.stephanie@uqam.ca admin ******** % bin/generate_views testsolaris10 Redémarrer le serveur web % su - % service httpd stop % service httpd start Visiter votre première archive sur CentOS 4.2 http://eprints.uqam.ca!! Automatiser le démarrage de eprints au démarrage du serveur
OK. On est en affaires! Plus tard, j'ai démarré le epindexer: C'est important: c'est ce qui permet de faire des recherches avec la boîte de recherche. (en tant que root) ln -s /opt/eprints2/bin/epindexer /etc/init.d/epindexer chkconfig --add epindexer chkconfig epindexer on service epindexer start