Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
seeks [Le 03/01/2011, 00:28] 82.240.238.161 |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>Lucid internet moteur_de_recherche}} | ||
- | ---- | ||
- | ======Seeks, moteur de recherche libre====== | ||
- | {{ http://blog.pastoutafait.org/dotfiles/public/images/linux/seeks/seeks_logo_shadowed_transparent.png}} | ||
- | |||
- | Seeks est un moteur de recherche libre (sous licence AGPL). | ||
- | |||
- | Son objectif est de mettre en place un moteur ouvert, acentré, qui permette une recherche collaborative. A ce jour, seul un méta-moteur libre est disponible. | ||
- | |||
- | Nœud web public, de démonstration: (([[http://www.seeks-project.info/wiki/index.php/List_of_Web_Seeks_nodes|Liste des nœuds publics]])) : http://www.seeks.fr/ | ||
- | |||
- | |||
- | =====Installation===== | ||
- | |||
- | ====Installation par Launchpad ( recommandée )==== | ||
- | ==Installation== | ||
- | * [[:PPA|Ajoutez le PPA]] **ppa:theli48/seeks**((https://launchpad.net/~theli48/+archive/seeks)) dans vos sources de logiciels ; | ||
- | * [[:tutoriel:comment_modifier_sources_maj#recharger_la_liste_des_paquets|Rechargez la liste des paquets]] ; | ||
- | * [[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt://seeks|seeks]]**. | ||
- | |||
- | |||
- | ==Configuration, lancement== | ||
- | |||
- | Une fois le paquet installé, le script d'init /etc/init.d/seeks permet de lancer le démon. (se lancera tout seul après un redémarrage) | ||
- | Les fichiers de configuration sont disponibles dans le dossier /etc/seeks. | ||
- | |||
- | __/etc/seeks/config:__ | ||
- | |||
- | Permet la configuration du couple ip/port d'écoute (attention à ne pas laisser votre proxy ouvert) | ||
- | Par défaut, seeks écoute sur le port 8150 (depuis la version 0.3, il s'agissait du port 8118 pour les versions précédentes) | ||
- | |||
- | __/etc/seeks/httpserv-config:__ | ||
- | |||
- | Permet la configuration du couple ip/port d'écoute pour le serveur web intégré (port 8080 par défaut). | ||
- | L'usage du serveur web n'est pas obligatoire, l'architecture prévue initialement est bien de passer par le proxy. | ||
- | |||
- | |||
- | |||
- | __/etc/seeks/websearch-config et /etc/seeks/img-websearch-config:__ | ||
- | |||
- | Permet la configuration des métamoteurs texte et images (des)activation des moteur amonts, nombre de résultats par page, analyse de contenu, et timeouts divers | ||
- | |||
- | |||
- | __ | ||
- | /etc/seeks/lsh-config:__ | ||
- | |||
- | sert pour le chargement des listes de «stopwords» utilisés pour les fonctionnalités similar et cluster (inutile en l'état, permet uniquement l'ajout de langues au moteur) | ||
- | <note>L'emlacement des fichiers de configuration diffère si l'on compile à la main</note> | ||
- | |||
- | ====Compilation du proxy==== | ||
- | * [[:tutoriel:comment_installer_un_paquet|Installez les bibliothèques]] de compilation suivantes : **[[apt://autoconf,automake,libtool,libcurl4-gnutls-dev,libpcre3-dev,build-essential,libxml2-dev|autoconf automake libtool libcurl4-gnutls-dev libpcre3-dev build-essential libxml2-dev]]** | ||
- | * Lancer dans un [[terminal]] : | ||
- | <code> | ||
- | cd /usr/src | ||
- | |||
- | echo "on télécharge les sources" | ||
- | sudo apt-get install git-core | ||
- | git clone git://seeks.git.sourceforge.net/gitroot/seeks/seeks | ||
- | |||
- | cd seeks | ||
- | ./autogen.sh | ||
- | |||
- | echo "compilation" | ||
- | ./configure | ||
- | |||
- | make | ||
- | </code> | ||
- | |||
- | ==Relancer le proxy en cas de crash== | ||
- | |||
- | Il est peut être intéressant de relancer automatiquement en cas de crash ou autre problème réseau. Pour faire ça en vitesse, il est possible de le lancer dans une boucle : | ||
- | <code> | ||
- | while true ; | ||
- | do ./seeks ; | ||
- | done | ||
- | </code> | ||
- | |||
- | Ou solution plus propre : on peut utiliser Cron et lancer Seeks en tant que daemon. Il faut pour cela mettre la ligne suivant dans la [[crontab]] : | ||
- | <code> | ||
- | */5 * * * * root [ ! -f /var/run/seeks.pid -o -z "$(cat /var/run/seeks.pid 2>/dev/null )" -o ! -d "/proc/$(cat /var/run/seeks.pid 2>/dev/null)" ] && cd /chemin/vers/seeks/ && ./seeks --daemon | ||
- | </code> | ||
- | Et lancer Seeks en précisant le fichier .pid à utiliser et qu'il faut lancer le programme en tant que daemon : | ||
- | <code> | ||
- | ./seeks --daemon --pidfile /var/run/seeks.pid | ||
- | </code> | ||
- | |||
- | ====Installation de l'interface web (facultatif)==== | ||
- | |||
- | * [[:tutoriel:comment_installer_un_paquet|Installez les paquets]] suivants : **[[apt://lighttpd,php5-cgi,php5-curl|lighttpd php5-cgi php5-curl]]** | ||
- | * Lancer dans un [[terminal]] : | ||
- | <code> | ||
- | lighty-enable-mod fastcgi | ||
- | /etc/init.d/lighttpd force-reload | ||
- | </code> | ||
- | |||
- | Le script de recherche doit être copié dans un fichier nommé, par exemple, "search.php" à placer dans le "Document-Root" de votre serveur web, par défaut le répertoire "/var/www" : | ||
- | <file> | ||
- | <? | ||
- | |||
- | /* Copyright Camille Harang | ||
- | |||
- | This program is free software: you can redistribute it and/or modify | ||
- | it under the terms of the GNU Affero General Public License as | ||
- | published by the Free Software Foundation, either version 3 of the | ||
- | License, or (at your option) any later version. | ||
- | |||
- | This program is distributed in the hope that it will be useful, | ||
- | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
- | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
- | GNU Affero General Public License for more details. | ||
- | |||
- | You should have received a copy of the GNU Affero General Public License | ||
- | along with this program. If not, see http://www.fsf.org/licensing/licenses/agpl-3.0.html. */ | ||
- | |||
- | if (array_key_exists('HTTPS', $_SERVER) && $_SERVER['HTTPS']) $scheme = 'https://'; | ||
- | else $scheme= 'http://'; | ||
- | |||
- | $seeks_uri = 'http://s.s'; | ||
- | $proxy = 'localhost:8118'; | ||
- | $base_script = $_SERVER['SCRIPT_NAME']; | ||
- | $base_url = $scheme.$_SERVER['HTTP_HOST'].$base_script; | ||
- | |||
- | if ($_SERVER['REQUEST_URI'] == '/') { header('Location: '.$base_url.'/websearch-hp'); } | ||
- | else $url = $seeks_uri.str_replace($base_script, '', $_SERVER['REQUEST_URI']); | ||
- | |||
- | $curl = curl_init(); | ||
- | curl_setopt($curl, CURLOPT_URL, $url); | ||
- | curl_setopt($curl, CURLOPT_PROXY, $proxy); | ||
- | curl_setopt ($curl, CURLOPT_RETURNTRANSFER, 1) ; | ||
- | $header = array("Seeks-Remote-Location: ".$base_url); | ||
- | if (array_key_exists('HTTP_ACCEPT_LANGUAGE', $_SERVER)) $header[] = "Accept-Language: ".$_SERVER['HTTP_ACCEPT_LANGUAGE']; | ||
- | curl_setopt ($curl, CURLOPT_HTTPHEADER, $header); | ||
- | $result = curl_exec($curl); | ||
- | $result_info = curl_getinfo($curl); | ||
- | if(curl_errno($curl)) echo 'CURL ERROR: '.curl_error($curl); | ||
- | curl_close($curl); | ||
- | |||
- | header('Content-Type: '.$result_info['content_type']); | ||
- | |||
- | echo $result; | ||
- | ?> | ||
- | |||
- | </file> | ||
- | |||
- | |||
- | Le script est maintenant disponible à l'adresse http://localhost/search.php/websearch-hp | ||
- | |||
- | ==Ne pas conserver les logs de recherche== | ||
- | |||
- | Plusieurs solutions pour cela. La première et la plus simple consiste à classiquement rediriger les sorties de stderr vers /dev/null lors du lancement du proxy : | ||
- | <code> | ||
- | ./seeks 2> /dev/null | ||
- | </code> | ||
- | Mais il est également possible d'indiquer au serveur web de ne pas conserver les requêtes en utilisant les lignes suivantes : | ||
- | <code> | ||
- | $HTTP["host"] =~ "^your_node_address$" | ||
- | { | ||
- | accesslog.filename = "/dev/null" | ||
- | server.errorlog = "/dev/null" | ||
- | } | ||
- | </code> | ||
- | |||
- | =====Utilisation==== | ||
- | |||
- | il suffit de faire pointer son navigateur favori sur le proxy fourni par seeks. | ||
- | Lorsqu'une requête est effectuée sur un moteur de recherche que seeks connaît, il l'intercepte est effectue lui même la requête, avant de proposer les résultats. (ce comportement peut-être modifié en touchant le fichier /usr/share/seeks/plugins/websearch/patterns/qi_patterns) | ||
- | |||
- | ====Recherche==== | ||
- | |||
- | Le proxy est maintenant en fonctionnement, il est alors possible de l'interroger de deux manières, suivant comment il a été installé : | ||
- | * En configurant votre navigateur pour passer par le proxy : | ||
- | * il suffit de faire pointer son navigateur favori sur le proxy fourni par seeks (port par défaut: 8150). Lorsqu'une requête est effectuée sur un moteur de recherche que seeks connaît, il l'intercepte est effectue lui même la requête, avant de proposer les résultats. (ce comportement peut-être modifié en touchant le fichier /usr/share/seeks/plugins/websearch/patterns/qi_patterns) | ||
- | |||
- | * En interrogeant le serveur web intégré (port par défaut: 8080) | ||
- | |||
- | =====Configuration===== | ||
- | |||
- | Vous pouvez configurer le proxy (qui est basé sur [[Privoxy]]) grâce au fichier nommé "/usr/src/seeks/src/config". Ce fichier de configuration est similaire à celui de Privoxy. | ||
- | |||
- | Il est également possible de paramétrer le comportement du proxy concernant les recherches, par exemple en choisissant les moteurs à interroger, l'affichage d'une vignette représentant chaque résultat et le nombre de résultats par page, etc. Pour cela il faut éditer le fichier "/usr/src/seeks/src/plugins/websearch/websearch-config". | ||
- | |||
- | |||
- | =====Voir aussi===== | ||
- | * (en) [[http://www.seeks-project.info/site/|Site officiel de Seeks]] | ||
- | * [[http://www.drumbeat.org/project/seeks-project-decentralized-collaborative-web-search|Voter pour le projet Seeks sur la plate-forme Drumbeat de Mozilla]]. | ||
- | * [[http://www.seeks-project.info/wiki/index.php/User-Manual_Seeks_Bubs-0.2-SOLO|page d'utilisation officielle(en)]] | ||
- | * [[Yacy]] : autre moteur de recherche décentralisé et libre | ||
- | * [[http://www.seeks-project.info/wiki/index.php/List_of_Web_Seeks_nodes|Liste des nœuds web disponible]] : http://www.seeks.fr/ | ||
- | * [[http://blog.pastoutafait.org/billets/Pr%C3%A9sentation-de-Seeks-et-installation-sous-Debian-Lenny|Présentation de Seeks et installation sous Debian Lenny]] | ||
- | * [[http://www.seeks-project.info/wiki/index.php/Seeks_On_Web|Installation de l'interface web]] | ||
- | * [[http://forum.ubuntu-fr.org/viewtopic.php?id=384501|Discussion "Seeks"]] sur le forum Ubuntu-fr | ||
- | |||
- | ---- | ||
- | |||
- | //Contributeurs : [[:utilisateurs:psychederic|Psychederic]], ...// |