Compilation et installation de Mnogosearch 3.2.39
Auteur : Yannick LE NY, le 19/12/2006
Cette documentation a été réalisé en utilisant un système Sun Solaris 8.
Les binaires seront installés dans /opt pour permettre de créer une archive et ainsi la déplacer sur un autre serveur.
Variables d’environnement
Les variables d’environnement défini sur le systeme Solaris
pour la création des binaires sont :
export
PATH=/usr/local/bin:/usr/bin:/usr/sbin:/usr/ccs/bin:.
export LD_LIBRARY_PATH=/usr/local/lib/sparcv9:/usr/local/lib:/usr/lib:/usr/ccs/lib:.
On defini $src comme étant le répertoire de compilation des sources.
Logiciels nécessaires à la compilation
Pour Solaris8, les packages ci-dessous sont disponibles sur www.sunfreeware.com :
· gcc-3.4.2 (et libiconv-1.8 nécessaire pour gcc)
· make 3.80
· autoconf-2.59
· automake-1.9
· perl-5.8.3 (perl >= 5.8.0 pour Mecab)
· readline-5.1 (optionnel)
· m4-1.4.2
· pkgconfig-0.20Installation des librairies zlib
Récupérer les sources de la librairie Zlib ( fichier zlib-1.2.3.tar.gz) sur http://www.zlib.net/
Décompression
cd $src
gzip –d zlib-1.2.3.tar.gz
tar -xvf zlib-1.2.3.tar
Le répertoire zlib-1.2.3 est créé. Se placer dans ce répertoire pour les étapes suivantes :
cd zlib-1.2.3
Étape configure
./configure \
--prefix=/opt/mnogosearch_3.2.39/lib/zlib-1.2.3 \
--shared
Optimisatisation de la librairie
Editer le fichier Makefile et renseigner le paramètre comme indiqué :
CFLAGS=-fPIC -O3 -DUSE_MMAP
Étape make
make
Étape make install
make install
Les librairies sont maintenant installées dans le répertoire :
/opt/mnogosearch_3.2.39/lib/zlib-1.2.3
INSTALLATION DES LIBRAIRIES OPENSSL
Récupérer les sources de la librairie OpenSSL (fichier openssl-0.9.8b.tar.gz) sur http://www.openssl.org/source/
Décompression
cd $src
gzip -d openssl-0.9.8b.tar.gz
tar -xvf openssl-0.9.8b.tar
Le répertoire openssl-0.9.8b est créé. Se placer dans ce répertoire pour les étapes suivantes :
cd openssl-0.9.8b
export LD_LIBRARY_PATH=/opt/mnogosearch_3.2.39/lib/zlib-1.2.3/lib:$LD_LIBRARY_PATH
ou
export LD_LIBRARY_PATH=
/opt/mnogosearch_3.2.39/lib/zlib-1.2.3/lib:/usr/local/lib/sparcv9:/usr/local/lib:/usr/lib:/usr/ccs/lib:.
Étape configure
./Configure \
--prefix=/opt/mnogosearch_3.2.39/lib/openssl-0.9.8b \
shared zlib solaris-sparcv9-gcc
Étape make
make
Étape make install
make install
Les librairies sont maintenant installées dans le répertoire :
/opt/mnogosearch_3.2.39/lib/openssl-0.9.8b
INSTALLATION DES LIBRAIRIES MYSQL
Récupérer les sources de la librairie MYSQL (fichier mysql-5.0.24.tar.gz sur http://dev.mysql.com/downloads/mysql/5.0.html
Décompression
cd $src
gunzip mysql-5.0.24.tar.gz
tar -xvf mysql-5.0.24.tar
Le répertoire mysql-5.0.24 est créé. Se placer dans ce répertoire pour les étapes suivantes :
cd mysql-5.0.24
Étape configure
./configure \
--prefix=/opt/mnogosearch_3.2.39/lib/mysql-5.0.24 \
--localstatedir=\
/opt/mnogosearch_3.2.39/lib/mysql_5.0.24/var \
--with-unix-socket-path=\
/opt/mnogosearch_3.2.39/lib/mysql-5.0.24\
/run/mysql_5.0.24.sock \
--sysconfdir=\
/opt/mnogosearch_3.2.39/lib/mysql-5.0.24/conf \
--with-zlib-dir=\
/opt/mnogosearch_3.2.39/lib/zlib-1.2.3 \
--with-extra-charsets=complex \
--without-docs \
--without-man \
--without-bench \
--without-innodb \
--without-geometry \
--without-extra-tools \
--enable-assembler \
--enable-static --enable-shared \
--enable-thread-safe-client
Étape make
make
Étape make install
make install
Les librairies sont maintenant installées dans le répertoire :
/opt/mnogosearch_3.2.39/lib/mysql-5.0.24.
INSTALLATION DES LIBRAIRIES READLINE
Récupérer les sources de la librairie Readline 5.1 ici :
http://ftp.gnu.org/gnu/readline/readline-5.1.tar.gz
gzip -d readline-5.1.tar.gz
tar xf readline-5.1.tar
cd readline-5.1
./configure \
--prefix=/opt/mnogosearch_3.2.39/lib/readline-5.1
make
make install
INSTALLATION DES LIBRAIRIES GCC
Les
binaires compilés avec le compilateur GCC de GNU nécessite 2 librairies
dynamiques dont le nom est libgcc_s.so.1 et libgcc_s.so.
Ces
librairies se trouvent dans le répertoire /usr/local/lib suite à
l’installation du package GCC-3.x ou supérieur disponible sur
sunfreeware.com pour Solaris.
Récupération des librairies C de GCC
Création répertoire et copie des librairies
mkdir -p /opt/mnogosearch_3.2.39/lib/gcc-3.4.2/lib
cd /usr/local/lib
cp -p libgcc_s.so* /opt/mnogosearch_3.2.39/lib/gcc-3.4.2/lib
INSTALLATION DE MNOGOSEARCH
Récupérer les sources du logiciel (fichier mnogosearch-3.2.39.tar.gz) sur http://www.mnogosearch.org/download.html
Note :
Dans /usr/lib, renommer
libz.so.1 en libz.so.1.OLD
et libz.so en libz.so.OLD
pour eviter que Mnogosearch utilise la vieille librairie zlib 1.1 de Solaris par defaut.
Maj chemin des librairies pour la compilation:
export LD_LIBRARY_PATH=/usr/local/lib/sparcv9:/usr/local/lib:/usr/lib:/usr/ccs/lib:.
export LD_LIBRARY_PATH=/opt/mnogosearch_3.2.39/lib/zlib-1.2.3/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/opt/mnogosearch_3.2.39/lib/readline-5.1/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/opt/mnogosearch_3.2.39/lib/openssl-0.9.8b/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/opt/mnogosearch_3.2.39/lib/gcc-3.4.2/lib:$LD_LIBRARY_PATH
Maj chemin des librairies qui seront stockés dans les binaires (lors de l’edition de liens ):
export LD_RUN_PATH=/opt/mnogosearch_3.2.39/lib/zlib-1.2.3/lib
export LD_RUN_PATH=/opt/mnogosearch_3.2.39/lib/readline-5.1/lib:$LD_RUN_PATH
export LD_RUN_PATH=/opt/mnogosearch_3.2.39/lib/openssl-0.9.8b/lib:$LD_RUN_PATH
export LD_RUN_PATH=/opt/mnogosearch_3.2.39/lib/gcc-3.4.2/lib:$LD_RUN_PATH
Décompression
cd $src
gunzip mnogosearch-3.2.39.tar.gz
tar -xvf mnogosearch-3.2.39.tar
Le répertoire mnogosearch-3.2.39 est créé. Se placer dans ce répertoire pour les étapes suivantes :
cd mnogosearch-3.2.39
Étape configure
Pour
lancer la commande configure il suffit de se placer dans le répertoire
du source décompressé et exécuter la commande suivante :
./configure \
--prefix=/opt/mnogosearch_3.2.39 \
--localstatedir=/var/mnogosearch_3.2.39 \
--with-openssl=/opt/mnogosearch_3.2.39/lib/openssl-0.9.8b \
--with-zlib=/opt/mnogosearch_3.2.39/lib/zlib-1.2.3 \
--with-readline=/opt/mnogosearch_3.2.39/lib/readline-5.1 \
--with-mysql=\
/opt/mnogosearch_3.2.39/lib/mysql-5.0.24 \
--with-extra-charsets=all \
Étape make
make
Étape make install
make install
Le serveur est maintenant installé dans le répertoire :
/opt/mnogosearch_3.2.39
Paramétrage du fichier de configuation pour indexer un site.
Aller dans le répertoire /opt/mnogosearch_3.2.39/etc
Créer le fichier de configuration
cp /opt/mnogosearch_3.2.39/etc/indexer.conf-dist /opt/mnogosearch_3.2.39/etc/indexer.conf
Editer le fichier indexer.conf et paramétrez
les parties suivantes:
# You may also select database mode of word storage.
# When "single" is specified, all words are stored in the same table.
# If "multi" is selected, words will be located in different tables.
# "multi" mode is usually faster but requires more tables.
# Default mode is "single".
# Parametrer la base pour stocker les index ici
# syntaxe DBAddr mysql://login:mot_de_passe@IP_ou_nom_hote/nom_de_la_base/?dbmode=single
DBAddr mysql://foo:bar@localhost/mnogosearch/?dbmode=single
....
######################################################################
# VarDir /usr/local/mnogosearch/var
# You may choose alternative working directory for
# search results cache:
#
#VarDir /usr/local/mnogosearch/var
VarDir /var/mnogosearch_3.2.39
.......
#########################################################################
#Server [Method] [SubSection] <URL> [alias]
# This is the main command of the indexer.conf file. It's used
# to describe web-space you want to index. It also inserts
# given URL into database to use it as a start point.
# You may use "Server" command as many times as a number of different
# servers or their parts you want to index.
#
# "Method" is an optional parameter which can take on of the following values:
# Allow, Disallow, CheckOnly, HrefOnly, CheckMP3, CheckMP3Only, Skip.
#
# "SubSection" is an optional parameter to specify server's subsection,
# i.e. a part of Server command argument.
# It can take the following values:
# "page" describes web space which consists of one page with address <URL>.
# "path" describes all documents which are under the same path with <URL>.
# "site" describes all documents from the same host with <URL>.
# "world" means "any document".
# Default value is "path".
#
# To index whole server "localhost":
#Server http://localhost/
#
# You can also specify some path to index subdirectory only:
#Server http://localhost/subdir/
#
# To specify the only one page:
#Server page http://localhost/path/main.html
#
# To index whole server but giving non-root page as a start point:
#Server site http://localhost/path/main.html
#
#
# You can also specify optional parameter "alias". This example will
# index server "http://www.mnogosearch.org/" directly from disk instead of
# fetching from HTTP server:
#Server http://www.mnogosearch.org/ file:///home/httpd/www.mnogosearch.org/
#
# Indiquer URL du site à indexer ici
Server http://www.monsite.com
# Indiquer URL à exclure ici
#Disallow *.toto
Installation du fichier cgi de recherche.
Copie du fichier cgi pour la recherche
Le fichier search.cgi est à copier dans le répertoire cgi du site.
On considere ici que le répertoire cgi du seveur web Apache est /var/www/cgi-bin.
cd /opt/mnogosearch_3.2.39/bin
cp search.cgi /var/www/cgi-bin
chmod a+x /var/www/cgi-bin/search.cgi
Mise en place et configuration du template de recherche
Récupérer le fichier http://mnogosearch.free.fr/download/search-I18N.zip
Et décompresser search-I18N.tar.gz dans le répertoire /opt/mnogosearch_3.2.39/etc
cd /opt/mnogosearch_3.2.39/etc
mv search.htm-dist search.htm-dist.ORI
gzip -d search-I18N.tar.gz
tar xvf search-I18N.tar.gz
Editer le fichier search.htm et mettez à jour les section suivante:
Pour la partie ci-dessous la variable DBAddr doit etre la meme que dans le fichier indexer.conf
...
#
# Database parameters are to be used with SQL backend
# and do not matter for built-in text files support
# Format: <DBType>:[//[DBUser[:DBPass]@]DBHost[:DBPort]]/DBName/[?dbmode=mode]
DBAddr mysql://foo:bar@localhost/udm/?dbmode=single
....
# Uncomment this line to enable search result cache
#Cache yes
Creation d'une base mysql.
Créer une base mysql pour stocker les index.
Par exemple en utilisant mysql-console :
>create database mnogosearch;
Et créer aussi un utilisateur mnogosearch avec les droits sur la base mnogosearch ou utiliser sinon le compte root.
Creation des tables dans la base dédié à mnogosearch
/opt/mnogosearch_3.2.39/sbin/indexer -Ecreate -d /opt/mnogosearch_3.2.39/conf/indexer.conf
Suppression des tables dans la base dédié à mnogosearch (à utiliser pour nettoyer la base)
/opt/mnogosearch_3.2.39/sbin/indexer -Edrop -d /opt/mnogosearch_3.2.39/conf/indexer.conf
Indexation du ou des site(s) web
/opt/mnogosearch_3.2.39/sbin/indexer -d /opt/mnogosearch_3.2.39/conf/indexer.conf
Test de recherche
Apres indexation de votre site, il vous reste plus qu'à accéder au formulaire de recherche via
le cgi search.cgi qui est dans le répertoire cgi de votre site web.
exemple : http://localhost/cgi-bin/search.cgi.
Attention : faite un ldd de search.cgi pour vous assurer que tous les librairies sont trouvés par le binaires.
Fin de la mise en place de Mnogosearch.
Une version amélioré du document suivra dans les prochaines semaines.