aegir est un outil web qui permet de piloter un parc de sites Drupal. Ce qu’on fait en général via des commandes drush (drush updb, drush fra, etc…) on peut le faire via un site web directement. C’est un site Drupal, qui pilote la gestion d’autres sites Drupal. Bien sûr, on pourrait faire tout ça et même plus via des scripts ou quelques outils de supervision.
L’intérêt c’est de donner à l’utilisateur (le client) la possibilité de créer des sites à la volé par exemple, ou de lancer des opérations sur plusieurs sites à la fois, sans « mettre les mains dans le cambouis ».
Il s’agit d’une installation mono-serveur dans le cas présent, sur une machine virtuelle contenant déjà un ensemble de sites Drupal qu’on souhaite migrer vers aegir afin de pouvoir gérer les sites dessus (mise à jour, clonage, backup).
Installation d’aegir
Je me place dans un contexte debian/apache/mysql/php classique pour un drupal 7 (ou 8). Je supposes que vous avez déjà installé drush.
Avant toute chose, il faut s’assurer de 3 choses :
- vous disposez du mot de passe root de MySQL
- vous êtes sudoer
- vous avez un nom de domaine (optionnel mais plus propre) aegir.mondomaine.com ou aegir-mondomaine.com de disponible.
Pour installer aegir, c’est simple :
echo "deb http://debian.aegirproject.org stable main" | sudo tee -a /etc/apt/sources.list.d/aegir-stable.list curl http://debian.aegirproject.org/key.asc | sudo apt-key add - sudo apt-get update sudo apt-get install aegir3
Optionnellement vous pouvez faire un ‘sudo mysql_secure_installation’ au préalable pour plus de sécurité (pour ma part, je fais confiance au sysadmin qui a installé la VM).
A partir de la, l’installateur va vous demander un nom de domaine pour le futur site aegir et le mot de passe root mysql pour créer sa base donnée.
Vérification de l’installation
Une fois l’installation effectuée, vous obtenez ceci :
- un user linux aegir
- son répertoire home avec tout une install dedans : /var/aegir
- un nouveau vhost
# apachectl -S VirtualHost configuration: wildcard NameVirtualHosts and _default_ servers: *:80 is a NameVirtualHost default server default (/etc/apache2/conf.d/aegir.conf:5) port 80 namevhost default (/etc/apache2/conf.d/aegir.conf:5) port 80 namevhost aegir.monsite.fr (/var/aegir/config/server_master/apache/vhost.d/aegir.monsite.fr:1)
Aegir va automatiquement créer des alias drush pour vos nouveaux sites. Mais, pour les obtenir, il faut être loggué en tant qu’aegir. Donc au lieu d’un drush status il faut faire :
su - aegir -c 'drush status' PHP configuration : /etc/php5/cli/php.ini PHP OS : Linux Drush script : /usr/local/bin/drush Drush version : 8.1.2 Drush temp directory : /tmp Drush configuration : /var/aegir/.drush/drushrc.php Drush alias files : /var/aegir/.drush/monsite.fr.alias.drushrc.php /var/aegir/.drush/hm.alias.drushrc.php /var/aegir/.drush/server_master.alias.drushrc.php /var/aegir/.drush/hostmaster.alias.drushrc.php /var/aegir/.drush/platform_hostmaster.alias.drushrc.php /var/aegir/.drush/server_localhost.alias.drushrc.php
So far so good.
Nous verrons dans un prochain article comment rajouter des sites existant au sein d’aegir.