L’article original se trouve ici.
Framadate est le logiciel de création de sondages que nous développons et proposons comme service en ligne. Il est initialement basé sur le logiciel Studs développé par l’université de Strasbourg et que nous avons largement remanié.
Installation
1 – Préparer la terre
Pour ma part, je débute avec une vm DEBIAN quasi vierge.
J’installe le serveur web apache 2 et quelques utilitaires.
apt-get install apache2 htop screen git php5 php5-intl mysql-server php5-mysql
service mysql start
service apache2 restart
Et avant de me lancer dans le noir, je fais un snapshot de ma vm.
Tout d’abord, connectez-vous en tant que root
sur votre serveur et créez un compte utilisateur framadate
ainsi que le dossier /var/www/framadate
dans lequel seront copiés les fichiers avec les droits d’accès correspondants.
useradd framadate groupadd framadate mkdir /var/www/framadate chown framadate:framadate -R /var/www/framadate
2 – Semer
Connectez-vous avec l’utilisateur framadate
: su framadate -s /bin/bash
Puis, téléchargez les fichiers de notre dépôt avec Git depuis le dossier /var/www/framadate
et basculez sur la dernière version stable (dans l’exemple 1.0.2).
cd /var/www/framadate git clone https://framagit.org/framasoft/framadate.git . git checkout 1.0.2
(Normalement ce point est déja traité) : Installez également l’extension php intl :
sudo apt-get install php5-intl
Framadate s’appuie sur le logiciel Composer pour importer les librairies dont il dépend. Pour l’installer, lancez la commande
php -r "readfile('https://getcomposer.org/installer') ;" | php
Moi là, comme ça j’ai une erreur : « Unable to create [..] Permission denied ».
On dirait que l’utilisateur Framadate ne peut pas créer le ou les répertoire(s) exigé.
Je vais donc passer en root pour relancer la commande.
su root php -r "readfile('https://getcomposer.org/installer') ;" | php
Par contre, suite à cela, tout ce qui est créé est restreins aux droits root.
On va donc corriger le tire pour l’utilisateur framadate
chown framadate:framadate -R /var/www/framadate
puis importez les librairies nécessaires
./composer.phar install
Sauf que là : même topo !
Je vois des messages d’erreur à gogo relatif à des problèmes de version php.
Celle qui s’est automatiquement installée chez moi est une 5.4.45, et à l’heure j’écris ces lignes, il semble que la version 5.5 soit requise … Damned !
3 – Arroser
MySQL
Il faut maintenant créer la base de données et configurer Framadate.
(Si vous ne l’avez pas fait depuis le début) Installez tout d’abord le paquet mysql-server
(notez le mot de passe root) et démarrez MySQL : service mysql start
Créez un utilisateur et une base de données framadate
. Sur votre serveur dédié vous pouvez utiliser PhpMyAdmin qui est souvent pré-installé, sinon voici comment faire avec Adminer.
Téléchargez Adminer en ligne de commande (toujours depuis le dossier /var/www/framadate
).
wget -O adminer.php http://www.adminer.org/latest-mysql.php
Attention, à ce stade la configuration du serveur web apache2 pointe sur le répertoire /var/www/html.
Par conséquent, je me place tout d’abord à cet endroit avant de charger l’utilitaire adminer.
cd /var/www/html wget -O adminer.php http://www.adminer.org/latest-mysql.php
Connectez-vous avec le compte root MySQL sur votre-nom-de-domaine.org/adminer.php
et cliquez sur « Créer une base de données ».
Remplissez le nom de la base de données et le type d’encodage, ici framadate
– latin_swedish_ci
.
Une fois créée, cliquez sur « Privilèges » et « Créer un utilisateur ».
Remplissez les champs Serveur localhost
, Utilisateur framadate
, Mot de passe, Privilèges `framadate`.*
et cochez la case All privileges
.
Par sécurité, vous pouvez supprimer le fichier adminer.php
qui n’est plus nécessaire.
rm /var/www/html/adminer.php
Framadate
Maintenant que la base de données est prête, il faut configurer Framadate pour pouvoir s’en servir.
Rendez-vous ensuite sur la page votre-nom-de-domaine.org/admin/install.php
. Et remplissez le formulaire avec comme chaîne de connexion mysql:host=localhost;dbname=framadate;port=3306
, l’utilisateur framadate
et le mot de passe tel que vous l’avez défini à l’étape précédente.
Alors, à ce stade un sript php check les prérequis (fournir capture écran ?) nous dit qu’il nous manque des droits en écriture sur un répertoire du type /var/www/framadate/admin. Ce qui est normal puisque – si l’on a respecté la recette – l’intégralité des droits sur /var/www/framadate est attribué à l’utilisateur « framadate ». Sachant que par défaut, lorsque l’on passe sur un navigateur web, c’est le compte www-data que le serveur web apache2 utilise !
Je décide donc de remédier à cela et donne les droits au dit utilisateur
chmod -R www-data:www-data /var/www/framadate
Et pourtant, cela n’arrange pas tout…
Et là : je bloque car je ne vois pas où se situe ce problème de dossier de compilation de templates …