Bien que Jorani puisse fonctionner avec plusieurs types de serveurs web et dans dans des configurations variées (nginx, HHVM, PHPng, etc.), nous allons seulement décrire comment l'installer sur une distribution Linux Ubuntu Utopic (14.10), avec Apache et MySQL. Le principe pour les autres distributions étant à peu près les mêmes à part pour certains emplacements de fichiers de configuration et de nom de commande.
À l'issue de ce tutoriel, vous obtiendrez une installation dans un sous-répertoire (par exemple http://localhost/jorani/). Pour obtenir de l'aide supplémentaire (par exemple, pour faire une installation sur un sous-domaine ou chez votre hébergeur, etc.), je vous conseille de vous adresser à des forums d'entraide spécialisés (celui de votre distribution, votre hébergeur, etc.). Les gens présents sur ces forums ont l'habitude de ces environnements et vous répondront rapidement.
Veillez noter que l'utilisateur et le mot de passe par défaut sont : bbalet
Il existe plusieurs guides d'installation des composants nécessaires à Jorani. Ce n'est pas le but de cet article de rentrer dans les détails, mais simplement de vous fournir les commandes principales et un aide-mémoire. Par exemple, il est préférable de commencer toute installation par une petite commande magique qui vous évitera quelques déconvenues :
sudo apt-get update
Un autre exemple est la commande pour trouver l'adresse IP d'un serveur. Vous pouvez utiliser cette commande une fois que vous y êtes connecté (cela sera pratique pour tester l'installation depuis votre navigateur) :
ifconfig eth0 | grep inet | awk '{ print $2 }'
Enfin, s'il vous manque une des commandes utilisées dans ce guide, essayez simplement de l'installer en utilisant son nom. Par exemple, s'il vous manque unzip
, voici comment y remédier :
sudo apt-get install unzip
Vous devez installer ce que l'on appelle la stack LAMP (Linux Apache MySQL PHP). Veuillez noter que Jorani nécessite au moins la version 5.3 de PHP. Voici la commande pour installer l'ensemble de LAMP :
sudo apt-get install lamp-server^
Pensez à noter les mots de passe que vous avez choisis pendant l'installation des composants de la pile LAMP!
Afin d'accélerer la connexion (qui est cryptée), il est recommandé d'installer l'extension PHP SSL. Vérifiez que le module est installé avec la commande suivante :
php -r 'phpinfo();' | grep openssl
On peut l'activer via la commande suivante :
php5enmod openssl
Si vous souhaitez utiliser LDAP pour l'authentification de vos utilisateurs, vous pouvez l'installer comme suit :
sudo apt-get install php5-ldap
Bien entendu, à chaque fois que vous installez une extension PHP ou que vous modifiez la configuration du serveur web, il faut redémarrer le service web Apache:
sudo service apache2 restart
PhpMyadmin est une interface web de gestion de vos bases de données MySQL. C'est plus sympa que les lignes de commandes que je donne plus loin, mais c'est optionnel et déconseillé sur les serveurs de production. si toutefois vous souhaitez l'installer, voici la commande :
sudo apt-get install phpmyadmin
On peut installer les sources de Jorani en téléchargeant le fichier ZIP d'une des versions ou via git
. La commande set
à récupérer la version en cours de développement ou une des versions étiquetées (par exemple avec l'étiquette d'une version publiée). Pour installer cette commande :
sudo apt-get install git
Placez-vous dans le répertoire web :
cd /var/www/html/
C'est la procédure recommandée.
On peut installer les sources de Jorani en téléchargeant le fichier ZIP d'une des versions. Avec la commande wget
à qui on passe comme paramètre l'URL du fichier ZIP que l'on souhaite télécharger. Par exemple :
gzip --decompress v0.6.5.zip wget https://github.com/bbalet/jorani/archive/v0.6.5.zip unzip v0.6.5.zip
Pensez à mettre à jour l'URL du fichier ZIP avec la dernière version. Et peut-être à changer les noms des répertoires.
Si vous êtes joueur, vous pouvez récupérer la version en cours de développement avec cette commande (on appelle cela faire un clone) :
git clone https://github.com/bbalet/jorani.git
En revanche, on peut tout à fait ne récupérer que la dernière version stable. Une fois que l'on a cloné le code de Jorani (avec la commande précédente), on peut lister les versions puis récupérer la version avec une étiquette en particulier :
git tag -l git checkout tags/étiquette intéressante
N'oubliez pas de mettre à jour les dépendances du projet avec composer:
composer install --no-dev
On peut utiliser l'interface web de phpMyAdmin ou faire l'installation à la main. Lancez la commande mysql
depuis la console et saisissez un mot de passe, le cas échéant :
mysql -u root -p
Créez une base de données pour Jorani, ici nous l'appellerons lms
:
CREATE DATABASE IF NOT EXISTS lms;
Dire à mysql
d'utiliser la base de données lms
pour les opérations suivantes :
use lms;
Importer la base de données. Bien sûr, il faut adapter le chemin d'accès si vous avez installé Jorani dans un autre emplacement :
source /var/www/html/jorani/sql/lms.sql;
On peut en profiter pour créer un utilisateur ayant au moins les permissions SELECT, INSERT, UPDATE, DELETE et EXECUTE sur la base de données (changer ALL PRIVILEGES
dans l'exemple pour être plus restrictif) :
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON lms.* TO 'newuser'@'localhost'; FLUSH PRIVILEGES;
Quitter mysql
:
exit
Ouvrez le fichier de configuration de la base de données, ici j'utilise nano
, mais vous pouvez utiliser l'éditeur de votre choix (vim
, etc.) :
nano /var/www/html/jorani/application/config/database.php
Localisez les lignes de code suivantes et les adapter à votre configuration :
$db['default']['hostname'] = 'localhost'; $db['default']['username'] = 'root'; $db['default']['password'] = '';
Si vous êtes arrivé jusque là et que vous essayez de lancer Jorani, il est très probable que votre navigateur vous affiche cette erreur :
Not Found
The requested URL /jorani/home was not found on this server.
Apache/2.4.10 (Ubuntu) Server at xxx.xxx.xxx.xxx Port 80
La raison est que Jorani s'appuie sur la technique de réécriture d'URL et qu'il utilise un fichier .htaccess
. C'est énervant, mais ces deux fonctionnalités sont désactivées par défaut dans la configuration d'Apache. L'activation du module rewrite
est très facile (il faudra redémarrer Apache pour que la configuration soit prise en compte) :
a2enmod rewrite
Jetez un coup d'oeil dans le répertoire des sites web actifs (/etc/apache2/sites-enabled
). Si l'on prend l'hypothèse d'un serveur neuf, il ne devrait y avoir que le site par défaut :
nano /etc/apache2/sites-enabled/000-default.conf
Ajoutez ce bloc de configuration qu'il faut bien entendu adapter en fonction de votre cas :
<Directory /var/www/html/jorani> AllowOverride All Order allow,deny Allow from all </Directory>
Pensez à relancer Apache :
sudo service apache2 restart
Pensez à adapter la configuration du serveur e-mail en modifiant le fichier /config/email.php
. Par exemple, pour GMAIL :
$config['protocol'] = 'smtp'; $config['useragent'] = 'phpmailer'; $config['smtp_host'] = 'ssl://smtp.googlemail.com'; $config['smtp_user'] = 'my.account.@gmail.com'; $config['smtp_pass'] = 'my password'; $config['_smtp_auth'] = TRUE; $config['smtp_port'] = '465';
Nous vous conseillons de changer les clés publiques et privées. On peut mettre un chiffrage plus fort que 1024 bits, par exemple 2048 bits.
Vous pouvez effectuer cette action par le terminal :
cd /var/www/html/jorani/assets/keys/ openssl genrsa -out private.pem 1024 openssl rsa -in private.pem -outform PEM -pubout -out public.pem
Ou en utilisant une page web disponible à la racine de votre installation : http://localhost/jorani/testssl.php
Il est fortement recommandé d'activer OPCache afin de bénéficier des performances optimales.
Il faut pour cela localiser le fichier PHP.ini
utilisé par votre installation. Pour Apache :
/etc/php5/apache2/php.ini
Pour nginx :
/etc/php5/fpm/php.ini
OPCache permet de stocker dans un cache la compilation des fichiers PHP déjà visités. Jorani emploie environ 500 fichiers PHP différents. Modifiez la configuration par défaut de cette manière (souvent les lignes existent déjà, mais elles sont commentées à l'aide d'un point-virgule en début de ligne) :
opcache.enable=1 opcache.memory_consumption=128 opcache.max_accelerated_files=2000 opcache_revalidate_freq = 240
Pour activer le module OPCache :
sudo php5enmod opcache
Pensez à redémarrer le serveur web (Apache ou nginx). Là encore, il existe un fichier de test à la racine de l'installation de Jorani permettant de vérifier les paramètres d'OPCache: http://localhost/jorani/opcache.php. Il faudra autoriser ce script à être exécuté en modifiant cette constante au début du fichier :
define('OPCACHE_TESTER', TRUE); //Allow this script to run
Il est possible de configurer certaines options, afin d'activer des compléments ou d'adapter le logiciel à votre usage.
Après l'installation, vous obtenez une base de données quasiment vide avec l'utilisateur :
Il existe une page spéciale vous permettant de vérifier que Jorani est bien installé et pour vous aider à trouver les problèmes. Ouvrez votre navigateur à l'adresse (changer l'adresse du serveur avec l'adresse de votre serveur) : http://localhost/jorani/requirements.php
Les responsables des ressources humaines peuvent modifier n'importe quelle demande de congé, quel que soit son statut. Lire »
Jorani est compatible avec HHVM et nginx. Ce tutoriel vous explique comment réaliser une installation de haute performance. Lire »
Jorani permet de décrire votre organisation en termes de filiales, établissements, sociétés, services, équipes, etc. et d'y attacher des employés. Lire »
Jorani contient plusieurs dispositifs de sécurité afin de protéger votre vie privée et d'augmenter sa fiablité. Lire »
Jorani gère les jours fériés et non travaillés afin de calculer automatiquement la durée d'une demande de congés. Lire »