Phabricator – Partie 2
Cet article fait partie d’une série que je réalise sur l’outil Phabricator. Vous pourriez être intéressé de lire le premier article ici avant de vous lancer dans celui-ci ! Ce billet traite des subtilités que vous devriez maîtriser pour l’installation de Phabricator à des fins de test. Je ne prétends pas ici pouvoir vous aider à installer le progiciel pour un environnement de production avec toute la sécurité qui va avec. Vous aurez besoin de la documentation officielle pour ce faire.
Pré-requis
Avant tout, il vous faudra vous assurer de disposer au minimum d’un serveur virtuel qui vous permet d’installer deux ou trois choses. Pour ma part, je suis parti sur la base d’une VM tournant sous Ubuntu et disposant de 2 Go de RAM, 1 vCPU ainsi que 50 Go de stockage, que j’ai loué chez DigitalOcean. Le prix et la qualité du service y sont très intéressants, toutefois vous pourriez être tenté par une solution plus « locale » afin d’éviter le désagrément des clouds internationaux. Cela dit, c’est largement suffisant pour débuter, mais vous serez probablement heureux d’apprendre – pour ceux dont l’utilisation est intensive – que Phabricator peut être installé de manière à atteindre une haute disponibilité. Au vu de leur expérience chez Facebook, les créateurs n’aurait pas pu penser un outil sans cela.
Il vous faudra également un nom de domaine (ou un sous-domaine) que vous pourrez utiliser pour accéder à votre serveur. C’est toujours plus agréable que d’utiliser une adresse IP. Pour ma part, j’ai choisi « git.powerjpm.info ».
Installer les bases
Une fois votre serveur configuré avec les bases (appliquer les mises à jour, installer un certificat SSH et configurer le firewall un minimum, par exemple avec ufw), il vous faudra installer les applications nécessaires à faire tourner Phacility, à savoir principalement un serveur Web, PHP, MySQL et Git. Pour les plus pressés, voici un moyen rapide de tout installer, grâce à la procédure d’installation créée par Phacility:
$ mkdir /opt/phacility
$ cd /opt/phacility
$ curl https://secure.phabricator.com/source/phabricator/browse/master/scripts/install/install_ubuntu.sh > install_ubuntu.sh
$ chmod +x install_ubuntu.sh
$ ./install_ubuntu.sh
$ systemctl restart apache2
Assurez-vous ensuite de configurer votre nom de domaine au niveau Apache, par exemple en créant votre VirtualHost sous /etc/apache2/sites-available/monsite.conf (adaptez la configuration selon vos paramètres):
<VirtualHost *>
# Change this to the domain which points to your host.
ServerName git.powerjpm.info
# Change this to the path where you put 'phabricator' when you checked it
# out from GitHub when following the Installation Guide.
#
# Make sure you include "/webroot" at the end!
DocumentRoot /opt/phacility/phabricator/webroot
LimitRequestBody 33000000
<Directory "/opt/phacility/phabricator/webroot">
Require all granted
</Directory>
RewriteEngine on
RewriteRule ^(.*)$ /index.php?__path__=$1 [B,L,QSA]
</VirtualHost>
Enfin, activez le VirtualHost via les deux commandes suivantes (en partant du principe que votre fichier de VirtualHost Apache s’appelle « monsite.conf »):
$ a2ensite monsite.conf
$ systemctl reload apache2
Créer une base de données
Une fois votre serveur Web disponible et les fichiers d’installation de Phabricator récupérés, il va vous falloir une base de données MySQL exploitable. Pour ce faire, lancez les commandes suivantes. L’installateur de Phacility fera la suite. N’oubliez pas d’adapter les commandes selon vos besoins, notamment pour les noms d’utilisateur, de base de données et de mots de passe:
$ mysql
mysql> CREATE USER 'phabricator'@'%' IDENTIFIED BY 'password';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'phabricator'@'%';
mysql> exit
Lancer l’installation de Phabricator
Vous voilà paré pour lancer l’installation de Phabricator. Dernière ligne droite, positionnez-vous dans le répertoire d’installation du progiciel et exécutez les commandes suivantes (à adapter selon votre installation):
$ cd /opt/phacility/phabricator/
$ ./bin/config set mysql.user phabricator # Le user mysql créé
$ ./bin/config set mysql.pass password # Le mot de passe créé
$ ./bin/storage upgrade
Et voilà, plus qu’à aller chercher un café et prendre son mal en patience pendant que Phabricator s’installe. Vous aurez ensuite l’occasion de passer à l’interface Web pour le configurer. Je ne traiterai pas de configuration dans cette série (du moins pas pour l’instant) car l’essentiel est déjà disponible dans la documentation officielle. De plus, Phabricator vous notifiera des points non conformes à régler.
Ressources supplémentaires
Pour les personnes que cela intéresse, vous pouvez également retrouver la liste des commandes que j’ai effectuées (extraite de mon historique et un peu nettoyé pour ne pas vous ennuyer avec 50’000 « cd » et « ls ») ici:
- Liste des commandes durant l’installation
- Fichier « mail-cluster.txt » pour l’installation du mail provider
- Liste des commandes pour la configuration git over ssh
Photo d’entête: communauté Phabricator, le logo et le nom du progiciel sont soumis au TradeMark.