Table des matières

Créer un environnement de test des outils ubuntu-fr

Pré-requis

Il est recommandé d'avoir des connaissances de base et des programmes standards du web pré-installés pour pouvoir se monter son environnement de test ubuntu-fr. Voici une liste non exhaustive des éléments à avoir et connaître. Si il en manque, n'hésitez pas à les ajouter.

Nous ne détaillerons pas la configuration des outils ci-dessus (virtual hosts, configuration, …).

Pour tester la documentation, reportez-vous à cette page plus récente

Les différents outils utilisés

La liste complète de nos projets web se trouve sur launchpad.

Installation

Nous installerons pour la suite tout dans le dossier /var/www/ qui est celui par défaut de la plupart des serveurs web. Commençons par créer un dossier de travail ubuntu-fr

cd /var/www/
sudo mkdir ubuntu-fr

Les serveurs web tournent habituellement avec l'utilisateur système www-data, il faut donc bien penser à vérifier que cet utilisateur a les droits d'écriture et de lecture sur le dossier créé. De même votre compte utilisateur doit avoir les droits d'écrire et de lire sur le dossier, le plus simple étant de l'ajouter au groupe www-data. Si vous avez des soucis de droits à un moment ou un autre, c'est souvent à cause de ces soucis de propriété des fichiers et des permissions dessus.

Pour donner les droits à www-data sur notre nouveau dossier :

sudo chown -R www-data:www-data /var/www/ubuntu-fr
sudo chmod -R ug+rw /var/www/ubuntu-fr

Les éléments « statiques »

Les éléments statiques ne nécessitent aucune configuration particulière, mis à part la configuration des hôtes virtuels associés. Pour les installer on va se servir simplement de la commande bzr.

cd /var/www/ubuntu-fr/
bzr branch lp:ubuntu-fr-static
bzr branch lp:ubuntu-fr-guide
bzr branch lp:ubuntu-fr-tour

Chaque commande crée son propre dossier dans lequel se trouvent tous les fichiers. Vous pouvez faire suivre la commande d'un nom de dossier personnalisé si vous ne souhaitez pas avoir le nom par défaut.

La documentation

On récupère pour commencer le code présent sur Launchpad avec la commande bzr.

cd /var/www/ubuntu-fr/
bzr branch lp:ubuntu-fr-doc

Les fichiers obtenus sont la copie de ce que nous avons en production, mais il manque quelques éléments.

Les données

Le dossier data contenant les pages, les index, et tout un tas d'autres informations est manquant. Vous pouvez reprendre le dossier data fourni avec un dokuwiki normal pour le remplacer, et le copier dans le dossier de la documentation (dans /var/www/ubuntu-fr/ubuntu-fr-doc/).

Si vous placez cette documentation sur un serveur accessible de l'extérieur, il est recommandé d'activer le robots.txt en utilisant le fichier d'exemple fournit afin que votre version ne soit pas indexée par les moteurs de recherche.

cd /var/www/ubuntu-fr/ubuntu-fr-doc
cp robots.txt.dist robots.txt

La configuration

Ensuite nous allons configurer cet outil relativement à votre installation. Tout se passe dans le dossier conf ou vous avez un fichier local.protected.php.dist qui contient tous les éléments propres à l'environnement local.

cd /var/www/ubuntu-fr/ubuntu-fr-doc/conf
cp local.protected.php.dist local.protected.php

On modifie ce fichier qui n'a pas grand chose à changer au final. Attention de bien laisser la ligne qui permet d'éloigner les moteurs de recherche :

$conf['is_dev'] = 1;

Ensuite le deuxième élément simple à modifier est l'emplacement des fichiers statiques, par défaut réglé sur nos serveurs de développement. Pointez la valeur de $conf['static_host'] sur votre propre serveur.

L'authentification

Enfin, la partie la plus compliquée est l'authentification.

Elle est réglée par défaut à $conf['authtype']='plain';. Cette configuration est suffisante pour faire vos tests, mais elle ne fonctionnera que si vous créez le fichier users.auth.php en renseignant un ou plusieurs comptes utilisateurs, ce fichier étant présent dans le même dossier de configuration.

Pour utiliser la base de donnée du forum comme nous, il faudra commenter la ligne contenant ce plain et dé-commenter tout le bloc précédent en renseignant les éléments d'authentification à la base de donnée de votre version du forum. À partir de là, la configuration des utilisateurs et des groupes d'utilisateurs est faite par le forum.

Astuces

Si on souhaite avoir plusieurs versions du code de la documentation (la version en production et une ou plusieurs versions de travail avec ses propres modifications pour les tester par exemple), il est intéressant d'externaliser le dossier data ainsi que le fichier de configuration local.protected.php et de les remplacer par des liens symboliques. Ceci permet par exemple de supprimer facilement un dossier avec le code sans toucher aux données, et également de ne pas dupliquer ces données entre les différentes versions de travail.

Le forum

On récupère pour commencer le code présent sur Launchpad.

cd /var/www/ubuntu-fr/
bzr branch lp:ubuntu-fr-forum

Les fichiers obtenus sont la copie de ce que nous avons en production, mais il manque quelques éléments.

La base de données

Créez une base de donnée avec un utilisateur et son mot de passe. Pré-chargez les tables et données de test contenus dans ce fichier sql (~7Mio).

mysql -u [utilisateurbdd] -p [nombdd] < ufr_forum_test.sql

La configuration

Tout se passe dans le fichier config.php, et il vous faudra au préalable avoir une base de donnée prête et préchargée avec les tables.

cd /var/www/ubuntu-fr/ubuntu-fr-forum
cp config.php.example config.php

Renseignez dans ce fichier les éléments pour accéder à votre base de données, mais surtout laissez le préfixe en place (c'est celui utilisé dans notre fichier sql). Vous pouvez là aussi définir l'emplacement de vos fichiers statiques, en précisant le chemin vers le thème employé. Il y a également une référence à l'outil de statistique piwik que vous pouvez passer à 0.

Connectez-vous ensuite sur le forum (si tout s'est bien passé) afin de modifier les derniers points de configuration dans la partie administration > options (principalement les URL de votre instance du forum), sans quoi certaines actions seront désactivées ou certaines redirections seront mauvaises.

Pour finir videz le dossier de cache du forum et rafraîchissez la page. Il vous demandera peut être une mise à jour de la base de donnée après cela.

cd /var/www/ubuntu-fr/ubuntu-fr-forum
rm cache/*

Les accès

Les comptes et accès ont été anonymisés, et quelques comptes de tests sont disponibles :

identifiant mot de passe privilèges
admin admin Tous les droits
moderateur modo modération de base
membre membre utilisateur normal
modoplus modoplus modérateur avancé
adminwiki adminwiki administrateur de la doc
tu peux aussi utiliser ton numéro utilisateur et le mot de passe associé à tes privilèges sur le forum

Ces accès sont les même sur la documentation si tu as configuré celle-ci pour utiliser la base de donnée du forum.

Les sites sous Drupal

Les branches des sites sous Drupal ne contiennent que les éléments propres aux sites, et non le code de Drupal.

Dans les grandes lignes, on télécharge et décompresse la dernière version de Drupal 7, on récupère le code sur launchpad dans son propre dossier, et on lie tout ça de façon propre. On garde le code présent sur launchpad en dehors du dossier de Drupal pour pouvoir réutiliser ce dernier qui reste propre, juste en le copiant autant de fois que nécessaire et en rechangeant le lien symbolique.

Le portail

Dans tous les cas on commence par le portail.

cd /var/www/ubuntu-fr/
wget http://drupalfr.org/sites/default/files/drupal-7.latest.tar.gz
tar xvzf drupal-7.*
mv drupal-7.* drupal-www
bzr branch lp:ubuntu-fr-www
cd drupal-www
rm -R sites
ln -s ../ubuntu-fr-www/sites sites

Nous utilisons une base SQLite dont vous pouvez télécharger un exemple (336ko), mais vous pouvez très bien utiliser un autre moteur de base de donnée. Pour la configuration de la base et de votre installation, il faut modifier le fichier sites/default/settings.php.

cd /var/www/ubuntu-fr/ubuntu-fr-www/sites/default
cp settings.php.exemple settings.php

Renseignez dans ce fichier l'emplacement de votre base SQLite, et les URL de votre configuration personnelle pour les différentes variantes. Le portail étant sur le dossier default il répondra correctement à toutes les URL.

Un accès est pré-configuré avec comme identifiant admin et mot de passe admin.

Le planet

On continue avec le planet.

cd /var/www/ubuntu-fr
bzr branch lp:ubuntu-fr-planet
cd drupal-www/sites
ln -s ../../ubuntu-fr-planet/sites/planet.ubuntu-fr.org planet.ubuntu-fr.org
cp sites.php.exemple sites.php

La dernière commande permet de modifier les URL d'accès suivant votre configuration locale. Modifier le fichier sites.php et renseignez les bonnes valeurs pour les URL locales.