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.
- Savoir utiliser le terminal et ses commandes de base
- Avoir installé et savoir utiliser le gestionnaire de versions bazaar
- Savoir définir des hôtes virtuels et/ou altérer son fichier /etc/hosts pour définir de faux DNS
Nous ne détaillerons pas la configuration des outils ci-dessus (virtual hosts, configuration, …).
Les différents outils utilisés
La liste complète de nos projets web se trouve sur launchpad.
- les éléments statiques avec du HTML, du CSS et du JS, pour les thèmes et autres éléments communs.
- les guides système générés en suivant la documentation officielle
- la visite guidée générée avec la traduction du projet officiel
- la documentation utilise dokuwiki
- le portail Ubuntu-fr.org utilise Drupal
- le blog des traducteurs utilise Drupal
- le site ubuntu-party utilise wordpress
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.