Installation de L'Insomniaque

Soumis par anarcat le mardi, 16 mars, 2004 - 19:21
Science et technologieL'Insomniaque

Voici la procédure pour faire une nouvelle installation de L'Insomniaque sur un serveur donné.

Prérequis

  • Apache
  • PHP
  • MySQL[1]
  • Une copie du code source[2]
  • Un backup de la base de données

Présomptions

  • on installe le tout sur la machine "example.com" dans le "DocumentRoot" de apache, et donc que le "checkout" sera accessible de http://example.com/drupal/core/. Évidemment, le code peut être placé ailleurs, il faut simplement modifier les URLs en conséquence.
  • une base de données a déjà été créée avec un usager/mot de passe y ayant accès

Procédure

  1. Faire un checkout[3] ou décompresser un backup du code source. Ceci créé une hiérarchie drupal/core, drupal/contrib et drupal/doc. C'est dans drupal/core que se trouve l'index.php qui fait rouler L'Insomniaque. drupal/core doit donc être accessible par le serveur web.
  2. Créer les liens symboliques: cd drupal ; sh makesymlinks.sh[4]
  3. créer un fichier de configuration dans core/includes. Le fichier de configuration doit être nommé comme le "base url", où les "/" et les ":" on été remplacés par des points (ici, c'est donc "example.com.drupal.core.php"). Ce fichier doit être un fichier PHP valide. Les variables à définir sont $baseurl et $dburl. L'array $languages doit aussi être modifié si on veut autre chose que l'anglais comme langue par défaut. Voir core/includes/conf.php pour des exemples et plus de détails.
  4. installer la DB: "gunzip -c dump.sql.gz | mysql -u user -p db" ou uploader l'image avec phpMyAdmin. Si l'on a pas d'image de la DB, on peut repartir "from scratch" avec le fichier database/core/database.mysql.
  5. configurations spéciales de Apache: AllowOverride All, pour permettre mod_rewrite et l'override de certaines variables PHP
  6. tester

Il est tout à fait possible que ceci ne fonctionne pas correctement, dans lequel cas il faudra immédiatement modifier cette documentation.

Notes

  • Les images ne sont évidemments pas dans le SVN/CVS, et donc toute la gallerie sera brisée, ainsi que les images dans les blocs, à moins que le répertoire images/ soit copié sous core/.

Pour ce qui est du serveur de production, il y a quelques petits détails.

  1. il faut faire un checkout de la branche "stable" (svn co svn://.../inso/branches/stable)
  2. faire un export pour enlever tous les fichiers inutiles (svn export stable export). Ces deux étapes peuvent être fusionnées en une seule avec la commande svn export svn://.../inso/branches/stable export
  3. puis faire un upload sur le serveur avec rsync ou ncftp, par exemple. On ne garde pas de checkout sur le serveur de production car Subversion n'y est pas installé, et d'ailleurs, on a pas toujours d'accès "shell". Ceci a pour "side effect" de décourager le développement sur la branche "stable".

Merger les changements entre les branches

Pour faire un merge, ça nous prend un checkout de la branche stable:

$ svn co https://anarcat.ath.cx/svn/inso/branches/stable/

On vérifie la version du dernier merge:

$ cd stable ; svn log | less


r884 | anarcat | 2004-03-28 18:37:20 -0500 (Sun, 28 Mar 2004) | 1 line

merge rev 883 (install defaults) into stable

On vérifie le diff depuis cette version pour voir ce que l'on va "merger":

$ svn diff -r884:886 https://anarcat.ath.cx/svn/inso/trunk/

Le "886", c'est la version courante du repo, on l'obtient quand on fait un checkout:

A stable/core/.htaccess Checked out revision 886.

Si tout est beau, on fait le merge:

$ svn merge -r884:886 https://anarcat.ath.cx/svn/inso/trunk/ U contrib/modules/wiki2xhtml/class.wiki2xhtml.php U contrib/modules/extrafilters/extrafilters.module $ svn status M contrib/modules/wiki2xhtml/class.wiki2xhtml.php M contrib/modules/extrafilters/extrafilters.module

On commit les changements sur la branche stable:

$ svn commit -m 'merge rev 884-886 (filter fixes) into stable' Sending contrib/modules/extrafilters/extrafilters.module Sending contrib/modules/wiki2xhtml/class.wiki2xhtml.php Transmitting file data .. Committed revision 887.

Il est important de mettre le numéro de version que l'on merge pour pouvoir faire les merges futurs plus facilement, jusqu'à ce que subversion supporte l'historique dans les merges.

--
[1] Drupal supporte d'autres DBs, mais c'est MySQL que nous utilisons
[2] ceci implique potentiellement d'avoir Subversion (SVN) d'installé.
[3] Pour faire un checkout sous SVN, on utilise une commande comme: "svn co FOO" où FOO est l'url où se trouve le "repo" du code source.
[4] si le système ne supporte pas les liens symboliques, examiner le fichier makesymlinks.sh et installer les bons fichiers à la bonne place. (Bonne chance)

Re: Installation de L'Insomniaque

by mathieu on 22 mars, 2004 - 14:07Score: 1

Mon expérience ... :

  • Il est important d'utiliser des directives "Directory" plutôt que Location dans la configuration d'Apache (plusieurs options ne fonctionnent pas avec Location).
  • Il peut être nécessaire d'activer la ligne (normalement commentée) "RewriteBase /drupal" dans le fichier .htaccess qui se trouve dans /core. Il faut évidemment changer /drupal pour le bon path...