Linux



yannick
19 avril 2011

Recherche apache solr pour drupal 6 sous Ubuntu 10.04

J’ai décidé d’écrire ce petit guide pour l’intégration du module de recherche apache solr sous drupal parce que je devais l’intégrer à un projet et que la procédure expliquée à même le module m’a laissé un peu sur mon apétit. En efftet, si on suit le petit guide, tout se passe bien sauf pour un détail : l’installation du serveur apache solr. Je voulais pouvoir l’installer comme un service et non avoir à le partir directement avec la commande java, ce qui est très peu pratique pour un site web « live ». Seul bémol, cela vous prendra un serveur dédié ou un VPS pour povoir procéder à cette installation sinon, bien sûr, sur votre serveur local.

Installation de java

Tout d’abord, il faut avoir une version d’un java jdk pour rouler le serveur apache solr. Personnellement, j’y ai été avec celle de sun, mais vous pouvez (j’imagine !) utiliser la version qui vous convient.

su root
apt-get install sun-java6-jdk

Assurez-vous que tout s’est bien passé en tapant la commande

java -version

Vous devriez voir des informations concernant la version de java nouvellement installée.

Installation et configuration du serveur solr-jetty

apt-get install solr-jetty

À la fin de l’installation, le serveur ne démarrera pas puisqu’il faut aller éditer le fichier de configuration d’abord.

nano /etc/default/jetty

Voici les paramètres de configuration que j’ai utilisé

#mettre a 0 pour que le serveur puisse démarrer
NO_START=0
#vous pouvez le laisser à 8080, mais par défaut, le module drupal utilise 8983
JETTY_PORT=8983
#mettre le chemin de votre java jdk
JAVA_HOME=/usr/lib/jvm/java-6-sun

Démarrez le serveur solr-jetty

/etc/init.d/jetty start

Vérifier que tout fonctionne bien au http://localhost:8983/solr où 8983 est le numero du port que vous avez mis dans la configuration plus haut. Vous devriez arriver sur une page de bienvenue disant Welcome to Solr avec un lien vers l’admin. Si cela ne fonctionne pas, revérifiez vos paramètres de configuration. Vous pouvez vérifier aussi que tous les droits de lecture sont configurés pour tous sur les fichiers sous /etc/solr/conf et /user/share/solr.

Installation du module Apache Solr Search Integration

Si vous êtes rendu ici, vous n’êtes pas très loin de la réussite. Téléchargez le fichier de la version la plus récente pour drupal 6 à l’adresse http://drupal.org/project/apachesolr et extraire le contenu dossier dans le répertoire /sites/all/modules de votre installation drupal. Téléchargez le client php pour apache solr (la révision 22) comme suit :

cd [/chemin/vers/modules]/apachesolr/
svn checkout -r22 http://solr-php-client.googlecode.com/svn/trunk/ SolrPhpClient

Si vous n’avez pas l’application subversion (pour utiliser la commande svn), vous pouvez l’installer avec

apt-get install subversion

ou tout simplement télécharger le client php pour solr à l’adresse suivante http://solr-php-client.googlecode.com/files/SolrPhpClient.r22.2009-11-09.tgz et extraire le dossier sous le répertoire du module apachesolr.

Normalement, vous devriez avoir un dossier SolrPhpClient dans le répertoire du module apachesolr.

note: Si votre projet drupal est dans un système de révision et que vous utilisez la commande svn pour vous appropriez le client php, n’oubliez pas de supprimer les dossiers .svn avant de faire un commit !

Vous pouvez maintenant procéder à l’installation du module via l’interface de drupal (Apache Solr Framework && Apache Solr Search). Rendez vous à la configuration du module (admin/settings/apachesolr/settings) et normalement, vous devriez voir les messages suivant :

Apache Solr: Your site has contacted the Apache Solr server.
Apache Solr PHP Client Library: Correct version "Revision: 22".

Si vous avez un message d’erreur disant que le site ne peut contacter le serveur apache solr, assurez-vous que le port est bien le même que celui entré dans la configuration de jetty. Normalement, localhost pour l’hôte et /solr comme chemin devrait être correct.

Il ne reste plus qu’une seule étape pour que le tout fonctionne : copier les fichiers schema.xml et solrconfig.xml, disponibles dans le répertoire du module apachesolr dans le dossier de configuration de jetty :

cd [/chemin/vers/modules]/apachesolr/
mv /etc/solr/conf/schema.xml /etc/solr/conf/schema.xml.bak
mv /etc/solr/conf/solrconfig.xml /etc/solr/conf/solrconfig.xml.bak
cp schema.xml /etc/solr/conf/schema.xml
cp solrconfig.xml /etc/solr/conf/solrconfig.xml

le serveur devra aussi écrire dans le répertoire /usr/share/solr pour créer les index de recherche. Il faut donc changer le propriétaire du répertoire pour jetty :

chown -R jetty:jetty /usr/share/solr

et redémarrer le serveur solr-jetty

/etc/init.d/jetty stop
/etc/init.d/jetty start

visitez les pages http://localhost:8983/solr/admin/file/?file=schema.xml et http://localhost:8983/solr/admin/file/?file=solrconfig.xml et assurez-vous que l’attribut name des balise <config> et <schema> contient bien drupal-[version]

Et voilà, vous pouvez maintenant pleinement profiter du pouvoir de la recherche avec apache solr sous drupal 6. J’espère que ce guide a pu vous être utile, n’hésitez pas à y laisser des commentaires !

sudo mv /etc/solr/conf/schema.xml /etc/solr/conf/schema.xml.bak




Guillaume Legault
28 octobre 2010

Zone DNS et sous-domaines avec WHM

Ce post s’adresse principalement aux admins qui se servent de l’interface WHM/cPanel.

Si vous MODIFIEZ une entrée de type « A » pour un sous-domaine dans une zone DNS, et bien WHM n’ajustera pas automatiquement la config d’Apache si celle-ci contient déjà des blocks « virtualhost » associés à ce sous-domaine.

On doit aller modifier à la mitaine (old school way, yay!) la conf d’Apache pour ajuster les IP « bindés » aux sous-domaines.

* TOUJOURS FAIRE UN BACKUP AVANT *

Ensuite, pour vous assurer que les ajustements de la config seront pris en charge lors de futures modifications automatiques de celle-ci par WHM/cPanel, vous devez exécuter cette commande :

/usr/local/cpanel/bin/apache_conf_distiller --update

Pour vérifier que tout est OK, exécuter cette dernière commande :

/usr/local/cpanel/bin/build_apache_conf

Et finalement, ouvrez de nouveau la conf d’Apache et valider que les changements sont restés.

Version utilisée : WHM 11.26.20 sur Fedora 7 i686

Sur ce, bonne administration!





pierre-paul
19 août 2009

Navigateur par défaut de TweetDeck

J’ai récemment changé mon navigateur par défaut sous Ubuntu, à Firefox-3.5 plutôt que Firefox-3.0. Tout fonctionne bien et j’aime bien les petites améliorations à l’interface utilisateur, cependant mon TweetDeck continue d’ouvrir les liens dans Firefox-3.0. Ce n’est cependant pas la faute de TweetDeck, mais bien celle d’Adobe AIR (quelqu’un est surpris qu’Adobe ne fasse pas les choses comme il le faut sous Linux?). Ayant Google comme meilleur ami, je suis tombé sur quelques articles en anglais spécifiant comme changer le navigateur et j’ai décidé de faire ma propre version en français, avec la nouvelle version de AIR.

  • Pour changer les fichiers requis, vous allez avoir besoin de vim, nous
    allons éditer un fichier compilé et la majorité des éditeurs de texte
    ne suffise pas. Pour l’installer si ce n’est pas déjà fait : sudo
    apt-get install vim
  • Ouvrez une console (alt+f2 : gnome-terminal sous Ubuntu) et tapez sudo
    locate libCore.so
    . Si vous êtes sur Ubuntu, il ya des bonnes chances
    que le fichier soit dans /opt/Adobe Air/Versions/1.0/
  • Dirigez-vous vers le chemin indiqué et entrez dans le fichier avec sudo vim libCore.so.
  • Si vous avez la dernière version d’Adobe AIR, il faut se diriger vers
    la ligne 16104 (si vous êtes sur l’ancienne version, la ligne est 15500). Dans vim, tapez :16104 pour vous déplacer directement
    à la ligne.
  • Identifiez le mot firefox sur la ligne et effacez-le.
  • Une fois effacé, tapez :i qui va vous mettre en insert mode. Tapez browser (il est important de remplacer par un mot ayant le même
    nombre de lettres).
  • Ensuite, pesez sur le bouton Escape de votre clavier pour sortir du mode insert.
  • Taper maintenant :wq pour sauvegarder et quitter Vim.
  • Le plus difficile est maintenant fait. Il nous reste à créer un lien
    entre browser et votre navigateur de choix (chrome, konqueror ou
    firefox-3.5 dans notre cas). Il faut se déplacer vers le dossier
    « /usr/bin » ( cd /usr/bin/ ).
  • Pour faire le lien : sudo ln firefox-3.5 browser. Si vous utilisez un
    autre navigateur, remplacer firefox-3.5 par le nom de son exécutable
    qui devrait être dans le même dossier en principe.

J’espère avoir été assez clair et j’espère avoir aidé quelques personnes, si vous avez des questions, laissez-les dans les commentaires.





pierre-paul
27 juillet 2009

Python

Je me suis lancé récemment dans le Python, sans trop d’attente, mais avec un projet en tête. Étant donné que le projet était un projet personnel, me lancer dans un nouveau langage semblait être une bonne idée afin d’en apprendre un peu plus. J’ai été agréablement surpris de Python.

La page web de Python définit le langage comme : « dynamic object-oriented programming language » que je traduisais intérieurement à « langage de programmation hyper compliqué pour pas grand-chose », mais étant donné la popularité du langage, je ne pouvais pas au moins essayer. À mon grand plaisir, le python est très, très (encore une fois) très loin d’être compliqué. J’ai eu l’impression de retourner au primaire lorsque j’apprenais à faire des phrases. Autre chose qui m’a surpris, l’indentation. Elle est obligatoire et elle permet la compilation du programme. Heureusement, une fois le plug-in installé dans Éclipse, tout était bien géré. Le fait d’obliger l’indentation, oblige en quelque sorte au programme de rester propre.

Je n’ai pas eu le temps de m’y tremper assez pour pouvoir dire que c’est un bon ou un mauvais langage, mais je suis persuadé que pour ceux qui commencent la programmation, c’est un très bon point de départ. Énormément de projets open source sont faits en python ce qui permet de télécharger le code et de regarder la partie qui vous intéresse. Python n’est pas jeune, 15 ans environ, mais la version 3.* a seulement un an et la documentation n’est pas aussi rependue que je l’aurais voulu. Par contre pour la version 2.*, la documentation est omniprésente sur internet.

Finalement, pour ceux que ça intéresse, je vous invite à aller lire le guide du débutant sur Python.org (http://wiki.python.org/moin/BeginnersGuide) qui offre un guide pour ceux qui commencent la programmation et ceux qui sont déjà à l’aise avec des principes de programmation orientée objet. Dernier petit tuto que je trouve très bien : Ars nous montre comment construire un éditeur de blogue sous Ubuntu/Gnome avec python.

Dernière note importante, si vous avez des enfants autour de vous, il est important de ne pas se tromper entre python.com et python.org … Bonne lecture!





Guillaume Legault
29 mai 2009

Extensions chromées

Comme plusieurs, ce qui me retenait le plus d’utiliser Google Chrome, c’était l’absense de modules d’extension / plugins.

Chrome va bientôt supporter l’ajout d’extensions Yé!

Quelques détails :

  • Les extensions utilisent le HTML, JavaScript et le CSS et sont donc facile à écrire (pour les développeur)
  • Une fois une extension installée, pas besoin de redémarrer Chrome.
  • Les extensions sont prévues de rester compatibles sur les versions futures de Chrome.
  • Les extensions rouleront dans leur propre processus.
  • Les extensions s’afficheront tous de la même manière dans Chrome à l’aide de petits icones pour unifier l’apparence.
  • Les extensions seront téléchargeables à partir d’une gallerie semblable à celle offerte par Mozilla.

J’ai hâte de voir les extensions qui bloquent les Google Ads, ça ne me surprendrait pas que ce seront les premières à être disponibles. Il sera intéressant de voir comment Google va réagir.