Installation de Framadate
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é.
Voici un tutoriel pour vous aider à l’installer sur votre serveur.
N’hésitez pas à poser des questions dans les commentaires. Si vous êtes parvenu à l’installer, donnez-nous le lien vers votre instance et dites-nous dans quelle mesure ce tutoriel vous aura été utile
Informations
Dans la suite de ce tutoriel, les instructions seront données pour un serveur dédié sous Debian Wheezy avec une base de données MySQL, un serveur Apache, PHP 5.4 (minimum) et Git d’installés.
Nous supposerons que vous avez déjà fait pointer votre nom de domaine sur votre serveur auprès de votre registraire.
Installation
1 – Préparer la terre
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
Pour permettre la traduction des pages dans différentes langues, il faut installer php-gettext
s’il ne l’est pas déjà :
apt-get install php-gettext
Puis configurer les langues disponibles sur le serveur :
dpkg-reconfigure locales
Actuellement, Framadate est disponible en allemand (de_DE.UTF8), anglais (en_GB.UTF8), espagnol (es_ES.UTF8) et français (fr_FR.UTF8)
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
cd /var/www/framadate git clone https://git.framasoft.org/framasoft/framadate.git .
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
et importez les librairies nécessaires
./composer.phar install
3 – Arroser
MySQL
Il faut maintenant créer la base de données et configurer Framadate.
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
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
.
À la racine du dossier framadate se trouve un fichier install.mysql.sql
(que vous pouvez consulter aussi en ligne sur notre dépôt) permettant de créer les tables de la base de données et d’ajouter un sondage d’exemple. Cliquer sur « Requête SQL », copier le contenu de ce fichier dans la zone de texte et « Exécuter ».
Par sécurité, vous pouvez supprimer le fichier adminer.php
qui n’est plus nécessaire.
Framadate
Maintenant que la base de données est prête, il faut configurer Framadate pour pouvoir s’en servir.
Éditez le fichier app/inc/constants.php.template
qui contient les paramètres de configuration et enregistrez-le avec le nom constants.php
.
Le paramètres sont assez explicites (les chevrons doivent être enlevés).
const BASE = 'framadate'; const USERBASE = "framadate"; const USERPASSWD = 'votre-mot-de-passe'; const SERVEURBASE = 'localhost'; const BASE_TYPE = 'mysql';
Espace admin
Framadate dispose d’un espace d’administration de l’ensemble des sondages dans le dossier /admin
Pour en restreindre l’accès, il faut ajouter au fichier de configuration Apache de votre site web (fichier /etc/apache2/sites-enabled/votre-domaine.vhost
) ce bloc :
<Directory "/var/www/framadate/admin/"> AuthType Basic AuthName "Administration" AuthUserFile "/var/www/framadate/admin/.htpasswd" Require valid-user Order allow,deny Allow from all </Directory>
et créer le fichier .htpasswd
contenant l’utilisateur et le mot de passe autorisé.
htpasswd -bc /var/www/framadate/admin/.htpasswd utilisateur mot-de-passe
Réécriture d’URL
Pour activer la réécriture d’URL afin d’avoir des liens sous la forme http://votre-domaine.org/a1b2c3d4e5f6g7h8
au lieu de http://votre-domaine.org/studs.php?sondage=a1b2c3d4e5f6g7h8
. Il faut ajouter une ligne AllowOverride All
dans le fichier .vhost
pour autoriser l’utilisation des .htaccess sur votre domaine et créer un fichier /var/www/framadate/.htaccess
contenant ces directives :
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^([a-z0-9]{16})$ studs.php?sondage=$1 RewriteRule ^([a-z0-9]{24})/admin$ adminstuds.php?sondage=$1 </IfModule>
Et voilà ! Normalement, ça pousse tout seul