Libertempo est une application libre de gestion de (demandes de) congés.
Elle s'installe aisément sur un serveur LAMP, par exemple sous Debian GNU/Linux 9 : la procédure suivante reprend les instructions fournies sur le site de Libertempo.
Prérequis
Pour installer et utiliser correctement Libertempo, vous devez vous assurer que les outils suivants sont bien installés et configuré :
– Apache2,
– activer le module rewrite pour apache2,
– paramétrer un virtualHost,
– un accès à une base de données mysql/mariadb,
– PHP 7.0 minimum, php-mysql/php-mariadb, php-curl, php-gettext, php-mbstring,
– php-ldap si vous utilisez un annuaire LDAP,
– vérifier que la locale FR_fr est bien installé sur le serveur.
Dans le fichier php.ini :
-Dé-commenter la ligne « extension=php_pdo_mysql.dll » afin d’activer PDO.
– vérifier que le timezone est bien renseigné,
Les exemples qui suivent ont été testés sur une distribution DEBIAN, si vous utilisez une autre distribution, adaptez les commandes et actions à vos besoins.
Installation des paquets (LAMP)
apt install apache2 php libapache2-mod-php mariadb-client php-mysql php-curl php-gettext make
- Si vous ne disposez pas déjà d’un serveur de base de donnée:
apt install mariadb-server
- Si vous souhaitez utiliser un annuaire LDAP:
apt install php-ldap
Paramétrage d’apache2
Pour le bon fonctionnement de Libertempo, il est indispensable d’activer le module rewrite d’apache2, et de paramétrer un virtualHost.
- Activer le module rewrite
a2enmod rewrite
Configuration du virtualHost
Voici un exemple de virtualHost à adapter à votre installation :
<VirtualHost *:80>
ServerName [domaine LT]
DocumentRoot /var/www/repertoireLT
<Directory /var/www/repertoireLT>
Options None
AllowOverride None
Require all granted
</Directory>
RewriteEngine On
# Forbidden resources
RewriteRule ^(/dump/|/backup/|/vendor/libertempo/api/configuration.json$) - [F]
# API redirection
RewriteRule ^/api(/|$) /vendor/libertempo/api/Public/index.php [PT]
# Main redirection
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /Public/index.php [NS,PT]
</VirtualHost>
Installation de Libertempo
Installation à partir de Libertempo Akhaten
Depuis la version 1.12 de Libertempo, l’installation s’effectue uniquement en ligne de commande. Pour déployer Libertempo, vous devez impérativement avoir accès au terminal du serveur hébergeant Libertempo.
1. Assurez vous de disposer de tout les prérequis
2. Téléchargez et copiez le contenu de l’archive dans l’arborescence du site web :
tar xzf Libertempo.tar.gz -C /var/www/
3. Attribuer les bons droits sur les fichiers et dossiers :
chown -R www-data:www-data /var/www/Libertempo
4. Copiez le fichier cfg/env_new.php vers cfg/env.php
5. Paramétrez le fichier cfg/dbconnect.php
6. Dans un terminal, depuis la racine du site (ici /var/www/Libertempo) exécutez la commande :
make install
Quelques questions vous seront posées pour configurer correctement l’application. En cas d’erreur, la procédure s’arrête et vous devrez recommencer.
L’installateur vous demande finalement un utilisateur. Si vous souhaitez utiliser LDAP, SSO ou CAS, veillez à saisir un nom d’utilisateur connu de ce service pour que la correspondance opère.
Pour plus d’informations sur les capacités de la commande make c’est ici.
Installation (avant version 1.12)
-
-
- Téléchargez et copiez le contenu de l’archive dans l’arborescence du site web :
tar xzf Libertempo.tar.gz -C /var/www/
-
-
- remettre le bon propriétaire sur les fichiers :
chown -R www-data:www-data /var/www/Libertempo
-
-
- copiez le fichier cfg/env_new.php vers cfg/env.php
- Paramétrez apache (virtualhost)
- rendez vous sur le formulaire d’installation (http://votre.serveur/Libertempo/install/) puis suivez les instructions.
connexion impossible?
Vous n’arrivez pas à vous authentifier à Libertempo après une installation ou une mise à jour, vous avez certainement un problème d’accès à l’API. Pour vérifier cela, vous pouvez exécuter en ligne de commande :
make check
Cette commande permet de vérifier certains points nécessaires au fonctionnement de Libertempo.
Si vous obtenez le message suivant :
[ERREUR] L’API semble inaccessible. Vérifiez la configuration d’apache.
make: *** [Makefile:20: check] Error 1
Suivez le conseil de ce dernier, vérifier la configuration du virtualHost d’apache. Si vous testé Libertempo localement, donc sans dns, vous devez déclarer le nom de domaine dans /etc/hosts.
Pour aller plus loin, vous pouvez aussi utiliser le plugin RESTED </> pour Firefox ou Chrome.
Virtual host pour Debian GNU/Linux 9
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName conges.aurorae.solutions
ServerAdmin fabrice@aurorae.solutions
DocumentRoot /var/www/html/conges
RewriteEngine On
# Forbidden resources
RewriteRule ^(/dump/|/backup/|/vendor/libertempo/api/configuration.json$) - [F]
# API redirection
RewriteRule ^/api(/|$) /vendor/libertempo/api/Public/index.php [PT]
# Main redirection
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /Public/index.php [NS,PT]
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
# SSL
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/conges.3dmm.fr/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/conges.3dmm.fr/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/conges.3dmm.fr/fullchain.pem
<FilesMatch ".(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
</VirtualHost>
</IfModule>