Installation

Version 126 (Thibaud Ajas, 04/11/2017 03:37 pm)

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 125 Thibaud Ajas
* COMMENT formatter votre wiki Redmine : 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 1 Etienne Pallier
85 126 Thibaud Ajas
Puis vérifiez que votre configuration soit OK :
86 1 Etienne Pallier
87 1 Etienne Pallier
$ cat ~/.gitconfig 
88 1 Etienne Pallier
[user]
89 1 Etienne Pallier
	name = Etienne Pallier
90 1 Etienne Pallier
	email = epallier@irap.omp.eu
91 1 Etienne Pallier
[http]
92 1 Etienne Pallier
	sslVerify = false
93 1 Etienne Pallier
[push]
94 1 Etienne Pallier
	default = simple
95 1 Etienne Pallier
</pre>
96 1 Etienne Pallier
97 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)
98 1 Etienne Pallier
99 126 Thibaud Ajas
Cela va créer un dossier "labinvent" qui contiendra votre projet (avec un sous dossier ".git" qui sert à la synchronisation avec le dépot git).
100 126 Thibaud Ajas
(Seulement pour windows) : Obtenir git pour windows :
101 1 Etienne Pallier
102 126 Thibaud Ajas
 * Téléchargez git sur https://git-scm.com/download/win
103 126 Thibaud Ajas
 * Lancez l'installation (gardez la configuration par défaut)
104 126 Thibaud Ajas
 * Un fois installé, lancer une invite de commande (Touche Windows+R, tapez cmd, touche entrer)
105 1 Etienne Pallier
<pre>
106 1 Etienne Pallier
$ git config --global http.sslVerify false
107 1 Etienne Pallier
</pre>
108 126 Thibaud Ajas
Vous pouvez désormais utiliser git depuis une invite de commande ou depuis l'interface graphique de git.
109 1 Etienne Pallier
110 53 Etienne Pallier
*2) Préparation*
111 1 Etienne Pallier
112 60 Etienne Pallier
* 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 : 
113 1 Etienne Pallier
> sudo chown -R nom_utilisateur LABINVENT
114 1 Etienne Pallier
115 1 Etienne Pallier
* Placer cette archive à l'endroit voulu, 2 possibilités :
116 1 Etienne Pallier
- (1) soit vous placez cette archive directement dans le repertoire des sites webs du serveur web (par exemple /var/www/html/localhost/public_html/)
117 59 Etienne Pallier
- (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/)
118 1 Etienne Pallier
119 1 Etienne Pallier
h2. INSTALLATION
120 1 Etienne Pallier
121 1 Etienne Pallier
h3. A/ PREREQUIS
122 1 Etienne Pallier
123 61 Etienne Pallier
Le logiciel nécessite une combinaison "AMP" pour fonctionner, soit les 3 pré-requis suivants :
124 62 Etienne Pallier
125 73 Etienne Pallier
* un serveur web Apache
126 73 Etienne Pallier
* un serveur de base de données Mysql
127 73 Etienne Pallier
* le langage Php en version 5.5.9 minimum (5.6 recommandé)
128 1 Etienne Pallier
129 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.
130 63 Etienne Pallier
131 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).
132 61 Etienne Pallier
133 61 Etienne Pallier
Sur Mac, vous pouvez utiliser XAMPP (ou autre équivalent) ou bien installer chacun des 3 éléments séparément via MacPort.
134 61 Etienne Pallier
135 70 Etienne Pallier
Sur Linux, voici la démarche à suivre :
136 1 Etienne Pallier
137 75 Etienne Pallier
h4. *1) Installation des prérequis*
138 72 Etienne Pallier
139 119 Etienne Pallier
* Exemple pour Cent OS 6.7 (fait en 2016) :
140 35 Alexandre Cases
<pre>
141 71 Etienne Pallier
142 74 Etienne Pallier
Mettre à jour le serveur:
143 71 Etienne Pallier
$ sudo yum kernel
144 71 Etienne Pallier
(restart)
145 71 Etienne Pallier
$ sudo yum update
146 71 Etienne Pallier
147 35 Alexandre Cases
Pour installer Apache, MySQL & PHP 5.3 :
148 35 Alexandre Cases
--> https://www.zerostopbits.com/how-to-install-apache-mysql-and-php-on-centos-6-7/
149 35 Alexandre Cases
150 35 Alexandre Cases
Pour mettre à jour PHP de la 5.3 à la 5.6
151 71 Etienne Pallier
--> https://www.zerostopbits.com/how-to-upgrade-php-5-3-to-php-5-6-on-centos-6-7/
152 1 Etienne Pallier
153 71 Etienne Pallier
Mettre à jour Mysql (version 5.1 à 5.5):
154 71 Etienne Pallier
$ sudo yum update
155 71 Etienne Pallier
156 1 Etienne Pallier
</pre>
157 1 Etienne Pallier
158 70 Etienne Pallier
159 119 Etienne Pallier
* Exemple pour une distribution UBuntu 14.04.4 (fait en 2016) :
160 70 Etienne Pallier
161 1 Etienne Pallier
<pre>
162 1 Etienne Pallier
163 72 Etienne Pallier
Pour commencer il faut mettre à jour les "repository" de apt :
164 72 Etienne Pallier
$ sudo apt-get update && sudo apt-get upgrade
165 1 Etienne Pallier
166 72 Etienne Pallier
Installer un serveur web (Apache) :
167 72 Etienne Pallier
$ sudo apt-get install apache2
168 70 Etienne Pallier
169 72 Etienne Pallier
Installer un serveur de base de données (MySQL):
170 72 Etienne Pallier
$ sudo apt-get install mysql-server 
171 72 Etienne Pallier
172 72 Etienne Pallier
Installer le langage PHP en version 5.5.9 minimum (5.6 recommandé)
173 72 Etienne Pallier
$ sudo apt-get install php5 php-pear
174 72 Etienne Pallier
$ sudo apt-get install php5-mysql
175 72 Etienne Pallier
176 63 Etienne Pallier
</pre>
177 63 Etienne Pallier
178 119 Etienne Pallier
* Exemple pour une distribution Fedora 20+ (fait en avril 2017) :
179 114 Etienne Pallier
180 115 Etienne Pallier
https://www.digitalocean.com/community/tutorials/how-to-install-lamp-linux-apache-mysql-php-on-fedora
181 115 Etienne Pallier
182 114 Etienne Pallier
<pre>
183 114 Etienne Pallier
184 114 Etienne Pallier
Pour commencer il faut mettre à jour l'OS :
185 115 Etienne Pallier
$ sudo dnf update dnf
186 115 Etienne Pallier
$ sudo dnf update kernel
187 115 Etienne Pallier
$ sudo dnf update
188 115 Etienne Pallier
189 115 Etienne Pallier
Installer git:
190 1 Etienne Pallier
$ sudo dnf install git
191 115 Etienne Pallier
192 115 Etienne Pallier
Installer php :
193 115 Etienne Pallier
$ sudo dnf install php
194 117 Etienne Pallier
$ sudo dnf install php-mysql
195 115 Etienne Pallier
196 114 Etienne Pallier
Installer un serveur web (Apache) :
197 115 Etienne Pallier
$ sudo dnf install httpd
198 116 Etienne Pallier
$ sudo systemctl enable httpd
199 116 Etienne Pallier
(ln -s '/usr/lib/systemd/system/httpd.service' '/etc/systemd/system/multi-user.target.wants/httpd.service')
200 116 Etienne Pallier
$ sudo systemctl start httpd
201 1 Etienne Pallier
202 114 Etienne Pallier
Installer un serveur de base de données (MySQL):
203 115 Etienne Pallier
$ sudo dnf install mariadb mariadb-server -y
204 116 Etienne Pallier
$ sudo systemctl enable mariadb
205 116 Etienne Pallier
(ln -s '/usr/lib/systemd/system/mariadb.service' '/etc/systemd/system/multi-user.target.wants/mariadb.service')
206 115 Etienne Pallier
$ sudo systemctl start mariadb
207 118 Etienne Pallier
$ sudo mysql_secure_installation
208 118 Etienne Pallier
209 118 Etienne Pallier
Installer phpmyadmin (par defaut accessible uniquement depuis localhost) :
210 118 Etienne Pallier
$ sudo dnf install phpmyadmin
211 118 Etienne Pallier
$ sudo systemctl restart httpd
212 118 Etienne Pallier
213 114 Etienne Pallier
214 114 Etienne Pallier
</pre>
215 114 Etienne Pallier
216 75 Etienne Pallier
h4. *2) Configuration des prérequis*
217 1 Etienne Pallier
218 78 Etienne Pallier
* *(optionnel) Configuration du serveur web (Apache)*
219 76 Etienne Pallier
220 79 Etienne Pallier
 * KeepAlive:
221 63 Etienne Pallier
Editer le fichier /etc/apache2/apache2.conf et mettre le paramêtre "KeepAlive" à "Off" :
222 63 Etienne Pallier
<pre>
223 63 Etienne Pallier
KeepAlive Off
224 63 Etienne Pallier
</pre>
225 63 Etienne Pallier
226 79 Etienne Pallier
 * event et prefork modules:
227 64 Etienne Pallier
Par défaut Apache utilise un "event module" et PHP un "prefork module".
228 63 Etienne Pallier
Il faut désactiver le 1er module et activer le second :
229 63 Etienne Pallier
<pre>
230 63 Etienne Pallier
sudo a2dismod mpm_event
231 63 Etienne Pallier
sudo a2enmod mpm_prefork
232 1 Etienne Pallier
</pre>
233 64 Etienne Pallier
234 86 Etienne Pallier
 * Activer le mode rewrite de Apache:
235 86 Etienne Pallier
<pre>
236 86 Etienne Pallier
sudo a2enmod rewrite
237 86 Etienne Pallier
</pre>
238 86 Etienne Pallier
239 64 Etienne Pallier
240 30 Alexandre Cases
* *Configuration de Php*
241 1 Etienne Pallier
242 80 Etienne Pallier
 * Extension PHP "intl":
243 81 Etienne Pallier
(Pour savoir quelle configuration est utilisée : php --ini)
244 79 Etienne Pallier
Vérifier qu'elle est activée dans le php.ini
245 1 Etienne Pallier
<pre>
246 80 Etienne Pallier
php --ini|grep intl
247 80 Etienne Pallier
Sinon, l'ajouter dans le php.ini:
248 30 Alexandre Cases
extension=intl.so
249 80 Etienne Pallier
</pre>
250 1 Etienne Pallier
Vérifier qu'elle est bien installée :
251 1 Etienne Pallier
<pre>
252 1 Etienne Pallier
$ php -m| grep intl
253 1 Etienne Pallier
(ça devrait retourner "intl")
254 76 Etienne Pallier
Sinon, l'installer
255 1 Etienne Pallier
Ubuntu:
256 76 Etienne Pallier
$ sudo apt-get install php5-intl
257 76 Etienne Pallier
CentOS:
258 76 Etienne Pallier
$ sudo yum install php-intl
259 76 Etienne Pallier
MacOS avec XAMPP: 
260 1 Etienne Pallier
cf http://stackoverflow.com/questions/27886117/php-intl-installation-on-xampp
261 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
262 1 Etienne Pallier
cd /Applications/XAMPP/bin
263 1 Etienne Pallier
sudo ./pecl install intl
264 1 Etienne Pallier
(Vérifier qu'elle a bien été installée dans /Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20131226/)
265 1 Etienne Pallier
</pre>
266 30 Alexandre Cases
267 79 Etienne Pallier
 * (optionnel) Dossier de log:
268 79 Etienne Pallier
Dans le fichier /etc/php5/apache2/php.ini, vous devez positionner votre répertoire de log :
269 76 Etienne Pallier
<pre>
270 76 Etienne Pallier
error_reporting = E_ALL
271 76 Etienne Pallier
error_log = /var/log/php/error.log
272 76 Etienne Pallier
max_input_time = 30
273 76 Etienne Pallier
</pre>
274 79 Etienne Pallier
Ensuite il faut créer le dossier en question et donner à apache (ici www-data) les droits sur ce dossier :
275 76 Etienne Pallier
<pre>
276 76 Etienne Pallier
sudo mkdir /var/log/php
277 76 Etienne Pallier
sudo chown www-data /var/log/php
278 76 Etienne Pallier
</pre>
279 1 Etienne Pallier
280 83 Etienne Pallier
* *Recharger la configuration du serveur Web*
281 82 Etienne Pallier
<pre>
282 84 Etienne Pallier
$ sudo service httpd reload
283 83 Etienne Pallier
</pre>
284 82 Etienne Pallier
285 1 Etienne Pallier
h3. B/ INSTALLATION
286 1 Etienne Pallier
287 1 Etienne Pallier
* Aller dans le repertoire d'installation :
288 1 Etienne Pallier
cd install/
289 26 Etienne Pallier
290 26 Etienne Pallier
291 1 Etienne Pallier
* Exécuter le script d'installation :
292 1 Etienne Pallier
./installation.sh
293 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).
294 1 Etienne Pallier
(Conseil : à la plupart des questions, laissez les réponses par défaut)
295 23 Etienne Pallier
296 96 Etienne Pallier
---
297 96 Etienne Pallier
298 85 Etienne Pallier
h3. C/ CONFIGURATION DU SITE WEB
299 1 Etienne Pallier
300 121 Thibaud Ajas
Le site est maintenant installé, il vous faut maintenant le configurer.
301 121 Thibaud Ajas
Si vous voulez le conserver, le script de creation de la BD est database/build.sql.
302 121 Thibaud Ajas
Le fichier de configuration app.php a été écrasé, vous pouvez retrouver votre ancienne configuration dans le fichier app.php.ORIG.
303 121 Thibaud Ajas
304 1 Etienne Pallier
* Autoriser les fichiers .htaccess sur le site :
305 1 Etienne Pallier
(cf http://book.cakephp.org/3.0/fr/installation.html#url-rewriting)
306 1 Etienne Pallier
<pre>
307 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) :
308 1 Etienne Pallier
309 7 Alexandre Cases
<Directory />
310 23 Etienne Pallier
  Options FollowSymLinks
311 1 Etienne Pallier
  AllowOverride All
312 1 Etienne Pallier
  Order deny,allow
313 1 Etienne Pallier
  Deny from all
314 1 Etienne Pallier
  </Directory>
315 6 Alexandre Cases
316 6 Alexandre Cases
Sinon, vous pouvez ajouter ceci, uniquement pour Labinvent, les attributs seront à cette valeur uniquement pour le dossier labinvent et son contenu :
317 6 Alexandre Cases
318 120 Thibaud Ajas
<Directory /var/www/html/labinvent>
319 6 Alexandre Cases
  Options FollowSymLinks
320 6 Alexandre Cases
  AllowOverride All
321 6 Alexandre Cases
</Directory>
322 6 Alexandre Cases
323 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 :
324 6 Alexandre Cases
<Directory /chemin/abosolu/vers/labinvent>
325 1 Etienne Pallier
326 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
327 85 Etienne Pallier
328 85 Etienne Pallier
NB: Une autre solution consisterait à créer un virtual host dédié
329 6 Alexandre Cases
</pre>
330 6 Alexandre Cases
331 6 Alexandre Cases
332 6 Alexandre Cases
333 6 Alexandre Cases
* Redémarrer Apache 
334 6 Alexandre Cases
335 87 Etienne Pallier
* Tester l'accès web à l'application : http://localhost/labinvent/
336 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.
337 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...
338 98 Etienne Pallier
(La page affichera un message si l'URL-Rewriting ne fonctionne pas correctement).
339 98 Etienne Pallier
Si tout est au vert, passez à l'étape suivante (D/ Configuration de l'application).
340 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:
341 1 Etienne Pallier
342 89 Etienne Pallier
* Extension PHP "mbstring" et librairie "zlib"
343 90 Etienne Pallier
La collection de librairies est normalement déja installée avec PHP en tant que dépendance, sinon faire :
344 90 Etienne Pallier
<pre>
345 90 Etienne Pallier
sudo apt-get install libapache2-mod-php5
346 90 Etienne Pallier
</pre>
347 90 Etienne Pallier
=> Redémarrer votre serveur et vérifier que la ligne correspondant à l'extension soit passée au vert.
348 6 Alexandre Cases
349 6 Alexandre Cases
* Librairie PHP "php-gd" 
350 90 Etienne Pallier
<pre>
351 90 Etienne Pallier
sudo apt-get install php5-gd
352 90 Etienne Pallier
</pre>
353 90 Etienne Pallier
=> Redémarrer votre serveur et vérifier que la ligne correspondant à l'extension soit passée au vert.
354 1 Etienne Pallier
Si ce n'est toujours pas le cas, aller dans le fichier /etc/php5/apache2/php.ini :
355 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 : 
356 6 Alexandre Cases
<pre>
357 6 Alexandre Cases
extension=gd.so
358 6 Alexandre Cases
</pre>
359 1 Etienne Pallier
360 90 Etienne Pallier
* (Optionnel) Il est aussi conseillé d'avoir un "phpmyadmin" installé pour pouvoir gérer manuellement la base de données.
361 90 Etienne Pallier
<pre>
362 90 Etienne Pallier
sudo apt-get php5-mcrypt
363 90 Etienne Pallier
sudo apt-get install phpmyadmin
364 90 Etienne Pallier
Pensez à activer l'extension mcrypt : sudo php5enmod mcrypt
365 90 Etienne Pallier
</pre>
366 1 Etienne Pallier
367 90 Etienne Pallier
* Redémarrer votre serveur Web et vérifier que la ligne correspondant à l'extension soit passée au vert.
368 90 Etienne Pallier
<pre>
369 90 Etienne Pallier
sudo service apache2 restart
370 1 Etienne Pallier
(ou simplement le recharger: utiliser "reload" au lieu de "restart")
371 90 Etienne Pallier
</pre>
372 1 Etienne Pallier
373 1 Etienne Pallier
* URL-Rewriting
374 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 : 
375 1 Etienne Pallier
<pre>
376 7 Alexandre Cases
Fichier ./.htaccess : 
377 1 Etienne Pallier
<IfModule mod_rewrite.c>
378 1 Etienne Pallier
    RewriteEngine on
379 1 Etienne Pallier
    RewriteRule    ^$    webroot/    [L]
380 1 Etienne Pallier
    RewriteRule    (.*) webroot/$1    [L]
381 1 Etienne Pallier
</IfModule>
382 27 Etienne Pallier
383 29 Etienne Pallier
Fichier ./webroot/.htaccess : 
384 27 Etienne Pallier
<IfModule mod_rewrite.c>
385 1 Etienne Pallier
    RewriteEngine On
386 1 Etienne Pallier
    RewriteCond %{REQUEST_FILENAME} !-f
387 27 Etienne Pallier
    RewriteRule ^ index.php [L]
388 27 Etienne Pallier
</IfModule>
389 32 Etienne Pallier
</pre>
390 94 Etienne Pallier
391 1 Etienne Pallier
392 95 Etienne Pallier
---
393 95 Etienne Pallier
394 97 Etienne Pallier
h3. D/ CONFIGURATION DU LOGICIEL D'INVENTAIRE
395 94 Etienne Pallier
396 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".
397 34 Alexandre Cases
398 99 Etienne Pallier
* Maintenant, sortez du "mode installation" en cliquant sur le bouton "Stopper le mode installation"
399 1 Etienne Pallier
400 99 Etienne Pallier
* Allez dans le dossier config à la racine du projet, et ouvrez le fichier config/app.php
401 34 Alexandre Cases
<pre>
402 11 Alexandre Cases
Allez à la ligne 12 :
403 11 Alexandre Cases
'debug' => filter_var(env('DEBUG', true), FILTER_VALIDATE_BOOLEAN),
404 1 Etienne Pallier
405 11 Alexandre Cases
Et remplacer le true par false :
406 11 Alexandre Cases
'debug' => filter_var(env('DEBUG', false), FILTER_VALIDATE_BOOLEAN),
407 11 Alexandre Cases
</pre>
408 1 Etienne Pallier
409 104 Etienne Pallier
* Connectez-vous à l'aide du login utilisateur créé lors de la création de la base, SANS mot de passe
410 28 Etienne Pallier
411 99 Etienne Pallier
* Si vous n'avez pas configuré l'application avec le mode install
412 14 Alexandre Cases
Dans le menu latéral, cliquez sur le lien "Outils", puis sur "Configuration générale de l'application".
413 99 Etienne Pallier
Sur cette page vous pouvez voir la configuration de votre application (nom, mode, ...) et l'éditer.
414 14 Alexandre Cases
415 99 Etienne Pallier
* Ensuite retournez dans la liste des outils et cliquez sur "Gérer le contenu variable de l'application".
416 21 Alexandre Cases
417 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..
418 94 Etienne Pallier
419 1 Etienne Pallier
420 95 Etienne Pallier
---
421 94 Etienne Pallier
422 94 Etienne Pallier
h3. E/ TESTS
423 94 Etienne Pallier
424 123 Thibaud Ajas
* Verifiez que la BD d'inventaire ($bddName) à bien été créée (avec phpmyadmin par exemple).
425 1 Etienne Pallier
426 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'.
427 94 Etienne Pallier
428 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.
429 122 Thibaud Ajas
430 122 Thibaud Ajas
* Testez l'accès à l'application par le web
431 47 Etienne Pallier
432 101 Etienne Pallier
h3. F/ Gestion de l'authentification des utilisateurs via un annuaire LDAP
433 43 Etienne Pallier
434 100 Etienne Pallier
Labinvent peut être utilisé avec un LDAP. Si vous utilisez ce mode, ceci vous concerne :
435 37 Etienne Pallier
436 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.
437 44 Etienne Pallier
438 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.
439 44 Etienne Pallier
440 37 Etienne Pallier
---
441 43 Etienne Pallier
442 110 Etienne Pallier
h2. Utilisation du logiciel
443 110 Etienne Pallier
444 111 Etienne Pallier
Voir la page wiki "Utilisation" [[Documentation_utilisateurs]]
445 110 Etienne Pallier
446 112 Etienne Pallier
---
447 112 Etienne Pallier
448 1 Etienne Pallier
h2. MISE A JOUR du logiciel 
449 43 Etienne Pallier
450 1 Etienne Pallier
1) Mettre à jour le code
451 45 Etienne Pallier
452 43 Etienne Pallier
Aller sur la racine du projet et exécuter :
453 1 Etienne Pallier
454 43 Etienne Pallier
<pre>
455 1 Etienne Pallier
$ git pull
456 57 Alexandre Cases
</pre>
457 57 Alexandre Cases
458 56 Alexandre Cases
2) [Seulement si nécessaire] Mettre à jour la base de données
459 44 Etienne Pallier
460 56 Alexandre Cases
Aller dans le dossier database/update/
461 44 Etienne Pallier
462 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).
463 1 Etienne Pallier
Attention, il faut les exécuter *dans l'ordre chronologique*, un par un
464 1 Etienne Pallier
465 44 Etienne Pallier
Exemple:
466 54 Etienne Pallier
<pre>
467 57 Alexandre Cases
Placez vous dans ./database/update et éxécutez les commandes correspondantes : 
468 58 Alexandre Cases
469 57 Alexandre Cases
./db-update-2016-06-03.sh
470 57 Alexandre Cases
471 57 Alexandre Cases
./db-update-2016-06-06.sh
472 57 Alexandre Cases
473 57 Alexandre Cases
./db-update-2016-06-07.sh
474 57 Alexandre Cases
</pre>
475 54 Etienne Pallier
476 43 Etienne Pallier
477 56 Alexandre Cases
478 41 Etienne Pallier
Remarques : 
479 103 Etienne Pallier
* Le fichier README-LABINVENT.md contient la liste des mises à jour.
480 55 Etienne Pallier
481 1 Etienne Pallier
---
482 55 Etienne Pallier
483 55 Etienne Pallier
h2. MODE PANIQUE
484 55 Etienne Pallier
485 55 Etienne Pallier
Vous avez changé la configuration du LDAP et elle ne fonctionne plus !
486 55 Etienne Pallier
Du coup, vous ne pouvez plus vous connecter au site !
487 106 Etienne Pallier
Pas de panique, le mode panique est là !
488 106 Etienne Pallier
Il suffit de repasser le logiciel en mode INSTALL pour pouvoir y accéder sans connexion.
489 105 Etienne Pallier
Pour cela, exécuter le script mode_panique.sh qui se trouve dans le dossier database/ :
490 1 Etienne Pallier
491 1 Etienne Pallier
<pre>
492 105 Etienne Pallier
./mode_panique.sh
493 1 Etienne Pallier
</pre>
494 1 Etienne Pallier
495 107 Etienne Pallier
(
496 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:_
497 105 Etienne Pallier
mysql -u login -p labinvent2 < set_mode_install.sql
498 1 Etienne Pallier
_Remplacer 'login' par le 'username' défini dans votre fichier config/app.php dans la section Datasources (default)_
499 1 Etienne Pallier
_Remplacer 'labinvent2' par le 'database' défini au même endroit_
500 107 Etienne Pallier
_Ou bien exécuter cette requête depuis phpmyadmin_
501 105 Etienne Pallier
)