Installation

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