nasgaia.org en local avec Subversion

Ceci est la procédure pour se faire une copie locale du site nasgaia.org chez soi, en passant par le dépôt subversion hébergé chez Gna!. Si vous récupérez la copie via un login de membre de Gna!, vous pourrez également faire profiter de vos corrections à l’ensemble de la communauté.

Introduction

La copie va se faire en plusieurs étapes. En effet, avoir avoir récupéré le site, il va falloir le configurer. Aucune configuration par défaut n’est donnée, car cela permet ensuite de mettre à jour sa copie locale depuis le dépôt central sans perdre cette configuration ; permettant ainsi de tester le site directement depuis cette copie, et non depuis un autre répertoire, qu’il faudrait mettre à jour à chaque update.

Notez également que vous ne récupérerez pas les données stockées en base, car l’accès depuis chez vous est impossible (question de sécurité), et la synchronisation entre le dépôt subversion et le site réel de Nasgaïa l’est encore moins. Cela concerne :

  • les forums ;
  • le Wiki ;
  • le backend d’administration Na².

Récupération du site localement

La première étape est bien-sûr de récupérer une copie du site. Vous pouvez le faire anonymement ou en tant qu’un des membres du projet nasgaia sur Gna!.

Placez-vous dans un répertoire dans lequel le site sera copié, et tapez la commande checkout de subversion :

$ cd ~/nasgaia && mkdir nasgaia.org    # le mkdir est optionnel
$
$ # si vous le faite anonymement :
$ svn co svn://svn.gna.org/svn/nasgaia/trunk/website nasgaia.org
$
$ # ou si vous le faite en tant que membre (avec <membre> votre nom de membre) :
$ svn co svn+ssh://<membre>@svn.gna.org/svn/nasgaia/trunk/webiste nasgaia.org

Normalement vous devez maintenant avoir le site dans le répertoire ~/nasgaia/nasgaia.org (vous pouvez bien-sûr choisir un autre emplacement et un autre nom).

Configuration du serveur http local

La deuxième étape est de configurer votre serveur web perso (sur votre machine) pour intégrer ce site. Les configurations entre distributions, voire même configure-make-make_install‘ed sont tellement disparates qu’il est impossible de donner la procédure pour chacune, je vais toutefois en donner deux, suivant des schémas habituels (il faudra bien-sûr adapter à votre configuration).

Inventaire

Tout d’abord, faisons un inventaire des prérequis :-). Vous devez disposer au minimum :

  • d’un serveur http fonctionnel (apache2 pour ne pas citer le plus commun) ;
  • de Php 4 activé sur ce serveur http (appel du moteur php lorsqu’il rencontre des scripts php) ;
  • d’une base de donnée mysql avec une base de donnée (de préférence spécifique pour notre usage, avec un utilisateur ayant des privilèges dessus).

Droits

Ensuite, vous remarquerez que tous les fichiers récupérés vous appartiennent, hors bien souvent, le serveur http est lancé avec un utilisateur/groupe spécifique (www ou apache ou www-data ou encore autre chose). Il va falloir donner des droits à cet utilisateur/groupe sur les fichiers.

Le plus simple est peut-être :

  • de vous ajouter à ce fameux groupe ;
  • via root de changer de propriétaire : chown -R www-data:www-data /home/<vous>/nasgaia/nasgaia.org
  • toujours en root d’autoriser l’écriture au groupe : chmod -R g+w /home/<vous>/nasgaia/nasgaia.org

Ce cette façon les fichiers ne vous appartiennent plus, mais vous pouvez les modifier. Une autre solution similaire :

  • de vous ajouter à ce fameux groupe ;
  • de changer le groupe des fichiers : chgrp -R www-data /home/<vous>/nasgaia/nasgaia.org
  • d’autoriser l’écriture au groupe : chmod -R g+w /home/<vous>/nasgaia/nasgaia.org

Référencer notre site

Ensuite il faut dire au serveur http comment accéder à notre site, et comment le publier. Il y a deux possibilités avec le site de Nasgaïa :

  • en sous-répertoire de votre racine web (http://localhost/nasgaia.org par exemple), c’est la méthode la plus simple ;
  • en serveur web virtuel avec quelques manipulations (http://nasgaia.local par exemple) ; si vous optez pour cette solution, je pars du principe que vous savez configurer votre serveur http pour le faire, et ne détaillerai pas la procédure (personellement, j’ai choisi ça pour mon apache, car j’ai plusieurs site en parallèle).

Pour ajouter le site à votre racine de document web, en tant que sous-répertoire, il n’y a rien de plus simple. En partant du principe que vous pouvez créer un fichier à cette racine (j’utiliserai /var/www pour l’exemple, mais cela peut être différent) :

$ cd /var/www
$ ln -s /home/<vous>/nasgaia/nasgaia.org

Le site sera alors accessible par l’url

http://localhost/nasgaia.org

Si vous essayez dès maintenant, vous verrez que le résultat n’est pas très probant (plein d’erreurs), on va y remédier tout de suite.

Configuration du site

Notes importante

Le site est prévu pour fonctionner dans le jeu de caractères UTF-8, donc la plupart des ficiers sont enregistrés dans ce codage. Il en va de même pour les données stockées en base. Pour être sûr que tout se passe bien, vérifiez toujours deux choses :

  • vous enregistrez vos modifications sur les fichiers dans ce jeu de caractères ;
  • vous modifiez les données en base suivant ce jeu de caractères (à la connexion pour phpmyadmin, au niveau du terminal pour mysql en ligne de commande).

La base

Tout d’abord, on va configurer le moteur du site (ba oui, on a fait les choses bien, et c’est ce qui permet de s’affranchir de la racine du site tout en proposant une arborescence complète de page). Dans le répertoire inc, vous devez trouver un fichier nommé config.php.inc ; copiez-le en config.php.

Si vous avez choisi la solution serveur virtuel (genre http://nasgaia.local), c’est tout pour cette partie ; on n’a pas besoin de re-configurer le fichier car il est prévu par défaut pour trouver le site à la racine (ce qui est le cas avec les serveurs virtuels).

Par contre, si vous avez publié le site dans un sous-répertoire de votre racine web, éditez ce fichier que vous venez de créer, et modifiez la valeur NGA_ROOT (qui vaut par défaut /). Par exemple, avec l’exemple donné dans le paragraphe précédent, on aura :

define('NGA_ROOT', '/nasgaia.org/');

Vous devriez maintenant accéder à la page d’accueil, et quasiment toutes les pages d’ailleurs, sans erreur. Si vous avez des problèmes d’inclusion, ou de page qui n’existe pas, vérifiez :

  • les droits sur les fichiers et répertoires (doivent être au moins lisibles par l’utilisateur qui fait tourner le serveur http) ; l’erreur la plus courante porte sur le fichier config.php que l’on vient de créer, suivant le umask de votre session ;
  • la valeur NGA_ROOT dans config.php

Les forums

Si vous voulez accéder à la page Support/Forums du site, vous allez devoir le configurer. Pour configurer punBB, c’est un peu comme pour le site. Dans le répertoire /support/forums/ vous allez trouver un fichier config.php.in que vous allez copier en .... config.php pardi :-). Vérifiez les droits sur ce nouveau fichier et éditez-le. Vous avez au minimum trois variables à modifier :

  • $db_name - le nom de la base de donnée dans laquelle stocker les forums, chez moi c’est nasgaia évidemment :-)
  • $db_username - le nom d’utilisateur mysql qui accèdera à cette base, chez moi c’est également nasgaia :-)
  • $db_password - le mot de passe de cet utilisateur, qui est chez moi introuvable ;-)

Si vous avez choisi la méthode simple (nasgaia.org dans un sous-répertoire), vous devriez aussi modifier cookie_path pour lui mettre la même chose que dans NGA_ROOT. Ce n’est pas obligatoire, mais si vous avez un autre punBB sur votre site, ils vont rentrer en conflit.

Surtout ne modifiez pas les valeurs $db_type et $db_prefix !

Ensuite, comme notre forum est déjà préconfiguré, on ne peut pas lancer l’installation pour créer les tables. Heureusement, ça a été prévu et vous disposez d’un script sql qui va le faire pour vous, en y mettant par la même occassion quelques données. Il faudra tout de même modifier certaines de ces données pour que cela fonctionne chez vous. Ce fichier s’appelle tables-forums.sql et se trouve dans le répertoire admin du site.

Je vous préconise l’utilisation de phpMyAdmin pour effectuer les modifications. Si vous ne voulez pas passer par un tel outil, je vous laisse le soins de traduire les instructions en commandes depuis l’utilitaire mysql.

  • Sélectionnez la base de données que vous avez configuré dans le fichier config.php du forum. Si vous avez choisi une base dédiée, elle devrait être vide.
  • Cliquez sur l’onglet SQL en haut de phpMyAdmin, puis sous le champ Emplacement du fichier texte cliquez sur Parcourir.... Allez chercher notre fichier tables-forums.sql, puis au retour, cliquez sur Exécuter. Normalement, la structure du forum est installée.
  • Sélectionnez la table forums_config (en cliquant sur le panneau de gauche sur l’icône à gauche du nom de table, pas sur le nom lui-même). Avancez d’une page (en cliquant sur le bouton >), vous devriez voir l’enregistrement o_base_url. Indiquez ici (en cliquant sur l’icône en forme de crayon à gauche de l’enregistrement) le chemin d’accès du forum ; toujours avec notre exemple, vous allez spécifier :
    http://localhost/nasgaia.org/support/forums/

Vous devriez maintenant être capable d’afficher les forums. Pour cela, rendez-vous sur votre site, et allez sur les forums. Si punBB vous affiche une erreur, il s’agit sûrement d’un problème de droits (par exemple, il ne peut pas écrire dans son cache). Vérifiez alors de nouveau les droits sur les répertoires. Rappelez-vous que ce n’est probablement pas votre utilisateur qui affiche les pages, mais celui de votre serveur http !

Pour vous connecter, c’est très simple, il n’existe qu’un utilisateur dans notre installation par défaut: Conseil Ethique :-). Son mot de passe est leconseil. Ce mot de passe a été spécialement créé pour les besoins de ce Howto, pas la peine donc d’essayer sur le site réel nasgaia.org ;-).

Le Wiki

Le Wiki est plus simple à configurer que le forum. En fait, suivant la méthode d’installation du site que vous avez choisi, vous pourriez ne pas avoir besoin de modifier quoi que ce soit.

En effet, si vous avez opté pour une installation en serveurs virtuels, la configuration du wiki convient parfaitement, car le répertoire correspond à la réalité (le wiki est accessble par /wiki).

Par contre, si vous avez mis le site dans un sous-répertoire, éditez le fichier conf/local.php est modifiez la ligne contenant la variable $conf[’basedir’]. Dans notre exemple, cela donnera :

$conf['basedir'] = '/nasgaia.org/wiki/';

Pour se connecter au Wiki, entrez admin en login, et la même chose (admin) en mot de passe. C’est tout :-).

Le backend d'administration : NA²

NA² (Nasgaïa Administration Area) est l’outil qui va permettre aux responsables d’équipe et au Conseil Ethique de gérer les membres du projet, ainsi que les projets auxquels ils sont affiliés. Pour l’instant, ce backend est en phase de développement, si vous voulez nous aider, n’hésitez pas.

Pour installer le backend, il faut juste installer les tables par le script install_tables.sql situé dans le répertoire admin. La procédure étant la même que pour les forums, je ne vais pas la répéter ici. Ensuite, comme les tables sont vides, la première connexion permettra de créer un membre d’administration (le premier a tous les droits :-) ). Il faut y accéder par le chemin /admin/ du site.

Note importante

Etant donné que le backend est en plein développement, il est possible que les tables bougent ou que de nouvelles soient créées. Dans ce cas vous avez deux solutions :

  • vous supprimez toutes les tables du backend (préfixées naa_), et vous les recréez par le script ;
  • vous faite manuellement les changements afin de ne pas perdre les données que vous avez rentré, mais dans ce cas, tout doit être fait sans assistance.

Conclusion

J’ai (riri) fait ce HOWTO volontairement détaillé pour que l’installation du site soit accessible au plus grand nombre. Même si vous ne comprenez pas toutes les étapes, vous pouvez les suivre pour avoir un site utilisable, et faire vos contributions sur les choses que vous comprenez :-).

 
web_svnhowto.txt · Dernière modification: 20/03/2006 08:27 par riri
 
Recent changes RSS feed Creative Commons License Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki