Installation
Version 97 (Etienne Pallier, 06/24/2016 09:44 pm) → Version 98/388 (Etienne Pallier, 06/24/2016 11:47 pm)
h1. Labinvent 2.0 (cakephp3) - Installation
Cette page décrit la phase d'installation du logiciel.
[ [[Labinvent_nouvelle_version|Retour au sommmaire]] ]
{{toc}}
---
h2. LIENS UTILES
* HOWTO Format Redmine Wiki : http://www.redmine.org/projects/redmine/wiki/FrRedmineWikiFormatting
* *Fichier README* : https://gitlab.irap.omp.eu/epallier/labinvent/blob/master/README-LABINVENT.md
* *Version majeure en cours (2.04)*: https://projects.irap.omp.eu/projects/inventirap/roadmap#version_2.04_-_Impl%C3%A9mentation_des_ACL_(droits)
* Liste complète des évolutions: https://gitlab.irap.omp.eu/epallier/labinvent/commits/master
* Browse files (gitlab): https://gitlab.irap.omp.eu/epallier/labinvent/tree/master
---
h2. RECUPERATION
*1) Récupérer le logiciel*
Deux options se présentent à vous :
* a) soit vous récupérez une version statique du logiciel, en le téléchargeant
* b) soit vous récupérez une version synchronisée, avec git
*a) Download it (static version, not synchronized)...*
You can download the current version of the software.
Go to https://gitlab.irap.omp.eu/epallier/labinvent/tree/master
Click on "Download zip" on the up right hand corner.
Double-click on it to unzip it (or run "gzip -d labinvent.zip")
You should get a "labinvent.git" folder.
In this documentation, this software folder will be referenced as "LABINVENT".
(you can rename "labinvent.git" as "labinvent" if you want : "mv labinvent.git labinvent")
*b) ... or Get it from GIT (dynamic version, synchronized)*
(If you are using Windows, you must first get the git software, see below "Get git for Windows")
By getting the software from git, you will get a dynamically synchronized version,
which means that you will be able to update your version as soon as a new version is available
(with the command : "git pull").
* From Eclipse : See below, section "NOTES FOR ECLIPSE USERS"
* From the terminal
<pre>
git clone https://gitlab.irap.omp.eu/epallier/labinvent.git labinvent
</pre>
_(or also from ssh : git clone git@gitlab.irap.omp.eu:epallier/labinvent.git labinvent)_
If you ever get this error message... :
<pre>
fatal: unable to access 'https://gitlab.irap.omp.eu/epallier/labinvent.git/': Peer's certificate issuer has been marked as not trusted by the user.
</pre>
...then, type this command (and then run again the "git clone" command):
<pre>
$ git config --global http.sslVerify false
Then check that your config is ok:
$ cat ~/.gitconfig
[user]
name = Etienne Pallier
email = epallier@irap.omp.eu
[http]
sslVerify = false
[push]
default = simple
</pre>
(Also, the first time you get the project, git will ask you for a login and password)
This creates a labinvent/ folder containing the project (with a .git/ subfolder for synchronization with the git repository)
(Windows only) : Get git for Windows:
* Download git at https://git-scm.com/download/win
* Run setup (keep default configurations)
* Once installed, open cmd
<pre>
$ git config --global http.sslVerify false
</pre>
You can now use your git from the cmd or the graphic client !
*2) Préparation*
* Le dossier "labinvent" peut appartenir à root, mais il est préférable que vous en soyez vous-mêmes (ou un autre user) le propriétaire :
> sudo chown -R nom_utilisateur LABINVENT
* Placer cette archive à l'endroit voulu, 2 possibilités :
- (1) soit vous placez cette archive directement dans le repertoire des sites webs du serveur web (par exemple /var/www/html/localhost/public_html/)
- (2) soit vous la placez n'importe où ailleurs (par exemple dans votre repertoire home), et ensuite vous indiquerez au serveur web où trouver ce projet (ou bien vous ferez un lien depuis votre /var/www/html/ vers ce dossier labinvent/)
h2. INSTALLATION
h3. A/ PREREQUIS
Le logiciel nécessite une combinaison "AMP" pour fonctionner, soit les 3 pré-requis suivants :
* un serveur web Apache
* un serveur de base de données Mysql
* le langage Php en version 5.5.9 minimum (5.6 recommandé)
Si ce tiercé est déjà présent sur votre OS, vous pouvez passer à l'étape suivante (B/ Installation), et revenir ici seulement en cas de problème de configuration.
Sur Windows, vous pouvez utiliser Wampserver ou XAMPP qui regroupent ces 3 éléments (il n'y aura rien d'autre à faire ensuite).
Sur Mac, vous pouvez utiliser XAMPP (ou autre équivalent) ou bien installer chacun des 3 éléments séparément via MacPort.
Sur Linux, voici la démarche à suivre :
h4. *1) Installation des prérequis*
* Exemple pour Cent OS 6.7:
<pre>
Mettre à jour le serveur:
$ sudo yum kernel
(restart)
$ sudo yum update
Pour installer Apache, MySQL & PHP 5.3 :
--> https://www.zerostopbits.com/how-to-install-apache-mysql-and-php-on-centos-6-7/
Pour mettre à jour PHP de la 5.3 à la 5.6
--> https://www.zerostopbits.com/how-to-upgrade-php-5-3-to-php-5-6-on-centos-6-7/
Mettre à jour Mysql (version 5.1 à 5.5):
$ sudo yum update
</pre>
* Exemple pour une distribution UBuntu 14.04.4:
<pre>
Pour commencer il faut mettre à jour les "repository" de apt :
$ sudo apt-get update && sudo apt-get upgrade
Installer un serveur web (Apache) :
$ sudo apt-get install apache2
Installer un serveur de base de données (MySQL):
$ sudo apt-get install mysql-server
Installer le langage PHP en version 5.5.9 minimum (5.6 recommandé)
$ sudo apt-get install php5 php-pear
$ sudo apt-get install php5-mysql
</pre>
h4. *2) Configuration des prérequis*
* *(optionnel) Configuration du serveur web (Apache)*
* KeepAlive:
Editer le fichier /etc/apache2/apache2.conf et mettre le paramêtre "KeepAlive" à "Off" :
<pre>
KeepAlive Off
</pre>
* event et prefork modules:
Par défaut Apache utilise un "event module" et PHP un "prefork module".
Il faut désactiver le 1er module et activer le second :
<pre>
sudo a2dismod mpm_event
sudo a2enmod mpm_prefork
</pre>
* Activer le mode rewrite de Apache:
<pre>
sudo a2enmod rewrite
</pre>
* *Configuration de Php*
* Extension PHP "intl":
(Pour savoir quelle configuration est utilisée : php --ini)
Vérifier qu'elle est activée dans le php.ini
<pre>
php --ini|grep intl
Sinon, l'ajouter dans le php.ini:
extension=intl.so
</pre>
Vérifier qu'elle est bien installée :
<pre>
$ php -m| grep intl
(ça devrait retourner "intl")
Sinon, l'installer
Ubuntu:
$ sudo apt-get install php5-intl
CentOS:
$ sudo yum install php-intl
MacOS avec XAMPP:
cf http://stackoverflow.com/questions/27886117/php-intl-installation-on-xampp
Il se pourrait que vous ayez besoin de ré-exécuter l'installeur de XAMPP afin de cocher l'option "XAMPP Developer Files", si vous ne l'aviez pas déjà fait lors de votre installation de XAMPP
cd /Applications/XAMPP/bin
sudo ./pecl install intl
(Vérifier qu'elle a bien été installée dans /Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20131226/)
</pre>
* (optionnel) Dossier de log:
Dans le fichier /etc/php5/apache2/php.ini, vous devez positionner votre répertoire de log :
<pre>
error_reporting = E_ALL
error_log = /var/log/php/error.log
max_input_time = 30
</pre>
Ensuite il faut créer le dossier en question et donner à apache (ici www-data) les droits sur ce dossier :
<pre>
sudo mkdir /var/log/php
sudo chown www-data /var/log/php
</pre>
* *Recharger la configuration du serveur Web*
<pre>
$ sudo service httpd reload
</pre>
h3. B/ INSTALLATION
* Aller dans le repertoire d'installation :
cd install/
* Exécuter le script d'installation :
./installation.sh
(vous pourriez éventuellement le faire en tant qu'administrateur "root", mais ça n'est pas nécessaire, le script fera quelques petits "sudo" seulement au besoin).
(Conseil : à la plupart des questions, laissez les réponses par défaut)
---
h3. C/ CONFIGURATION DU SITE WEB
* Autoriser les fichiers .htaccess sur le site :
(cf http://book.cakephp.org/3.0/fr/installation.html#url-rewriting)
<pre>
Allez dans le fichier /etc/apache2/apache2.conf (ou httpd.conf sur CentOS), vérifier que la propriété 'AllowOverride' soit à la valeur 'All' pour le chemin correspondant à votre application (dossier '/' si '/var/www' non présent) :
<Directory />
Options FollowSymLinks
AllowOverride All
Order deny,allow
Deny from all
</Directory>
Sinon, vous pouvez ajouter ceci, uniquement pour Labinvent, les attributs seront à cette valeur uniquement pour le dossier labinvent et son contenu :
<Directory /labinvent>
Options FollowSymLinks
AllowOverride All
</Directory>
NB : si labinvent n'est pas dans le repertoire des sites webs, il faut mettre son chemin absolu a la place de /labinvent :
<Directory /chemin/abosolu/vers/labinvent>
NB: Il faudra sans doute aussi faire un lien dans le dossier web racine de Apache (/var/www/html/) vers le repertoire d'installation
NB: Une autre solution consisterait à créer un virtual host dédié
</pre>
* Redémarrer Apache
* Tester l'accès web à l'application : http://localhost/labinvent/
Vous devriez arriver par défaut sur une page correspondant au mode install, elle vous indique la bonne configuration de l'application et de ses dépendances. dépendances
Vérifier simplement (point vert) si votre base de données est bien reliée à votre application, si les droits donnés aux dossiers temporaires sont suffisants, et si toutes les extensions sont bien intallées...
(La page affichera un message si l'URL-Rewriting ne fonctionne pas correctement).
Si tout est au vert, passez à l'étape suivante (D/ Configuration de l'application). correctement)
S'il y a des points rouges, reportez-vous ci-dessous à l'extension qui pose problème, pour l'installer ou la configurer:
* Extension PHP "mbstring" et librairie "zlib"
La collection de librairies est normalement déja installée avec PHP en tant que dépendance, sinon faire :
<pre>
sudo apt-get install libapache2-mod-php5
</pre>
=> Redémarrer votre serveur et vérifier que la ligne correspondant à l'extension soit passée au vert.
* Librairie PHP "php-gd"
<pre>
sudo apt-get install php5-gd
</pre>
=> Redémarrer votre serveur et vérifier que la ligne correspondant à l'extension soit passée au vert.
Si ce n'est toujours pas le cas, aller dans le fichier /etc/php5/apache2/php.ini :
Vérifier que la ligne suivante est présente et décommentée (absence de ";" devant la ligne) sinon il faut la rajouter :
<pre>
extension=gd.so
</pre>
* (Optionnel) Il est aussi conseillé d'avoir un "phpmyadmin" installé pour pouvoir gérer manuellement la base de données.
<pre>
sudo apt-get php5-mcrypt
sudo apt-get install phpmyadmin
Pensez à activer l'extension mcrypt : sudo php5enmod mcrypt
</pre>
* Redémarrer votre serveur Web et vérifier que la ligne correspondant à l'extension soit passée au vert.
<pre>
sudo service apache2 restart
(ou simplement le recharger: utiliser "reload" au lieu de "restart")
</pre>
* URL-Rewriting
Il est possible que le mode rewrite ne fonctionne pas correctement si les fichiers .htaccess dans la racine et dans webroot disparaissent. Sur certains systèmes les fichiers commençant par un point peuvent disparaitre lors d'une copie. Si c'est le cas pour vous, voici le contenu de ces deux fichiers et leurs emplacements :
<pre>
Fichier ./.htaccess :
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
Fichier ./webroot/.htaccess :
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
</pre>
---
h3. D/ CONFIGURATION DU LOGICIEL D'INVENTAIRE
* Une fois les tests validés, allez sur l'application.
* Vous arrivez sur une page d'informations, vous pouvez également configurer les paramètres généraux de l'application.
* Une fois configurer vous pouvez stopper le mode install .
* Allez dans le dossier config à la racine du projet, et ouvrez le fichier ./config/app.php
<pre>
Allez à la ligne 12 :
'debug' => filter_var(env('DEBUG', true), FILTER_VALIDATE_BOOLEAN),
Et remplacer le true par false :
'debug' => filter_var(env('DEBUG', false), FILTER_VALIDATE_BOOLEAN),
</pre>
* Connectez vous à l'aide de l'utilisateur créer lors de la création de la base et sans mot de passe.
* Si vous n'avez pas configurer l'application avec le mode install
Dans le menu latéral, cliquez sur le lien "Outils", puis sur "Configuration générale de l'application".
* Sur cette page vous pouvez voir la configuration de votre application (nom, mode, ...) et l'éditer.
* Ensuite retourner dans la liste des outils et cliquez sur "Gérer le contenu variable de l'application".
* Sur cette page vous aurez accès à toutes les données statiques commune au matériels (catégories, groupe métier et technique, type de suivi, ...).
Vous pouvez en ajouter, en supprimer ou les éditer..
---
h3. E/ TESTS
* Nous vous conseillons de vérifier que les tests passent pour être sur que l'application est correctement installée.
* Placez-vous à la racine du projet et exécutez la commande suivante :
<pre>
vendor/bin/phpunit
</pre>
* Si ça ne marche pas, esssayer cette commande à la place:
<pre>
vendor/phpunit/phpunit/phpunit
</pre>
h3. F/ Gestion de l'authentification des utilisateurs (LDAP)
* Labinvent peut être utilisé avec un LDAP, si vous utilisez ce mode, ceci vous concerne :
* Une fois la connection au LDAP configuré (configuration générale de l'application), vous pouvez connecter un utilisateur de ce LDAP directement.
* Par défaut, un utilisateur provenant du LDAP a un statut de simple utilisateur, pour lui attribuer un rôle supérieur, il faut aller dans "gérer les utilisateurs privilégiés" du menu "outils".
* Puis il faut ajouter l'utilisateur correspondant (liste déroulante des utilisateurs du LDAP), en lui attribuant un rôle.
---
h2. MISE A JOUR du logiciel
1) Mettre à jour le code
Aller sur la racine du projet et exécuter :
<pre>
$ git pull
</pre>
2) [Seulement si nécessaire] Mettre à jour la base de données
Aller dans le dossier database/update/
*Exécuter tous les scripts qui sont d'une date postérieure à la date de votre version du logiciel* (sur la page d'accueil en bas à droite).
Attention, il faut les exécuter *dans l'ordre chronologique*, un par un
Exemple:
<pre>
Placez vous dans ./database/update et éxécutez les commandes correspondantes :
./db-update-2016-06-03.sh
./db-update-2016-06-06.sh
./db-update-2016-06-07.sh
</pre>
3) [Seulement si nécessaire] Ré-exécuter le script d'installation
4) [Seulement si étape 3 non effectué et si nécessaire] Exécuter le script de mise à jour du fichier de configuration (app.php)
<pre>
Placez vous dans ./install et entrez la ligne suivante :
./update-app-php.sh
</pre>
cd install/
./install.sh
Remarques :
* Le fichier README-LABINVENT.md contient la liste des mise à jour de la base.
* Le fichier contient également une liste des versions ou il faut exécuter le script d'installation et dans quel mode (n'éxécutez qu'une fois le script, si votre version était antérieur).
---
h2. MODE PANIQUE
Vous avez changé la configuration du LDAP et elle ne fonctionne plus !
Du coup, vous ne pouvez plus vous connecter au site !
Il faut donc repasser le logiciel en mode INSTALL pour pouvoir y accéder sans connexion.
Pour cela, exécuter la requête sql database/set_mode_install.sql sur la base de données:
<pre>
mysql -u login -p labinvent2 < set_mode_install.sql
</pre>
_Remplacer 'login' par le 'username' défini dans votre fichier config/app.php dans la section Datasources (default)_
_Remplacer 'labinvent2' par le 'database' défini au même endroit_
(ou bien exécuter cette requête depuis phpmyadmin)
Cette page décrit la phase d'installation du logiciel.
[ [[Labinvent_nouvelle_version|Retour au sommmaire]] ]
{{toc}}
---
h2. LIENS UTILES
* HOWTO Format Redmine Wiki : http://www.redmine.org/projects/redmine/wiki/FrRedmineWikiFormatting
* *Fichier README* : https://gitlab.irap.omp.eu/epallier/labinvent/blob/master/README-LABINVENT.md
* *Version majeure en cours (2.04)*: https://projects.irap.omp.eu/projects/inventirap/roadmap#version_2.04_-_Impl%C3%A9mentation_des_ACL_(droits)
* Liste complète des évolutions: https://gitlab.irap.omp.eu/epallier/labinvent/commits/master
* Browse files (gitlab): https://gitlab.irap.omp.eu/epallier/labinvent/tree/master
---
h2. RECUPERATION
*1) Récupérer le logiciel*
Deux options se présentent à vous :
* a) soit vous récupérez une version statique du logiciel, en le téléchargeant
* b) soit vous récupérez une version synchronisée, avec git
*a) Download it (static version, not synchronized)...*
You can download the current version of the software.
Go to https://gitlab.irap.omp.eu/epallier/labinvent/tree/master
Click on "Download zip" on the up right hand corner.
Double-click on it to unzip it (or run "gzip -d labinvent.zip")
You should get a "labinvent.git" folder.
In this documentation, this software folder will be referenced as "LABINVENT".
(you can rename "labinvent.git" as "labinvent" if you want : "mv labinvent.git labinvent")
*b) ... or Get it from GIT (dynamic version, synchronized)*
(If you are using Windows, you must first get the git software, see below "Get git for Windows")
By getting the software from git, you will get a dynamically synchronized version,
which means that you will be able to update your version as soon as a new version is available
(with the command : "git pull").
* From Eclipse : See below, section "NOTES FOR ECLIPSE USERS"
* From the terminal
<pre>
git clone https://gitlab.irap.omp.eu/epallier/labinvent.git labinvent
</pre>
_(or also from ssh : git clone git@gitlab.irap.omp.eu:epallier/labinvent.git labinvent)_
If you ever get this error message... :
<pre>
fatal: unable to access 'https://gitlab.irap.omp.eu/epallier/labinvent.git/': Peer's certificate issuer has been marked as not trusted by the user.
</pre>
...then, type this command (and then run again the "git clone" command):
<pre>
$ git config --global http.sslVerify false
Then check that your config is ok:
$ cat ~/.gitconfig
[user]
name = Etienne Pallier
email = epallier@irap.omp.eu
[http]
sslVerify = false
[push]
default = simple
</pre>
(Also, the first time you get the project, git will ask you for a login and password)
This creates a labinvent/ folder containing the project (with a .git/ subfolder for synchronization with the git repository)
(Windows only) : Get git for Windows:
* Download git at https://git-scm.com/download/win
* Run setup (keep default configurations)
* Once installed, open cmd
<pre>
$ git config --global http.sslVerify false
</pre>
You can now use your git from the cmd or the graphic client !
*2) Préparation*
* Le dossier "labinvent" peut appartenir à root, mais il est préférable que vous en soyez vous-mêmes (ou un autre user) le propriétaire :
> sudo chown -R nom_utilisateur LABINVENT
* Placer cette archive à l'endroit voulu, 2 possibilités :
- (1) soit vous placez cette archive directement dans le repertoire des sites webs du serveur web (par exemple /var/www/html/localhost/public_html/)
- (2) soit vous la placez n'importe où ailleurs (par exemple dans votre repertoire home), et ensuite vous indiquerez au serveur web où trouver ce projet (ou bien vous ferez un lien depuis votre /var/www/html/ vers ce dossier labinvent/)
h2. INSTALLATION
h3. A/ PREREQUIS
Le logiciel nécessite une combinaison "AMP" pour fonctionner, soit les 3 pré-requis suivants :
* un serveur web Apache
* un serveur de base de données Mysql
* le langage Php en version 5.5.9 minimum (5.6 recommandé)
Si ce tiercé est déjà présent sur votre OS, vous pouvez passer à l'étape suivante (B/ Installation), et revenir ici seulement en cas de problème de configuration.
Sur Windows, vous pouvez utiliser Wampserver ou XAMPP qui regroupent ces 3 éléments (il n'y aura rien d'autre à faire ensuite).
Sur Mac, vous pouvez utiliser XAMPP (ou autre équivalent) ou bien installer chacun des 3 éléments séparément via MacPort.
Sur Linux, voici la démarche à suivre :
h4. *1) Installation des prérequis*
* Exemple pour Cent OS 6.7:
<pre>
Mettre à jour le serveur:
$ sudo yum kernel
(restart)
$ sudo yum update
Pour installer Apache, MySQL & PHP 5.3 :
--> https://www.zerostopbits.com/how-to-install-apache-mysql-and-php-on-centos-6-7/
Pour mettre à jour PHP de la 5.3 à la 5.6
--> https://www.zerostopbits.com/how-to-upgrade-php-5-3-to-php-5-6-on-centos-6-7/
Mettre à jour Mysql (version 5.1 à 5.5):
$ sudo yum update
</pre>
* Exemple pour une distribution UBuntu 14.04.4:
<pre>
Pour commencer il faut mettre à jour les "repository" de apt :
$ sudo apt-get update && sudo apt-get upgrade
Installer un serveur web (Apache) :
$ sudo apt-get install apache2
Installer un serveur de base de données (MySQL):
$ sudo apt-get install mysql-server
Installer le langage PHP en version 5.5.9 minimum (5.6 recommandé)
$ sudo apt-get install php5 php-pear
$ sudo apt-get install php5-mysql
</pre>
h4. *2) Configuration des prérequis*
* *(optionnel) Configuration du serveur web (Apache)*
* KeepAlive:
Editer le fichier /etc/apache2/apache2.conf et mettre le paramêtre "KeepAlive" à "Off" :
<pre>
KeepAlive Off
</pre>
* event et prefork modules:
Par défaut Apache utilise un "event module" et PHP un "prefork module".
Il faut désactiver le 1er module et activer le second :
<pre>
sudo a2dismod mpm_event
sudo a2enmod mpm_prefork
</pre>
* Activer le mode rewrite de Apache:
<pre>
sudo a2enmod rewrite
</pre>
* *Configuration de Php*
* Extension PHP "intl":
(Pour savoir quelle configuration est utilisée : php --ini)
Vérifier qu'elle est activée dans le php.ini
<pre>
php --ini|grep intl
Sinon, l'ajouter dans le php.ini:
extension=intl.so
</pre>
Vérifier qu'elle est bien installée :
<pre>
$ php -m| grep intl
(ça devrait retourner "intl")
Sinon, l'installer
Ubuntu:
$ sudo apt-get install php5-intl
CentOS:
$ sudo yum install php-intl
MacOS avec XAMPP:
cf http://stackoverflow.com/questions/27886117/php-intl-installation-on-xampp
Il se pourrait que vous ayez besoin de ré-exécuter l'installeur de XAMPP afin de cocher l'option "XAMPP Developer Files", si vous ne l'aviez pas déjà fait lors de votre installation de XAMPP
cd /Applications/XAMPP/bin
sudo ./pecl install intl
(Vérifier qu'elle a bien été installée dans /Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20131226/)
</pre>
* (optionnel) Dossier de log:
Dans le fichier /etc/php5/apache2/php.ini, vous devez positionner votre répertoire de log :
<pre>
error_reporting = E_ALL
error_log = /var/log/php/error.log
max_input_time = 30
</pre>
Ensuite il faut créer le dossier en question et donner à apache (ici www-data) les droits sur ce dossier :
<pre>
sudo mkdir /var/log/php
sudo chown www-data /var/log/php
</pre>
* *Recharger la configuration du serveur Web*
<pre>
$ sudo service httpd reload
</pre>
h3. B/ INSTALLATION
* Aller dans le repertoire d'installation :
cd install/
* Exécuter le script d'installation :
./installation.sh
(vous pourriez éventuellement le faire en tant qu'administrateur "root", mais ça n'est pas nécessaire, le script fera quelques petits "sudo" seulement au besoin).
(Conseil : à la plupart des questions, laissez les réponses par défaut)
---
h3. C/ CONFIGURATION DU SITE WEB
* Autoriser les fichiers .htaccess sur le site :
(cf http://book.cakephp.org/3.0/fr/installation.html#url-rewriting)
<pre>
Allez dans le fichier /etc/apache2/apache2.conf (ou httpd.conf sur CentOS), vérifier que la propriété 'AllowOverride' soit à la valeur 'All' pour le chemin correspondant à votre application (dossier '/' si '/var/www' non présent) :
<Directory />
Options FollowSymLinks
AllowOverride All
Order deny,allow
Deny from all
</Directory>
Sinon, vous pouvez ajouter ceci, uniquement pour Labinvent, les attributs seront à cette valeur uniquement pour le dossier labinvent et son contenu :
<Directory /labinvent>
Options FollowSymLinks
AllowOverride All
</Directory>
NB : si labinvent n'est pas dans le repertoire des sites webs, il faut mettre son chemin absolu a la place de /labinvent :
<Directory /chemin/abosolu/vers/labinvent>
NB: Il faudra sans doute aussi faire un lien dans le dossier web racine de Apache (/var/www/html/) vers le repertoire d'installation
NB: Une autre solution consisterait à créer un virtual host dédié
</pre>
* Redémarrer Apache
* Tester l'accès web à l'application : http://localhost/labinvent/
Vous devriez arriver par défaut sur une page correspondant au mode install, elle vous indique la bonne configuration de l'application et de ses dépendances. dépendances
Vérifier simplement (point vert) si votre base de données est bien reliée à votre application, si les droits donnés aux dossiers temporaires sont suffisants, et si toutes les extensions sont bien intallées...
(La page affichera un message si l'URL-Rewriting ne fonctionne pas correctement).
Si tout est au vert, passez à l'étape suivante (D/ Configuration de l'application). correctement)
S'il y a des points rouges, reportez-vous ci-dessous à l'extension qui pose problème, pour l'installer ou la configurer:
* Extension PHP "mbstring" et librairie "zlib"
La collection de librairies est normalement déja installée avec PHP en tant que dépendance, sinon faire :
<pre>
sudo apt-get install libapache2-mod-php5
</pre>
=> Redémarrer votre serveur et vérifier que la ligne correspondant à l'extension soit passée au vert.
* Librairie PHP "php-gd"
<pre>
sudo apt-get install php5-gd
</pre>
=> Redémarrer votre serveur et vérifier que la ligne correspondant à l'extension soit passée au vert.
Si ce n'est toujours pas le cas, aller dans le fichier /etc/php5/apache2/php.ini :
Vérifier que la ligne suivante est présente et décommentée (absence de ";" devant la ligne) sinon il faut la rajouter :
<pre>
extension=gd.so
</pre>
* (Optionnel) Il est aussi conseillé d'avoir un "phpmyadmin" installé pour pouvoir gérer manuellement la base de données.
<pre>
sudo apt-get php5-mcrypt
sudo apt-get install phpmyadmin
Pensez à activer l'extension mcrypt : sudo php5enmod mcrypt
</pre>
* Redémarrer votre serveur Web et vérifier que la ligne correspondant à l'extension soit passée au vert.
<pre>
sudo service apache2 restart
(ou simplement le recharger: utiliser "reload" au lieu de "restart")
</pre>
* URL-Rewriting
Il est possible que le mode rewrite ne fonctionne pas correctement si les fichiers .htaccess dans la racine et dans webroot disparaissent. Sur certains systèmes les fichiers commençant par un point peuvent disparaitre lors d'une copie. Si c'est le cas pour vous, voici le contenu de ces deux fichiers et leurs emplacements :
<pre>
Fichier ./.htaccess :
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
Fichier ./webroot/.htaccess :
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
</pre>
---
h3. D/ CONFIGURATION DU LOGICIEL D'INVENTAIRE
* Une fois les tests validés, allez sur l'application.
* Vous arrivez sur une page d'informations, vous pouvez également configurer les paramètres généraux de l'application.
* Une fois configurer vous pouvez stopper le mode install .
* Allez dans le dossier config à la racine du projet, et ouvrez le fichier ./config/app.php
<pre>
Allez à la ligne 12 :
'debug' => filter_var(env('DEBUG', true), FILTER_VALIDATE_BOOLEAN),
Et remplacer le true par false :
'debug' => filter_var(env('DEBUG', false), FILTER_VALIDATE_BOOLEAN),
</pre>
* Connectez vous à l'aide de l'utilisateur créer lors de la création de la base et sans mot de passe.
* Si vous n'avez pas configurer l'application avec le mode install
Dans le menu latéral, cliquez sur le lien "Outils", puis sur "Configuration générale de l'application".
* Sur cette page vous pouvez voir la configuration de votre application (nom, mode, ...) et l'éditer.
* Ensuite retourner dans la liste des outils et cliquez sur "Gérer le contenu variable de l'application".
* Sur cette page vous aurez accès à toutes les données statiques commune au matériels (catégories, groupe métier et technique, type de suivi, ...).
Vous pouvez en ajouter, en supprimer ou les éditer..
---
h3. E/ TESTS
* Nous vous conseillons de vérifier que les tests passent pour être sur que l'application est correctement installée.
* Placez-vous à la racine du projet et exécutez la commande suivante :
<pre>
vendor/bin/phpunit
</pre>
* Si ça ne marche pas, esssayer cette commande à la place:
<pre>
vendor/phpunit/phpunit/phpunit
</pre>
h3. F/ Gestion de l'authentification des utilisateurs (LDAP)
* Labinvent peut être utilisé avec un LDAP, si vous utilisez ce mode, ceci vous concerne :
* Une fois la connection au LDAP configuré (configuration générale de l'application), vous pouvez connecter un utilisateur de ce LDAP directement.
* Par défaut, un utilisateur provenant du LDAP a un statut de simple utilisateur, pour lui attribuer un rôle supérieur, il faut aller dans "gérer les utilisateurs privilégiés" du menu "outils".
* Puis il faut ajouter l'utilisateur correspondant (liste déroulante des utilisateurs du LDAP), en lui attribuant un rôle.
---
h2. MISE A JOUR du logiciel
1) Mettre à jour le code
Aller sur la racine du projet et exécuter :
<pre>
$ git pull
</pre>
2) [Seulement si nécessaire] Mettre à jour la base de données
Aller dans le dossier database/update/
*Exécuter tous les scripts qui sont d'une date postérieure à la date de votre version du logiciel* (sur la page d'accueil en bas à droite).
Attention, il faut les exécuter *dans l'ordre chronologique*, un par un
Exemple:
<pre>
Placez vous dans ./database/update et éxécutez les commandes correspondantes :
./db-update-2016-06-03.sh
./db-update-2016-06-06.sh
./db-update-2016-06-07.sh
</pre>
3) [Seulement si nécessaire] Ré-exécuter le script d'installation
4) [Seulement si étape 3 non effectué et si nécessaire] Exécuter le script de mise à jour du fichier de configuration (app.php)
<pre>
Placez vous dans ./install et entrez la ligne suivante :
./update-app-php.sh
</pre>
cd install/
./install.sh
Remarques :
* Le fichier README-LABINVENT.md contient la liste des mise à jour de la base.
* Le fichier contient également une liste des versions ou il faut exécuter le script d'installation et dans quel mode (n'éxécutez qu'une fois le script, si votre version était antérieur).
---
h2. MODE PANIQUE
Vous avez changé la configuration du LDAP et elle ne fonctionne plus !
Du coup, vous ne pouvez plus vous connecter au site !
Il faut donc repasser le logiciel en mode INSTALL pour pouvoir y accéder sans connexion.
Pour cela, exécuter la requête sql database/set_mode_install.sql sur la base de données:
<pre>
mysql -u login -p labinvent2 < set_mode_install.sql
</pre>
_Remplacer 'login' par le 'username' défini dans votre fichier config/app.php dans la section Datasources (default)_
_Remplacer 'labinvent2' par le 'database' défini au même endroit_
(ou bien exécuter cette requête depuis phpmyadmin)