Installation

Version 145 (Etienne Pallier, 04/13/2017 10:03 am)

1 1 Etienne Pallier
h1. Labinvent 2.0 (cakephp3) - Installation
2 1 Etienne Pallier
3 1 Etienne Pallier
4 20 Etienne Pallier
Cette page décrit la phase d'installation du logiciel.
5 109 Etienne Pallier
La version la plus à jour est sur la page "Installation" du wiki du projet: https://projects.irap.omp.eu/projects/inventirap/wiki/Installation
6 20 Etienne Pallier
7 20 Etienne Pallier
[ [[Labinvent_nouvelle_version|Retour au sommmaire]] ]
8 20 Etienne Pallier
9 20 Etienne Pallier
10 1 Etienne Pallier
{{toc}}
11 1 Etienne Pallier
12 1 Etienne Pallier
13 1 Etienne Pallier
14 1 Etienne Pallier
---
15 1 Etienne Pallier
16 1 Etienne Pallier
h2. LIENS UTILES
17 1 Etienne Pallier
18 133 Thibaud Ajas
* HOWTO Format Redmine Wiki : http://www.redmine.org/projects/redmine/wiki/FrRedmineWikiFormatting
19 1 Etienne Pallier
20 51 Etienne Pallier
* *Fichier README* : https://gitlab.irap.omp.eu/epallier/labinvent/blob/master/README-LABINVENT.md
21 51 Etienne Pallier
22 48 Etienne Pallier
* *Version majeure en cours (2.04)*: https://projects.irap.omp.eu/projects/inventirap/roadmap#version_2.04_-_Impl%C3%A9mentation_des_ACL_(droits)
23 12 Etienne Pallier
24 50 Etienne Pallier
* Liste complète des évolutions: https://gitlab.irap.omp.eu/epallier/labinvent/commits/master
25 50 Etienne Pallier
26 12 Etienne Pallier
* Browse files (gitlab): https://gitlab.irap.omp.eu/epallier/labinvent/tree/master
27 1 Etienne Pallier
28 1 Etienne Pallier
---
29 1 Etienne Pallier
30 1 Etienne Pallier
h2. RECUPERATION
31 1 Etienne Pallier
32 1 Etienne Pallier
33 1 Etienne Pallier
34 113 Etienne Pallier
*1) Deux options*
35 113 Etienne Pallier
36 1 Etienne Pallier
Deux options se présentent à vous :
37 1 Etienne Pallier
38 113 Etienne Pallier
 * a) soit vous récupérez une version statique du logiciel, en le téléchargeant (pas besoin de login, c'est anonyme)
39 113 Etienne Pallier
 * b) soit vous récupérez une version synchronisée, avec git (nécessité d'avoir un login)
40 1 Etienne Pallier
41 113 Etienne Pallier
*a) Téléchargement anonyme (version statique, non synchronisée)*
42 1 Etienne Pallier
43 124 Thibaud Ajas
Vous pouvez télécharger la version actuelle du logiciel.
44 1 Etienne Pallier
45 124 Thibaud Ajas
Pour cela, aller sur : https://gitlab.irap.omp.eu/epallier/labinvent/tree/master
46 1 Etienne Pallier
47 124 Thibaud Ajas
Cliquez sur : "Download zip" dans le coin en haut à droite.
48 1 Etienne Pallier
49 124 Thibaud Ajas
Double-cliquez dessus ou dézippez-le (ou lancez la commande gzip -d labinvent.zip). Vous devriez avoir un dossier "labinvent.git".
50 1 Etienne Pallier
51 124 Thibaud Ajas
Dans sa documentation, le logiciel sera désigné par "LABINVENT".
52 1 Etienne Pallier
53 124 Thibaud Ajas
Vous pouvez renommer "labinvent.git" en "labinvent" si vous le souhaitez ("mv labinvent.git labinvent" ou clic droit->Renommer).
54 1 Etienne Pallier
55 113 Etienne Pallier
*b) Récupérer le logiciel via GIT (version dynamique, synchronisée, nécessité d'un login)*
56 1 Etienne Pallier
57 113 Etienne Pallier
Pour cette option, vous devez avoir un login. Si vous n'avez pas déjà un login, allez sur la page https://gitlab.irap.omp.eu/users/sign_in,
58 113 Etienne Pallier
puis remplissez la section "Sign up". Ensuite, envoyez un email à epallier AT irap. omp. eu
59 113 Etienne Pallier
en demandant l'autorisation d'accéder au gitlab du projet labinvent. On vous donnera alors la procédure à suivre pour vous connecter.
60 113 Etienne Pallier
61 126 Thibaud Ajas
(Si vous utilisez Windows, vous DEVEZ avant tout installer git pour windows, voir plus bas "Obtenir git pour windows")
62 1 Etienne Pallier
63 126 Thibaud Ajas
En récupérant directement le logiciel via git, vous allez avoir une version dynamiquement synchronisée.
64 126 Thibaud Ajas
Vous serez donc en mesure de la mettre à jour dès qu'une nouvelle version sera disponible avec la commande "git pull".
65 1 Etienne Pallier
66 126 Thibaud Ajas
* (Depuis Eclipse : Voir plus bas, section "A L'ATTENTION DES UTILISATEURS D'ECLIPSE")
67 1 Etienne Pallier
68 126 Thibaud Ajas
* Depuis un terminal:
69 1 Etienne Pallier
70 1 Etienne Pallier
<pre>
71 1 Etienne Pallier
git clone https://gitlab.irap.omp.eu/epallier/labinvent.git labinvent
72 1 Etienne Pallier
</pre>
73 1 Etienne Pallier
74 126 Thibaud Ajas
_(Ou aussi depuis ssh : git clone git@gitlab.irap.omp.eu:epallier/labinvent.git labinvent)_
75 1 Etienne Pallier
76 126 Thibaud Ajas
Si vous obtenez ce message d'erreur ... :
77 1 Etienne Pallier
<pre>
78 1 Etienne Pallier
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.
79 1 Etienne Pallier
</pre>
80 1 Etienne Pallier
81 126 Thibaud Ajas
...tapez cette commande (et relancez une commade "git clone"):
82 1 Etienne Pallier
<pre>
83 1 Etienne Pallier
$ git config --global http.sslVerify false
84 127 Thibaud Ajas
</pre>
85 1 Etienne Pallier
Puis vérifiez que votre configuration soit OK :
86 128 Thibaud Ajas
<pre>
87 134 Etienne Pallier
$ git config --list
88 134 Etienne Pallier
(ou encore : cat ~/.gitconfig)
89 135 Etienne Pallier
90 1 Etienne Pallier
[user]
91 1 Etienne Pallier
	name = Etienne Pallier
92 1 Etienne Pallier
	email = epallier@irap.omp.eu
93 1 Etienne Pallier
[http]
94 1 Etienne Pallier
	sslVerify = false
95 1 Etienne Pallier
[push]
96 1 Etienne Pallier
	default = simple
97 1 Etienne Pallier
</pre>
98 1 Etienne Pallier
99 126 Thibaud Ajas
(Si vous récupérez le projet pour la première fois, git vous demandera un login et un mot de passe)
100 1 Etienne Pallier
101 136 Etienne Pallier
Git a normalement créé un dossier "labinvent" qui contiendra votre projet (avec un sous dossier ".git" qui sert à la synchronisation avec le dépot git).
102 1 Etienne Pallier
103 136 Etienne Pallier
104 136 Etienne Pallier
*Seulement pour Windows* : 
105 136 Etienne Pallier
106 136 Etienne Pallier
Obtenir git pour windows :
107 136 Etienne Pallier
108 126 Thibaud Ajas
 * Téléchargez git sur https://git-scm.com/download/win
109 126 Thibaud Ajas
 * Lancez l'installation (gardez la configuration par défaut)
110 136 Etienne Pallier
 * Une fois installé, lancer une invite de commande (Touche Windows+R, tapez cmd, touche entrer)
111 1 Etienne Pallier
<pre>
112 1 Etienne Pallier
$ git config --global http.sslVerify false
113 1 Etienne Pallier
</pre>
114 1 Etienne Pallier
Vous pouvez désormais utiliser git depuis une invite de commande ou depuis l'interface graphique de git.
115 136 Etienne Pallier
116 1 Etienne Pallier
117 53 Etienne Pallier
*2) Préparation*
118 1 Etienne Pallier
119 137 Etienne Pallier
* Si jamais votre dossier "labinvent" appartient à root (vous avez fait un "git clone" depuis root...), il serait préférable que vous en soyez vous-mêmes (ou un autre user) le propriétaire : 
120 137 Etienne Pallier
> sudo chown -R nom_utilisateur labinvent/
121 1 Etienne Pallier
122 137 Etienne Pallier
* Placer ce dossier à l'endroit voulu, 2 possibilités :
123 137 Etienne Pallier
- (1) soit vous placez ce dossier directement dans le repertoire des sites webs du serveur web (par exemple /var/www/html/ ou /var/www/html/localhost/public_html/, ...)
124 139 Etienne Pallier
- (2) soit vous le placez n'importe où ailleurs (par exemple dans votre repertoire home), et ensuite vous indiquez au serveur web où trouver ce projet, ou bien vous faites un lien depuis votre /var/www/html/ vers ce dossier labinvent/, ou encore vous créez un Virtual Host (Apache)
125 1 Etienne Pallier
126 1 Etienne Pallier
h2. INSTALLATION
127 1 Etienne Pallier
128 1 Etienne Pallier
h3. A/ PREREQUIS
129 1 Etienne Pallier
130 61 Etienne Pallier
Le logiciel nécessite une combinaison "AMP" pour fonctionner, soit les 3 pré-requis suivants :
131 62 Etienne Pallier
132 73 Etienne Pallier
* un serveur web Apache
133 73 Etienne Pallier
* un serveur de base de données Mysql
134 73 Etienne Pallier
* le langage Php en version 5.5.9 minimum (5.6 recommandé)
135 1 Etienne Pallier
136 68 Etienne Pallier
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.
137 63 Etienne Pallier
138 61 Etienne Pallier
Sur Windows, vous pouvez utiliser Wampserver ou XAMPP qui regroupent ces 3 éléments (il n'y aura rien d'autre à faire ensuite).
139 61 Etienne Pallier
140 140 Etienne Pallier
Sur Mac, vous pouvez utiliser XAMPP (ou autre équivalent) ou bien installer chacun des 3 éléments séparément soit via MacPort (ou HomeBrew) soit en téléchargeant le paquet binaire Mac correspondant à chaque élément.
141 61 Etienne Pallier
142 141 Etienne Pallier
*Voici la démarche à suivre sur Linux* :
143 1 Etienne Pallier
144 75 Etienne Pallier
h4. *1) Installation des prérequis*
145 72 Etienne Pallier
146 130 Thibaud Ajas
*Exemple pour Cent OS 6.7 (fait en 2016) :*
147 35 Alexandre Cases
148 130 Thibaud Ajas
    Mettre à jour le serveur:
149 130 Thibaud Ajas
<pre>
150 1 Etienne Pallier
$ sudo yum kernel
151 1 Etienne Pallier
(restart)
152 1 Etienne Pallier
$ sudo yum update
153 130 Thibaud Ajas
</pre>
154 1 Etienne Pallier
155 130 Thibaud Ajas
    Pour installer Apache, MySQL & PHP 5.3 :
156 130 Thibaud Ajas
    --> https://www.zerostopbits.com/how-to-install-apache-mysql-and-php-on-centos-6-7/
157 35 Alexandre Cases
158 130 Thibaud Ajas
    Pour mettre à jour PHP de la 5.3 à la 5.6
159 130 Thibaud Ajas
    --> https://www.zerostopbits.com/how-to-upgrade-php-5-3-to-php-5-6-on-centos-6-7/
160 1 Etienne Pallier
161 130 Thibaud Ajas
    Mettre à jour Mysql (version 5.1 à 5.5):
162 130 Thibaud Ajas
<pre>
163 71 Etienne Pallier
$ sudo yum update
164 1 Etienne Pallier
</pre>
165 1 Etienne Pallier
166 70 Etienne Pallier
167 129 Thibaud Ajas
*Exemple pour une distribution UBuntu 14.04.4 (fait en 2016) :*
168 1 Etienne Pallier
169 1 Etienne Pallier
170 129 Thibaud Ajas
    Pour commencer il faut mettre à jour les "repository" de apt :
171 129 Thibaud Ajas
<pre>
172 1 Etienne Pallier
$ sudo apt-get update && sudo apt-get upgrade
173 129 Thibaud Ajas
</pre>
174 1 Etienne Pallier
175 129 Thibaud Ajas
    Installer un serveur web (Apache) :
176 129 Thibaud Ajas
<pre>
177 72 Etienne Pallier
$ sudo apt-get install apache2
178 129 Thibaud Ajas
</pre>
179 1 Etienne Pallier
180 129 Thibaud Ajas
    Installer un serveur de base de données (MySQL):
181 1 Etienne Pallier
<pre>
182 1 Etienne Pallier
$ sudo apt-get install mysql-server 
183 1 Etienne Pallier
</pre>
184 72 Etienne Pallier
185 129 Thibaud Ajas
    Installer le langage PHP en version 5.5.9 minimum (5.6 recommandé)
186 129 Thibaud Ajas
<pre>
187 1 Etienne Pallier
$ sudo apt-get install php5 php-pear
188 63 Etienne Pallier
$ sudo apt-get install php5-mysql
189 1 Etienne Pallier
</pre>
190 119 Etienne Pallier
191 130 Thibaud Ajas
*Exemple pour une distribution Fedora 20+ (fait en avril 2017) :*
192 114 Etienne Pallier
193 130 Thibaud Ajas
    https://www.digitalocean.com/community/tutorials/how-to-install-lamp-linux-apache-mysql-php-on-fedora
194 1 Etienne Pallier
195 130 Thibaud Ajas
    Pour commencer il faut mettre à jour l'OS :
196 129 Thibaud Ajas
<pre>
197 114 Etienne Pallier
$ sudo dnf update dnf
198 1 Etienne Pallier
$ sudo dnf update kernel
199 1 Etienne Pallier
$ sudo dnf update
200 129 Thibaud Ajas
</pre>
201 115 Etienne Pallier
202 130 Thibaud Ajas
    Installer git:
203 129 Thibaud Ajas
<pre>
204 115 Etienne Pallier
$ sudo dnf install git
205 1 Etienne Pallier
</pre>
206 115 Etienne Pallier
207 130 Thibaud Ajas
    Installer php :
208 129 Thibaud Ajas
<pre>
209 115 Etienne Pallier
$ sudo dnf install php
210 1 Etienne Pallier
$ sudo dnf install php-mysql
211 129 Thibaud Ajas
</pre>
212 115 Etienne Pallier
213 130 Thibaud Ajas
    Installer un serveur web (Apache) :
214 129 Thibaud Ajas
<pre>
215 115 Etienne Pallier
$ sudo dnf install httpd
216 116 Etienne Pallier
$ sudo systemctl enable httpd
217 116 Etienne Pallier
(ln -s '/usr/lib/systemd/system/httpd.service' '/etc/systemd/system/multi-user.target.wants/httpd.service')
218 116 Etienne Pallier
$ sudo systemctl start httpd
219 129 Thibaud Ajas
</pre>
220 1 Etienne Pallier
221 130 Thibaud Ajas
    Installer un serveur de base de données (MySQL):
222 129 Thibaud Ajas
<pre>
223 115 Etienne Pallier
$ sudo dnf install mariadb mariadb-server -y
224 116 Etienne Pallier
$ sudo systemctl enable mariadb
225 116 Etienne Pallier
(ln -s '/usr/lib/systemd/system/mariadb.service' '/etc/systemd/system/multi-user.target.wants/mariadb.service')
226 115 Etienne Pallier
$ sudo systemctl start mariadb
227 118 Etienne Pallier
$ sudo mysql_secure_installation
228 129 Thibaud Ajas
</pre>
229 118 Etienne Pallier
230 142 Etienne Pallier
    (OPTIONNEL) Installer phpmyadmin (par defaut accessible uniquement depuis localhost) :
231 129 Thibaud Ajas
<pre>
232 118 Etienne Pallier
$ sudo dnf install phpmyadmin
233 114 Etienne Pallier
$ sudo systemctl restart httpd
234 114 Etienne Pallier
</pre>
235 114 Etienne Pallier
236 75 Etienne Pallier
h4. *2) Configuration des prérequis*
237 1 Etienne Pallier
238 78 Etienne Pallier
* *(optionnel) Configuration du serveur web (Apache)*
239 76 Etienne Pallier
240 143 Etienne Pallier
Ces configurations sont nécessaires sur Ubuntu, mais pas forcément sur CentOS/Fedora :
241 143 Etienne Pallier
242 1 Etienne Pallier
 * KeepAlive:
243 143 Etienne Pallier
Editer le fichier de configuration du serveur web (/etc/apache2/apache2.conf sur Ubuntu, /etc/httpd/conf/http.conf sur CentOS/Fedora) et mettre le paramêtre "KeepAlive" à "Off" :
244 63 Etienne Pallier
<pre>
245 63 Etienne Pallier
KeepAlive Off
246 63 Etienne Pallier
</pre>
247 63 Etienne Pallier
248 79 Etienne Pallier
 * event et prefork modules:
249 64 Etienne Pallier
Par défaut Apache utilise un "event module" et PHP un "prefork module".
250 63 Etienne Pallier
Il faut désactiver le 1er module et activer le second :
251 63 Etienne Pallier
<pre>
252 63 Etienne Pallier
sudo a2dismod mpm_event
253 63 Etienne Pallier
sudo a2enmod mpm_prefork
254 1 Etienne Pallier
</pre>
255 64 Etienne Pallier
256 86 Etienne Pallier
 * Activer le mode rewrite de Apache:
257 86 Etienne Pallier
<pre>
258 86 Etienne Pallier
sudo a2enmod rewrite
259 86 Etienne Pallier
</pre>
260 86 Etienne Pallier
261 64 Etienne Pallier
262 30 Alexandre Cases
* *Configuration de Php*
263 1 Etienne Pallier
264 145 Etienne Pallier
 * *Extension PHP "intl"*:
265 145 Etienne Pallier
Vérifier qu'elle est activée dans le php.ini:
266 1 Etienne Pallier
<pre>
267 80 Etienne Pallier
php --ini|grep intl
268 80 Etienne Pallier
Sinon, l'ajouter dans le php.ini:
269 1 Etienne Pallier
extension=intl.so
270 144 Etienne Pallier
</pre>
271 1 Etienne Pallier
Vérifier qu'elle est bien installée :
272 1 Etienne Pallier
<pre>
273 1 Etienne Pallier
$ php -m| grep intl
274 1 Etienne Pallier
(ça devrait retourner "intl")
275 76 Etienne Pallier
Sinon, l'installer
276 1 Etienne Pallier
Ubuntu:
277 76 Etienne Pallier
$ sudo apt-get install php5-intl
278 76 Etienne Pallier
CentOS:
279 76 Etienne Pallier
$ sudo yum install php-intl
280 76 Etienne Pallier
MacOS avec XAMPP: 
281 1 Etienne Pallier
cf http://stackoverflow.com/questions/27886117/php-intl-installation-on-xampp
282 1 Etienne Pallier
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
283 1 Etienne Pallier
cd /Applications/XAMPP/bin
284 1 Etienne Pallier
sudo ./pecl install intl
285 1 Etienne Pallier
(Vérifier qu'elle a bien été installée dans /Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20131226/)
286 1 Etienne Pallier
</pre>
287 1 Etienne Pallier
288 145 Etienne Pallier
 * *(optionnel) Dossier de log*:
289 145 Etienne Pallier
290 79 Etienne Pallier
Dans le fichier /etc/php5/apache2/php.ini, vous devez positionner votre répertoire de log :
291 76 Etienne Pallier
<pre>
292 76 Etienne Pallier
error_reporting = E_ALL
293 76 Etienne Pallier
error_log = /var/log/php/error.log
294 76 Etienne Pallier
max_input_time = 30
295 76 Etienne Pallier
</pre>
296 79 Etienne Pallier
Ensuite il faut créer le dossier en question et donner à apache (ici www-data) les droits sur ce dossier :
297 76 Etienne Pallier
<pre>
298 76 Etienne Pallier
sudo mkdir /var/log/php
299 76 Etienne Pallier
sudo chown www-data /var/log/php
300 76 Etienne Pallier
</pre>
301 1 Etienne Pallier
302 83 Etienne Pallier
* *Recharger la configuration du serveur Web*
303 82 Etienne Pallier
<pre>
304 84 Etienne Pallier
$ sudo service httpd reload
305 83 Etienne Pallier
</pre>
306 82 Etienne Pallier
307 1 Etienne Pallier
h3. B/ INSTALLATION
308 1 Etienne Pallier
309 1 Etienne Pallier
* Aller dans le repertoire d'installation :
310 1 Etienne Pallier
cd install/
311 26 Etienne Pallier
312 26 Etienne Pallier
313 1 Etienne Pallier
* Exécuter le script d'installation :
314 1 Etienne Pallier
./installation.sh
315 1 Etienne Pallier
(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).
316 1 Etienne Pallier
(Conseil : à la plupart des questions, laissez les réponses par défaut)
317 23 Etienne Pallier
318 96 Etienne Pallier
---
319 96 Etienne Pallier
320 85 Etienne Pallier
h3. C/ CONFIGURATION DU SITE WEB
321 1 Etienne Pallier
322 121 Thibaud Ajas
Le site est maintenant installé, il vous faut maintenant le configurer.
323 121 Thibaud Ajas
Si vous voulez le conserver, le script de creation de la BD est database/build.sql.
324 121 Thibaud Ajas
Le fichier de configuration app.php a été écrasé, vous pouvez retrouver votre ancienne configuration dans le fichier app.php.ORIG.
325 121 Thibaud Ajas
326 1 Etienne Pallier
* Autoriser les fichiers .htaccess sur le site :
327 1 Etienne Pallier
(cf http://book.cakephp.org/3.0/fr/installation.html#url-rewriting)
328 1 Etienne Pallier
<pre>
329 87 Etienne Pallier
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) :
330 1 Etienne Pallier
331 7 Alexandre Cases
<Directory />
332 23 Etienne Pallier
  Options FollowSymLinks
333 1 Etienne Pallier
  AllowOverride All
334 1 Etienne Pallier
  Order deny,allow
335 1 Etienne Pallier
  Deny from all
336 1 Etienne Pallier
  </Directory>
337 6 Alexandre Cases
338 6 Alexandre Cases
Sinon, vous pouvez ajouter ceci, uniquement pour Labinvent, les attributs seront à cette valeur uniquement pour le dossier labinvent et son contenu :
339 6 Alexandre Cases
340 120 Thibaud Ajas
<Directory /var/www/html/labinvent>
341 6 Alexandre Cases
  Options FollowSymLinks
342 6 Alexandre Cases
  AllowOverride All
343 6 Alexandre Cases
</Directory>
344 6 Alexandre Cases
345 6 Alexandre Cases
NB : si labinvent n'est pas dans le repertoire des sites webs, il faut mettre son chemin absolu a la place de /labinvent :
346 6 Alexandre Cases
<Directory /chemin/abosolu/vers/labinvent>
347 1 Etienne Pallier
348 85 Etienne Pallier
NB: Il faudra sans doute aussi faire un lien dans le dossier web racine de Apache (/var/www/html/) vers le repertoire d'installation
349 85 Etienne Pallier
350 85 Etienne Pallier
NB: Une autre solution consisterait à créer un virtual host dédié
351 6 Alexandre Cases
</pre>
352 6 Alexandre Cases
353 6 Alexandre Cases
354 6 Alexandre Cases
355 6 Alexandre Cases
* Redémarrer Apache 
356 6 Alexandre Cases
357 87 Etienne Pallier
* Tester l'accès web à l'application : http://localhost/labinvent/
358 98 Etienne Pallier
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.
359 1 Etienne Pallier
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...
360 98 Etienne Pallier
(La page affichera un message si l'URL-Rewriting ne fonctionne pas correctement).
361 98 Etienne Pallier
Si tout est au vert, passez à l'étape suivante (D/ Configuration de l'application).
362 90 Etienne Pallier
S'il y a des points rouges, reportez-vous ci-dessous à l'extension qui pose problème, pour l'installer ou la configurer:
363 1 Etienne Pallier
364 89 Etienne Pallier
* Extension PHP "mbstring" et librairie "zlib"
365 90 Etienne Pallier
La collection de librairies est normalement déja installée avec PHP en tant que dépendance, sinon faire :
366 90 Etienne Pallier
<pre>
367 90 Etienne Pallier
sudo apt-get install libapache2-mod-php5
368 90 Etienne Pallier
</pre>
369 90 Etienne Pallier
=> Redémarrer votre serveur et vérifier que la ligne correspondant à l'extension soit passée au vert.
370 6 Alexandre Cases
371 6 Alexandre Cases
* Librairie PHP "php-gd" 
372 90 Etienne Pallier
<pre>
373 90 Etienne Pallier
sudo apt-get install php5-gd
374 90 Etienne Pallier
</pre>
375 90 Etienne Pallier
=> Redémarrer votre serveur et vérifier que la ligne correspondant à l'extension soit passée au vert.
376 1 Etienne Pallier
Si ce n'est toujours pas le cas, aller dans le fichier /etc/php5/apache2/php.ini :
377 1 Etienne Pallier
Vérifier que la ligne suivante est présente et décommentée (absence de ";" devant la ligne) sinon il faut la rajouter : 
378 6 Alexandre Cases
<pre>
379 6 Alexandre Cases
extension=gd.so
380 6 Alexandre Cases
</pre>
381 1 Etienne Pallier
382 90 Etienne Pallier
* (Optionnel) Il est aussi conseillé d'avoir un "phpmyadmin" installé pour pouvoir gérer manuellement la base de données.
383 90 Etienne Pallier
<pre>
384 90 Etienne Pallier
sudo apt-get php5-mcrypt
385 90 Etienne Pallier
sudo apt-get install phpmyadmin
386 90 Etienne Pallier
Pensez à activer l'extension mcrypt : sudo php5enmod mcrypt
387 90 Etienne Pallier
</pre>
388 1 Etienne Pallier
389 90 Etienne Pallier
* Redémarrer votre serveur Web et vérifier que la ligne correspondant à l'extension soit passée au vert.
390 90 Etienne Pallier
<pre>
391 90 Etienne Pallier
sudo service apache2 restart
392 1 Etienne Pallier
(ou simplement le recharger: utiliser "reload" au lieu de "restart")
393 90 Etienne Pallier
</pre>
394 1 Etienne Pallier
395 1 Etienne Pallier
* URL-Rewriting
396 1 Etienne Pallier
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 : 
397 1 Etienne Pallier
<pre>
398 7 Alexandre Cases
Fichier ./.htaccess : 
399 1 Etienne Pallier
<IfModule mod_rewrite.c>
400 1 Etienne Pallier
    RewriteEngine on
401 1 Etienne Pallier
    RewriteRule    ^$    webroot/    [L]
402 1 Etienne Pallier
    RewriteRule    (.*) webroot/$1    [L]
403 1 Etienne Pallier
</IfModule>
404 27 Etienne Pallier
405 29 Etienne Pallier
Fichier ./webroot/.htaccess : 
406 27 Etienne Pallier
<IfModule mod_rewrite.c>
407 1 Etienne Pallier
    RewriteEngine On
408 1 Etienne Pallier
    RewriteCond %{REQUEST_FILENAME} !-f
409 27 Etienne Pallier
    RewriteRule ^ index.php [L]
410 27 Etienne Pallier
</IfModule>
411 32 Etienne Pallier
</pre>
412 94 Etienne Pallier
413 1 Etienne Pallier
414 95 Etienne Pallier
---
415 95 Etienne Pallier
416 97 Etienne Pallier
h3. D/ CONFIGURATION DU LOGICIEL D'INVENTAIRE
417 94 Etienne Pallier
418 99 Etienne Pallier
* Depuis la page web de configuration "Configurer votre Labinvent", cliquez sur le lien "Editer la configuration générale" (en bas à gauche) pour configurer le logiciel, puis cliquez sur "Valider".
419 34 Alexandre Cases
420 99 Etienne Pallier
* Maintenant, sortez du "mode installation" en cliquant sur le bouton "Stopper le mode installation"
421 1 Etienne Pallier
422 99 Etienne Pallier
* Allez dans le dossier config à la racine du projet, et ouvrez le fichier config/app.php
423 34 Alexandre Cases
<pre>
424 11 Alexandre Cases
Allez à la ligne 12 :
425 11 Alexandre Cases
'debug' => filter_var(env('DEBUG', true), FILTER_VALIDATE_BOOLEAN),
426 1 Etienne Pallier
427 11 Alexandre Cases
Et remplacer le true par false :
428 11 Alexandre Cases
'debug' => filter_var(env('DEBUG', false), FILTER_VALIDATE_BOOLEAN),
429 11 Alexandre Cases
</pre>
430 1 Etienne Pallier
431 104 Etienne Pallier
* Connectez-vous à l'aide du login utilisateur créé lors de la création de la base, SANS mot de passe
432 28 Etienne Pallier
433 99 Etienne Pallier
* Si vous n'avez pas configuré l'application avec le mode install
434 14 Alexandre Cases
Dans le menu latéral, cliquez sur le lien "Outils", puis sur "Configuration générale de l'application".
435 99 Etienne Pallier
Sur cette page vous pouvez voir la configuration de votre application (nom, mode, ...) et l'éditer.
436 14 Alexandre Cases
437 99 Etienne Pallier
* Ensuite retournez dans la liste des outils et cliquez sur "Gérer le contenu variable de l'application".
438 21 Alexandre Cases
439 99 Etienne Pallier
* Sur cette page vous aurez accès à toutes les données statiques communes aux matériels (catégories, groupes métier et techniques, types de suivi, ...). Vous pouvez en ajouter, en supprimer ou les éditer..
440 94 Etienne Pallier
441 1 Etienne Pallier
442 95 Etienne Pallier
---
443 94 Etienne Pallier
444 94 Etienne Pallier
h3. E/ TESTS
445 94 Etienne Pallier
446 123 Thibaud Ajas
* Verifiez que la BD d'inventaire ($bddName) à bien été créée (avec phpmyadmin par exemple).
447 1 Etienne Pallier
448 123 Thibaud Ajas
* Verifiez que les tests passent, placez vous à la racine du projet, exécutez la commande 'vendor/bin/phpunit'. Si la commande ne fonctionne pas, essayez 'vendor/phpunit/phpunit/phpunit'.
449 94 Etienne Pallier
450 123 Thibaud Ajas
* Allez sur l'application, vous devriez arriver par défaut sur un mode install vous donnant des informations sur la configuration de votre application, vérifiez que tous les points sont bien validés (verts), sinon rajoutez les extensions manquantes.
451 122 Thibaud Ajas
452 132 Thibaud Ajas
* Testez l'accès à l'application par le web. Le compte que le script vous à demandé de créé n'a pas de mot de passe par défaut. Les autres comptes que le script aura créé auront tous le même mot de passe par défaut : login .
453 47 Etienne Pallier
454 101 Etienne Pallier
h3. F/ Gestion de l'authentification des utilisateurs via un annuaire LDAP
455 43 Etienne Pallier
456 100 Etienne Pallier
Labinvent peut être utilisé avec un LDAP. Si vous utilisez ce mode, ceci vous concerne :
457 37 Etienne Pallier
458 100 Etienne Pallier
* Une fois la connexion au LDAP configurée (configuration générale de l'application), toute personne enregistrée dans l'annuaire LDAP peut désormais se connecter au logiciel.
459 44 Etienne Pallier
460 100 Etienne Pallier
* Par défaut, un utilisateur provenant du LDAP a un statut de simple "utilisateur". Pour lui attribuer un rôle supérieur (privilégié), il faut aller dans "Gérer les utilisateurs privilégiés" du menu "Outils" pour l'y ajouter (liste déroulante des utilisateurs du LDAP), en lui attribuant un rôle.
461 44 Etienne Pallier
462 37 Etienne Pallier
---
463 43 Etienne Pallier
464 110 Etienne Pallier
h2. Utilisation du logiciel
465 110 Etienne Pallier
466 111 Etienne Pallier
Voir la page wiki "Utilisation" [[Documentation_utilisateurs]]
467 110 Etienne Pallier
468 112 Etienne Pallier
---
469 112 Etienne Pallier
470 1 Etienne Pallier
h2. MISE A JOUR du logiciel 
471 43 Etienne Pallier
472 1 Etienne Pallier
1) Mettre à jour le code
473 45 Etienne Pallier
474 43 Etienne Pallier
Aller sur la racine du projet et exécuter :
475 1 Etienne Pallier
476 43 Etienne Pallier
<pre>
477 1 Etienne Pallier
$ git pull
478 57 Alexandre Cases
</pre>
479 57 Alexandre Cases
480 56 Alexandre Cases
2) [Seulement si nécessaire] Mettre à jour la base de données
481 44 Etienne Pallier
482 56 Alexandre Cases
Aller dans le dossier database/update/
483 44 Etienne Pallier
484 56 Alexandre Cases
*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).
485 1 Etienne Pallier
Attention, il faut les exécuter *dans l'ordre chronologique*, un par un
486 1 Etienne Pallier
487 44 Etienne Pallier
Exemple:
488 54 Etienne Pallier
<pre>
489 57 Alexandre Cases
Placez vous dans ./database/update et éxécutez les commandes correspondantes : 
490 58 Alexandre Cases
491 57 Alexandre Cases
./db-update-2016-06-03.sh
492 57 Alexandre Cases
493 57 Alexandre Cases
./db-update-2016-06-06.sh
494 57 Alexandre Cases
495 57 Alexandre Cases
./db-update-2016-06-07.sh
496 57 Alexandre Cases
</pre>
497 54 Etienne Pallier
498 43 Etienne Pallier
499 56 Alexandre Cases
500 41 Etienne Pallier
Remarques : 
501 103 Etienne Pallier
* Le fichier README-LABINVENT.md contient la liste des mises à jour.
502 55 Etienne Pallier
503 1 Etienne Pallier
---
504 55 Etienne Pallier
505 55 Etienne Pallier
h2. MODE PANIQUE
506 55 Etienne Pallier
507 55 Etienne Pallier
Vous avez changé la configuration du LDAP et elle ne fonctionne plus !
508 55 Etienne Pallier
Du coup, vous ne pouvez plus vous connecter au site !
509 106 Etienne Pallier
Pas de panique, le mode panique est là !
510 106 Etienne Pallier
Il suffit de repasser le logiciel en mode INSTALL pour pouvoir y accéder sans connexion.
511 105 Etienne Pallier
Pour cela, exécuter le script mode_panique.sh qui se trouve dans le dossier database/ :
512 1 Etienne Pallier
513 1 Etienne Pallier
<pre>
514 105 Etienne Pallier
./mode_panique.sh
515 1 Etienne Pallier
</pre>
516 1 Etienne Pallier
517 107 Etienne Pallier
(
518 108 Etienne Pallier
_Si vous préférez, vous pouvez aussi exécuter manuellement la requête sql set_mode_install.sql qui se trouve dans le même dossier:_
519 105 Etienne Pallier
mysql -u login -p labinvent2 < set_mode_install.sql
520 1 Etienne Pallier
_Remplacer 'login' par le 'username' défini dans votre fichier config/app.php dans la section Datasources (default)_
521 1 Etienne Pallier
_Remplacer 'labinvent2' par le 'database' défini au même endroit_
522 107 Etienne Pallier
_Ou bien exécuter cette requête depuis phpmyadmin_
523 105 Etienne Pallier
)