FR  EN

Tutorial d'installation de Jorani

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

Prérequis

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

Pile LAMP

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!

Extension PHP OpenSSL

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

Extension PHP LDAP

Si vous souhaitez utiliser LDAP pour l'authentification de vos utilisateurs, vous pouvez l'installer comme suit :

sudo apt-get install php5-ldap

Pensez à relancer Apache !

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

Utilitaires

PhpMyadmin

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

Git

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

Installer Jorani

Récupérer les sources

Placez-vous dans le répertoire web :

cd /var/www/html/

Télécharger le fichier ZIP

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.3.0.zip
wget https://github.com/bbalet/jorani/archive/v0.3.0.zip
unzip v0.3.0.zip

Pensez à mettre à jour l'URL du fichier ZIP avec la dernière version. Et peut-être à changer les noms des répertoires.

Utiliser git

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

Installer la base de données

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

Configuration de Jorani

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'] = '';

Configuration du serveur web

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

Étapes supplémentaires

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';

Changer le trousseau de clés

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

Activer OPCache

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

Configuration avancée

Il est possible de configurer certaines options, afin d'activer des compléments ou d'adapter le logiciel à votre usage.

Quels sont l'utilisateur et le mot de passe par défaut ?

Après l'installation, vous obtenez une base de données quasiment vide avec l'utilisateur :

  • Identifiant par défaut : bbalet
  • Mot de passe par défaut : bbalet

Vérifier que tout fonctionne

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

 
 
Étiquettes :    tutorial 
Soutenez le projet !




Vous aimerez aussi

Comment gérer la liste de ses demandes d'heures supplémentaires ?

Jorani permet de gérer la liste de ses demandes d'heures supplémentaires avec la possibilité de les modifier du moment qu’elles sont encore au statut Planifié.

Page calendrier annuel

Jorani permet d'afficher les demandes de congés sous la forme d'un calendrier. Dans ce cas, toutes les absences d'un employé sur l'année.

Comment enregistrer les arrêts maladie?

Comment gérer les absences imprévues des employés? Par exemple, les les arrêts pour maladie. Comment les lister, les exporter, etc.

Page du rapport de liste des congés pris

Comment obtenir la liste des congés acceptés durant un mois et pour un groupe d'employés de votre organisation, puis l'exporter vers Excel.

Amélioration des performances dans la version 0.4.2

Nous avons optimisé le code applicatif et beaucoup travaillé sur la compatibilité avec PHP7 afin d'offrir des performances explosives.

comments powered by Disqus