Installation

Version 384 (Etienne Pallier, 01/13/2020 05:07 pm)

1 1 Etienne Pallier
h1. Labinvent 2.0 (cakephp3) - Installation
2 1 Etienne Pallier
3 384 Etienne Pallier
*ATTENTION, CETTE DOC EST OBSOLÈTE, LA NOUVELLE DOC EST SUR https://tinyurl.com/labinvent*
4 1 Etienne Pallier
5 20 Etienne Pallier
Cette page décrit la phase d'installation du logiciel.
6 336 Etienne Pallier
7 345 Etienne Pallier
*Un gros effort a été fait pour que cette doc soit le plus à jour possible, merci de bien vouloir la lire +ATTENTIVEMENT+*.
8 349 Etienne Pallier
*Les auteurs de cette doc eux-mêmes la suivent +à la lettre+ (ligne par ligne, mot par mot), pourquoi donc feriez-vous autrement ?*
9 348 Etienne Pallier
*N'hésitez pas aussi à la mettre à jour vous-mêmes quand c'est nécessaire.*
10 336 Etienne Pallier
11 279 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
12 20 Etienne Pallier
13 20 Etienne Pallier
[ [[Labinvent_nouvelle_version|Retour au sommmaire]] ]
14 20 Etienne Pallier
15 20 Etienne Pallier
16 1 Etienne Pallier
{{toc}}
17 1 Etienne Pallier
18 1 Etienne Pallier
19 1 Etienne Pallier
20 1 Etienne Pallier
---
21 1 Etienne Pallier
22 1 Etienne Pallier
h2. LIENS UTILES
23 1 Etienne Pallier
24 133 Thibaud Ajas
* HOWTO Format Redmine Wiki : http://www.redmine.org/projects/redmine/wiki/FrRedmineWikiFormatting
25 1 Etienne Pallier
26 51 Etienne Pallier
* *Fichier README* : https://gitlab.irap.omp.eu/epallier/labinvent/blob/master/README-LABINVENT.md
27 51 Etienne Pallier
28 227 Etienne Pallier
* *Version majeure en cours (2.7)*: https://projects.irap.omp.eu/versions/162
29 12 Etienne Pallier
30 50 Etienne Pallier
* Liste complète des évolutions: https://gitlab.irap.omp.eu/epallier/labinvent/commits/master
31 50 Etienne Pallier
32 12 Etienne Pallier
* Browse files (gitlab): https://gitlab.irap.omp.eu/epallier/labinvent/tree/master
33 1 Etienne Pallier
34 1 Etienne Pallier
---
35 1 Etienne Pallier
36 257 Etienne Pallier
h2. VERSION DE DEMO (en ligne)
37 214 Etienne Pallier
38 378 Etienne Pallier
Voici un site de démo de LabInvent.
39 378 Etienne Pallier
40 378 Etienne Pallier
Notamment, en s'y connectant avec le login "utilisateur", on peut voir le workflow par défaut qui s'affiche sur la page d'accueil (pour tout utilisateur lambda, non privilégié).
41 378 Etienne Pallier
42 379 Etienne Pallier
Logins disponibles (sans mdp), correspondant aux 3 profils principaux (excepté le profil "superadmin"):
43 378 Etienne Pallier
44 378 Etienne Pallier
"utilisateur", "responsable", et "admin" 
45 378 Etienne Pallier
46 378 Etienne Pallier
47 214 Etienne Pallier
http://planetoweb2.cesr.fr/labinvent2
48 228 Etienne Pallier
49 1 Etienne Pallier
50 215 Etienne Pallier
---
51 214 Etienne Pallier
52 215 Etienne Pallier
h2. RECUPERATION du logiciel
53 1 Etienne Pallier
54 1 Etienne Pallier
55 1 Etienne Pallier
56 113 Etienne Pallier
*1) Deux options*
57 113 Etienne Pallier
58 1 Etienne Pallier
Deux options se présentent à vous :
59 1 Etienne Pallier
60 364 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) : considérez alors cette version comme une *version de test jetable car il vous faudra recommencer pour obtenir chaque nouvelle version*, pas très pratique donc, mais rapide
61 339 Etienne Pallier
 * b) (*méthode préférée*) *soit vous récupérez une +version synchronisée+*, avec git (nécessité d'avoir un login), ce qui vous permettra de rester constamment à jour (sans réinstallation), et même de contribuer à l'évolution du logiciel si vous le désirez
62 1 Etienne Pallier
63 341 Etienne Pallier
*a) (+NON RECOMMANDÉ+) Téléchargement anonyme (version statique, non synchronisée, jetable)*
64 1 Etienne Pallier
65 124 Thibaud Ajas
Vous pouvez télécharger la version actuelle du logiciel.
66 1 Etienne Pallier
67 124 Thibaud Ajas
Pour cela, aller sur : https://gitlab.irap.omp.eu/epallier/labinvent/tree/master
68 1 Etienne Pallier
69 124 Thibaud Ajas
Cliquez sur : "Download zip" dans le coin en haut à droite.
70 1 Etienne Pallier
71 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".
72 1 Etienne Pallier
73 124 Thibaud Ajas
Dans sa documentation, le logiciel sera désigné par "LABINVENT".
74 1 Etienne Pallier
75 124 Thibaud Ajas
Vous pouvez renommer "labinvent.git" en "labinvent" si vous le souhaitez ("mv labinvent.git labinvent" ou clic droit->Renommer).
76 1 Etienne Pallier
77 1 Etienne Pallier
78 341 Etienne Pallier
*b) (+RECOMMANDÉ+) Récupérer le logiciel via GIT (version dynamique, synchronisée, nécessité d'un login)*
79 216 Etienne Pallier
80 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,
81 365 Etienne Pallier
puis remplissez la section "Sign up". Ensuite, envoyez un email à epallier et à ebourrec (AT irap.omp.eu)
82 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.
83 113 Etienne Pallier
84 126 Thibaud Ajas
(Si vous utilisez Windows, vous DEVEZ avant tout installer git pour windows, voir plus bas "Obtenir git pour windows")
85 1 Etienne Pallier
86 126 Thibaud Ajas
En récupérant directement le logiciel via git, vous allez avoir une version dynamiquement synchronisée.
87 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".
88 1 Etienne Pallier
89 126 Thibaud Ajas
* (Depuis Eclipse : Voir plus bas, section "A L'ATTENTION DES UTILISATEURS D'ECLIPSE")
90 1 Etienne Pallier
91 126 Thibaud Ajas
* Depuis un terminal:
92 1 Etienne Pallier
93 1 Etienne Pallier
<pre>
94 1 Etienne Pallier
git clone https://gitlab.irap.omp.eu/epallier/labinvent.git labinvent
95 1 Etienne Pallier
</pre>
96 1 Etienne Pallier
97 367 Etienne Pallier
_(Ou aussi depuis ssh, seulement au sein de l'IRAP : git clone git@gitlab.irap.omp.eu:epallier/labinvent.git labinvent)_
98 1 Etienne Pallier
99 126 Thibaud Ajas
Si vous obtenez ce message d'erreur ... :
100 1 Etienne Pallier
<pre>
101 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.
102 1 Etienne Pallier
</pre>
103 1 Etienne Pallier
104 126 Thibaud Ajas
...tapez cette commande (et relancez une commade "git clone"):
105 1 Etienne Pallier
<pre>
106 1 Etienne Pallier
$ git config --global http.sslVerify false
107 127 Thibaud Ajas
</pre>
108 1 Etienne Pallier
Puis vérifiez que votre configuration soit OK :
109 128 Thibaud Ajas
<pre>
110 134 Etienne Pallier
$ git config --list
111 134 Etienne Pallier
(ou encore : cat ~/.gitconfig)
112 135 Etienne Pallier
113 1 Etienne Pallier
[user]
114 1 Etienne Pallier
	name = Etienne Pallier
115 368 Etienne Pallier
	email = epallier AT irap...
116 1 Etienne Pallier
[http]
117 1 Etienne Pallier
	sslVerify = false
118 1 Etienne Pallier
[push]
119 1 Etienne Pallier
	default = simple
120 1 Etienne Pallier
</pre>
121 1 Etienne Pallier
122 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)
123 1 Etienne Pallier
124 1 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).
125 136 Etienne Pallier
126 371 Etienne Pallier
Par défaut, vous êtes sur la branche "master" du git. Elle contient une version stable du logiciel. Si vous désirez seulement utiliser ce logiciel SANS LE MODIFIER, alors restez sur la branche "master", vous y serez très bien ;-). Attention seulement de ne faire AUCUNE modification sur la branche master !!!
127 1 Etienne Pallier
128 372 Etienne Pallier
Par contre, si vous souhaitez contribuer au développement de ce logiciel, et donc le modifier, +vous devez absolument changer de branche+ et vous placer sur la branche "dev" (ou bien une sous-branche dédiée comme "dev-IRAP", ou "dev-LATMOS") : 
129 216 Etienne Pallier
<pre>
130 216 Etienne Pallier
cd labinvent/
131 216 Etienne Pallier
$ git branch
132 216 Etienne Pallier
$ git checkout dev
133 216 Etienne Pallier
$ git branch
134 333 Etienne Pallier
</pre>
135 333 Etienne Pallier
136 216 Etienne Pallier
137 136 Etienne Pallier
*Seulement pour Windows* : 
138 136 Etienne Pallier
139 136 Etienne Pallier
Obtenir git pour windows :
140 136 Etienne Pallier
141 126 Thibaud Ajas
 * Téléchargez git sur https://git-scm.com/download/win
142 126 Thibaud Ajas
 * Lancez l'installation (gardez la configuration par défaut)
143 136 Etienne Pallier
 * Une fois installé, lancer une invite de commande (Touche Windows+R, tapez cmd, touche entrer)
144 1 Etienne Pallier
<pre>
145 1 Etienne Pallier
$ git config --global http.sslVerify false
146 1 Etienne Pallier
</pre>
147 1 Etienne Pallier
Vous pouvez désormais utiliser git depuis une invite de commande ou depuis l'interface graphique de git.
148 136 Etienne Pallier
149 1 Etienne Pallier
150 53 Etienne Pallier
*2) Préparation*
151 1 Etienne Pallier
152 260 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ême (ou un autre user) le propriétaire : 
153 137 Etienne Pallier
> sudo chown -R nom_utilisateur labinvent/
154 1 Etienne Pallier
155 1 Etienne Pallier
156 215 Etienne Pallier
---
157 215 Etienne Pallier
158 1 Etienne Pallier
h2. INSTALLATION
159 1 Etienne Pallier
160 238 Etienne Pallier
h3. Plateformes testées
161 1 Etienne Pallier
162 240 Etienne Pallier
*- Fedora 20* (version test Thibault Ajas, IRAP, avril 2017)
163 239 Etienne Pallier
164 240 Etienne Pallier
*- Centos 6.6* (version de "production", SI IRAP ) :
165 239 Etienne Pallier
	- PHP : 5.6.22
166 239 Etienne Pallier
	- Mysql : 5.1.73-3.el6_5
167 239 Etienne Pallier
	- Apache : 2.2.15-39.el6.centos
168 239 Etienne Pallier
169 240 Etienne Pallier
*- Debian GNU/Linux 8.5* (jessie) (version de "production", IAS) :
170 239 Etienne Pallier
	- PHP : 5.6.22
171 239 Etienne Pallier
	- Mysql : MariaDB 10.0.25
172 239 Etienne Pallier
	- Apache : 2.4.10
173 239 Etienne Pallier
174 240 Etienne Pallier
*- Scientific Linux (=Centos) 6.4* (version dev/test Etienne Pallier linux, IRAP) :
175 239 Etienne Pallier
	- PHP : 5.6.30
176 239 Etienne Pallier
	- MYSQL : 5.5.56
177 239 Etienne Pallier
	- APACHE : 2.2.15
178 239 Etienne Pallier
179 243 Etienne Pallier
*- UBuntu 14.04.4* (Ancienne version dev/test Alexandre Cases, IRAP) :
180 243 Etienne Pallier
	- PHP : 5.5.9 (ne suffit plus)
181 239 Etienne Pallier
	- MYSQL : 5.5.47 
182 239 Etienne Pallier
	- Apache : 2.4.7
183 239 Etienne Pallier
184 263 Etienne Pallier
*- (17/1/18) Mac OS 10.13.2 avec brew* (version dev/test Etienne Pallier, IRAP) :
185 261 Etienne Pallier
	- PHP 7.2.0 + MySQL 5.7.20 + Apache 2.4.28
186 261 Etienne Pallier
187 239 Etienne Pallier
*- Mac OS 10.12.5 avec XAMPP* 5.6.3 et 7.1 (version dev/test Etienne Pallier, IRAP) :
188 1 Etienne Pallier
	- PHP 5.6.3 + MySQL 5.6.21 + Apache 2.4.10
189 261 Etienne Pallier
	- PHP7.1.6 + MariaDB 10.1.24 + Apache 2.4.25
190 238 Etienne Pallier
191 242 Etienne Pallier
h3. A/ PREREQUIS
192 1 Etienne Pallier
193 376 Etienne Pallier
Ce logiciel est multiplateforme (Linux, MacOS, et Windows).
194 373 Etienne Pallier
Il nécessite une combinaison "AMP" pour fonctionner, soit les 3 pré-requis suivants :
195 62 Etienne Pallier
196 361 Etienne Pallier
* un serveur web Apache (récent)
197 361 Etienne Pallier
* un serveur de base de données Mysql (récent)
198 361 Etienne Pallier
* le langage *Php en version 7.x* (recommandé), php 5.6 étant toujours supporté (pour le moment)
199 342 Etienne Pallier
* (N'installez PAS le framework CakePhp, il sera installé automatiquement pour vous !)
200 1 Etienne Pallier
201 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.
202 63 Etienne Pallier
203 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).
204 61 Etienne Pallier
205 320 Etienne Pallier
Sur Mac, vous pouvez installer chacun des 3 éléments séparément via HomeBrew (ou MacPort), ou plus simplement utiliser XAMPP ou MAMP, ou encore télécharger le paquet binaire Mac correspondant à chaque élément.
206 61 Etienne Pallier
207 141 Etienne Pallier
*Voici la démarche à suivre sur Linux* :
208 1 Etienne Pallier
209 75 Etienne Pallier
h4. *1) Installation des prérequis*
210 72 Etienne Pallier
211 356 Etienne Pallier
* *+Exemple pour Mac OS 10.13 avec brew+ (fait en janvier 2018) :*
212 380 Etienne Pallier
((
213 380 Etienne Pallier
Dans le détail : 
214 380 Etienne Pallier
OLD:  https://getgrav.org/blog/macos-sierra-apache-multiple-php-versions
215 381 Etienne Pallier
NEW:
216 381 Etienne Pallier
1 - https://getgrav.org/blog/macos-mojave-apache-upgrade-homebrew 
217 381 Etienne Pallier
2 - https://getgrav.org/blog/macos-mojave-apache-multiple-php-versions
218 380 Etienne Pallier
))
219 315 Etienne Pallier
<pre>
220 314 Etienne Pallier
Install Xcode:
221 314 Etienne Pallier
$ xcode-select --install
222 314 Etienne Pallier
223 1 Etienne Pallier
Install homebrew :
224 314 Etienne Pallier
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
225 316 Etienne Pallier
$ brew --version
226 316 Etienne Pallier
$ brew doctor
227 316 Etienne Pallier
$ brew tap homebrew/php
228 316 Etienne Pallier
$ brew update
229 316 Etienne Pallier
$ brew upgrade
230 316 Etienne Pallier
231 316 Etienne Pallier
Install Apache:
232 316 Etienne Pallier
Stop pre-installed Mac OS Apache:
233 316 Etienne Pallier
$ sudo apachectl stop
234 316 Etienne Pallier
$ sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null
235 316 Etienne Pallier
Install brew version:
236 316 Etienne Pallier
$ brew install httpd
237 316 Etienne Pallier
$ sudo brew services start httpd
238 316 Etienne Pallier
Go http://localhost:8080 and check it displays "It Works!"
239 316 Etienne Pallier
$ sudo apachectl -k restart
240 316 Etienne Pallier
$ tail -f /usr/local/var/log/httpd/error_log
241 316 Etienne Pallier
$ sudo apachectl start
242 316 Etienne Pallier
$ sudo apachectl stop
243 316 Etienne Pallier
$ sudo apachectl -k restart
244 316 Etienne Pallier
Edit /usr/local/etc/httpd/httpd.conf :
245 316 Etienne Pallier
- Listen 80 instead of 8080
246 316 Etienne Pallier
- you can change DocumentRoot "/usr/local/var/www" if you want (like DocumentRoot /Users/your_user/Sites, but I did not)
247 316 Etienne Pallier
- <Directory /usr/local/var/www> : AllowOverride All
248 316 Etienne Pallier
- uncomment LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so
249 316 Etienne Pallier
- user and group : by default "daemon" (or _www), but you could change to 
250 316 Etienne Pallier
User your_user
251 316 Etienne Pallier
Group staff
252 316 Etienne Pallier
(I did not)
253 316 Etienne Pallier
- ServerName localhost
254 316 Etienne Pallier
$ sudo apachectl -k restart
255 316 Etienne Pallier
Go to http://localhost:80 and check it displays "It Works!"
256 316 Etienne Pallier
257 316 Etienne Pallier
Install PHP (as many versions as you want):
258 316 Etienne Pallier
$ brew install php56 --with-httpd
259 317 Etienne Pallier
$ brew install php56-intl
260 316 Etienne Pallier
$ brew unlink php56
261 316 Etienne Pallier
$ brew install php70 --with-httpd
262 317 Etienne Pallier
$ brew install php70-intl
263 316 Etienne Pallier
$ brew unlink php70
264 316 Etienne Pallier
$ brew install php71 --with-httpd
265 317 Etienne Pallier
$ brew install php71-intl
266 316 Etienne Pallier
$ brew unlink php71
267 316 Etienne Pallier
$ brew install php72 --with-httpd
268 317 Etienne Pallier
$ brew install php72-intl
269 316 Etienne Pallier
Also, you may have the need to tweak configuration settings of PHP to your needs. A common thing to change is the memory setting, or the date.timezone configuration. The php.ini files for each version of PHP are located in the following directories:
270 316 Etienne Pallier
/usr/local/etc/php/5.6/php.ini
271 316 Etienne Pallier
/usr/local/etc/php/7.0/php.ini
272 316 Etienne Pallier
/usr/local/etc/php/7.1/php.ini
273 316 Etienne Pallier
/usr/local/etc/php/7.2/php.ini
274 316 Etienne Pallier
Let's switch back to the first PHP version now:
275 316 Etienne Pallier
$ brew unlink php72
276 316 Etienne Pallier
$ brew link php56
277 316 Etienne Pallier
278 316 Etienne Pallier
Apache PHP Setup:
279 317 Etienne Pallier
Edit /usr/local/etc/httpd/httpd.conf.
280 317 Etienne Pallier
- Modify the paths as follows:
281 317 Etienne Pallier
LoadModule php5_module    /usr/local/opt/php56/libexec/apache2/libphp5.so
282 317 Etienne Pallier
LoadModule php7_module    /usr/local/opt/php70/libexec/apache2/libphp7.so
283 317 Etienne Pallier
LoadModule php7_module    /usr/local/opt/php71/libexec/apache2/libphp7.so
284 317 Etienne Pallier
LoadModule php7_module    /usr/local/opt/php72/libexec/apache2/libphp7.so
285 317 Etienne Pallier
We can only have one module processing PHP at a time, so for now, comment out all but the php56 entry:
286 317 Etienne Pallier
LoadModule php5_module    /usr/local/opt/php56/libexec/apache2/libphp5.so
287 317 Etienne Pallier
#LoadModule php7_module    /usr/local/opt/php70/libexec/apache2/libphp7.so
288 317 Etienne Pallier
#LoadModule php7_module    /usr/local/opt/php71/libexec/apache2/libphp7.so
289 317 Etienne Pallier
#LoadModule php7_module    /usr/local/opt/php72/libexec/apache2/libphp7.so
290 317 Etienne Pallier
- Add these lines :
291 317 Etienne Pallier
<IfModule dir_module>
292 317 Etienne Pallier
    DirectoryIndex index.php index.html
293 317 Etienne Pallier
</IfModule>
294 317 Etienne Pallier
<FilesMatch \.php$>
295 317 Etienne Pallier
    SetHandler application/x-httpd-php
296 317 Etienne Pallier
</FilesMatch>
297 317 Etienne Pallier
$ sudo apachectl -k restart
298 316 Etienne Pallier
299 317 Etienne Pallier
Validating PHP Installation:
300 317 Etienne Pallier
Simply create a file called info.php in your DocumentRoot folder (/usr/local/var/www/ or Sites/). In that file, just enter the line:
301 317 Etienne Pallier
<?php phpinfo();
302 317 Etienne Pallier
Go to http://localhost/info.php
303 316 Etienne Pallier
304 317 Etienne Pallier
PHP Switcher Script:
305 318 Etienne Pallier
We will install the sphp script into brew's standard /usr/local/bin:
306 318 Etienne Pallier
$ curl -L https://gist.github.com/w00fz/142b6b19750ea6979137b963df959d11/raw > /usr/local/bin/sphp
307 318 Etienne Pallier
$ chmod +x /usr/local/bin/sphp
308 318 Etienne Pallier
Check your PATH :
309 318 Etienne Pallier
$ echo $PATH
310 318 Etienne Pallier
should be like : /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
311 318 Etienne Pallier
In ~/.bash_profile :
312 318 Etienne Pallier
export PATH=/usr/local/bin:/usr/local/sbin:$PATH
313 318 Etienne Pallier
At this point, I strongly recommend closing ALL your terminal tabs and windows. This will mean opening a new terminal to continue with the next step.
314 316 Etienne Pallier
315 318 Etienne Pallier
Apache PHP Setup - Part 2:
316 318 Etienne Pallier
Edit /usr/local/etc/httpd/httpd.conf:
317 318 Etienne Pallier
Replace all your LoadModule php* with ONLY this :
318 318 Etienne Pallier
# Brew PHP LoadModule for `sphp` switcher
319 318 Etienne Pallier
LoadModule php5_module /usr/local/lib/libphp5.so
320 318 Etienne Pallier
#LoadModule php7_module /usr/local/lib/libphp7.so
321 316 Etienne Pallier
322 318 Etienne Pallier
$ sphp 70
323 318 Etienne Pallier
should switch to php7 !!!
324 318 Etienne Pallier
Go to http://localhost/info.php to check it is now Php7
325 318 Etienne Pallier
326 318 Etienne Pallier
Updating PHP and other Brew Packages:
327 318 Etienne Pallier
$ brew update
328 318 Etienne Pallier
$ brew upgrade
329 318 Etienne Pallier
You will need to switch to each of your installed PHP versions and run update again to get updates for each PHP version and ensure you are running the version of PHP you intend
330 318 Etienne Pallier
331 318 Etienne Pallier
(Now, details are in https://getgrav.org/blog/macos-sierra-apache-mysql-vhost-apc)
332 318 Etienne Pallier
333 318 Etienne Pallier
MySQL:
334 318 Etienne Pallier
$ brew update
335 318 Etienne Pallier
$ brew install mysql 
336 318 Etienne Pallier
(or "mariadb")
337 335 Etienne Pallier
$ brew services start mysql
338 318 Etienne Pallier
$ /usr/local/bin/mysql_secure_installation
339 335 Etienne Pallier
(To stop : $ brew services stop mysql)
340 318 Etienne Pallier
341 318 Etienne Pallier
Apache Virtual Hosts:
342 318 Etienne Pallier
Edit httpd.conf:
343 318 Etienne Pallier
LoadModule vhost_alias_module lib/httpd/modules/mod_vhost_alias.so
344 318 Etienne Pallier
# Virtual hosts
345 318 Etienne Pallier
Include /usr/local/etc/httpd/extra/httpd-vhosts.conf
346 318 Etienne Pallier
Edit /usr/local/etc/httpd/extra/httpd-vhosts.conf:
347 318 Etienne Pallier
<VirtualHost *:80>
348 319 Etienne Pallier
    #DocumentRoot "/Users/your_user/Sites"
349 319 Etienne Pallier
    DocumentRoot "/usr/local/var/www"
350 318 Etienne Pallier
    ServerName localhost
351 318 Etienne Pallier
</VirtualHost>
352 318 Etienne Pallier
<VirtualHost *:80>
353 318 Etienne Pallier
    DocumentRoot "/Users/your_user/Sites/grav-admin"
354 318 Etienne Pallier
    ServerName grav-admin.test
355 318 Etienne Pallier
</VirtualHost>
356 1 Etienne Pallier
(We used to recommend using .dev domain name, but since Chrome 63 forces all .dev domains to use SSL, this guide has been updated to use .test)
357 319 Etienne Pallier
Listen 8082
358 319 Etienne Pallier
#NameVirtualHost *:8082
359 319 Etienne Pallier
<VirtualHost *:8082>
360 319 Etienne Pallier
<Directory /PROJECTS/LABINVENT/SOURCE/labinvent2>
361 319 Etienne Pallier
    #Options Indexes FollowSymLinks ExecCGI Includes
362 319 Etienne Pallier
    Options FollowSymLinks
363 319 Etienne Pallier
    AllowOverride All
364 319 Etienne Pallier
    Require all granted
365 319 Etienne Pallier
</Directory>
366 319 Etienne Pallier
        #ServerName labinvent
367 319 Etienne Pallier
        #ServerAlias labinvent
368 369 Etienne Pallier
        ServerAdmin epallier AT irap...
369 319 Etienne Pallier
        DocumentRoot "/PROJECTS/LABINVENT/SOURCE/labinvent2"
370 319 Etienne Pallier
        #DocumentRoot "/Users/epallier/MYPROJECTS/LABINVENT/SOURCE/WITH_LAST_CAKEPHP_2/cakephp/app/webroot"
371 319 Etienne Pallier
        #DocumentRoot "/Users/epallier/projects/LABINVENT/SOURCE/WITH_LAST_CAKEPHP_2/cakephp/app/webroot"
372 319 Etienne Pallier
        #DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs/labinvent2015/cakephp/app/webroot"
373 319 Etienne Pallier
        #DocumentRoot "/Users/epallier/ECLIPSE_WORKSPACES/workspace_php/labinvent2015/cakephp/app/webroot"
374 319 Etienne Pallier
        # logs are relative to <ServerRoot> :
375 319 Etienne Pallier
        ErrorLog logs/labinvent2.error_log
376 319 Etienne Pallier
        CustomLog logs/labinvent2.access_log combined
377 319 Etienne Pallier
</VirtualHost>
378 318 Etienne Pallier
379 318 Etienne Pallier
380 318 Etienne Pallier
Xdebug:
381 318 Etienne Pallier
sphp 56
382 318 Etienne Pallier
brew install php56-xdebug --build-from-source
383 318 Etienne Pallier
sphp 70
384 318 Etienne Pallier
brew install php70-xdebug --build-from-source
385 318 Etienne Pallier
sphp 72
386 318 Etienne Pallier
brew install php72-xdebug --build-from-source
387 318 Etienne Pallier
Go to http://localhost/info.php to check xdebug
388 317 Etienne Pallier
389 315 Etienne Pallier
</pre>
390 317 Etienne Pallier
391 266 Etienne Pallier
392 266 Etienne Pallier
393 355 Etienne Pallier
* *+Exemple pour ScientificLinux (CentOS) 6.4+ (fait en juillet 2017) :*
394 248 Etienne Pallier
395 357 Etienne Pallier
ATTENTION, SUR CENTOS (ou dérivé), il vaut mieux désactiver selinux
396 357 Etienne Pallier
397 248 Etienne Pallier
    Pour mettre à jour PHP de la 5.6 à la 7.1 : 
398 248 Etienne Pallier
    --> https://blog.remirepo.net/post/2016/12/05/Install-PHP-7.1-on-CentOS-RHEL-or-Fedora
399 248 Etienne Pallier
<pre>
400 249 Etienne Pallier
$ sudo yum update kernel
401 249 Etienne Pallier
$ sudo yum update
402 249 Etienne Pallier
403 248 Etienne Pallier
$ sudo yum install yum-utils
404 248 Etienne Pallier
$ sudo yum-config-manager --enable remi-php71
405 248 Etienne Pallier
$ sudo yum update
406 248 Etienne Pallier
=> mais il y a un conflit à cause de phpmyadmin, donc je supprime ce package :
407 248 Etienne Pallier
$ sudo yum erase phpmyadmin
408 248 Etienne Pallier
$ sudo yum update
409 248 Etienne Pallier
410 248 Etienne Pallier
$ php -v => 7.1
411 248 Etienne Pallier
412 248 Etienne Pallier
Redémarrage Apache:
413 248 Etienne Pallier
$ sudo /etc/init.d/httpd restart
414 249 Etienne Pallier
415 249 Etienne Pallier
Tentative de réinstaller phpmyadmin
416 249 Etienne Pallier
$ sudo yum install phpmyadmin
417 249 Etienne Pallier
=> toujours un conflit, je laisse tomber, dommage...
418 251 Etienne Pallier
419 251 Etienne Pallier
Tentative d'accelerer php 7:
420 253 Etienne Pallier
(https://community.1and1.com/php-7)
421 1 Etienne Pallier
$ sudo yum install php71-php-opcache
422 253 Etienne Pallier
Creer un repertoire .opcache/ dans le webroot/ du projet:
423 253 Etienne Pallier
$ cd webroot/
424 253 Etienne Pallier
$ mkdir .opcache/
425 253 Etienne Pallier
$ chmod 777 .opcache/
426 253 Etienne Pallier
427 253 Etienne Pallier
Modifier php.ini :
428 253 Etienne Pallier
$ sudo vi /etc/php.ini
429 253 Etienne Pallier
Ajout des lignes suivantes :
430 253 Etienne Pallier
; EP added this for opcache (Jul 2017):
431 253 Etienne Pallier
zend_extension=opcache.so;
432 253 Etienne Pallier
opcache.enable=1;opcache.memory_consumption=32;
433 253 Etienne Pallier
opcache.interned_strings_buffer=8;
434 253 Etienne Pallier
opcache.max_accelerated_files=3000;
435 253 Etienne Pallier
opcache.revalidate_freq=180;
436 253 Etienne Pallier
opcache.fast_shutdown=0;
437 253 Etienne Pallier
opcache.enable_cli=0;
438 253 Etienne Pallier
opcache.revalidate_path=0;
439 253 Etienne Pallier
opcache.validate_timestamps=2;
440 253 Etienne Pallier
opcache.max_file_size=0;
441 253 Etienne Pallier
opcache.file_cache=/projects/labinvent/labinvent2/webroot/.opcache;
442 253 Etienne Pallier
opcache.file_cache_only=1;
443 253 Etienne Pallier
444 253 Etienne Pallier
Faire un lien vers l'extension opcache.so
445 253 Etienne Pallier
$ cd /usr/lib64/php/modules/
446 253 Etienne Pallier
$ sudo ln -s /opt/remi/php71/root/usr/lib64/php/modules/opcache.so
447 253 Etienne Pallier
448 253 Etienne Pallier
Verifier que .opcache/ contient bien des données (du cache)
449 253 Etienne Pallier
450 253 Etienne Pallier
Mais je ne vois pas vraiment d'accélération...
451 248 Etienne Pallier
</pre>
452 248 Etienne Pallier
    
453 248 Etienne Pallier
454 1 Etienne Pallier
455 357 Etienne Pallier
* *+Exemple pour CentOS 6.7+ (fait en 2016) :*
456 1 Etienne Pallier
457 357 Etienne Pallier
ATTENTION, SUR CENTOS, il vaut mieux désactiver selinux
458 357 Etienne Pallier
459 130 Thibaud Ajas
    Mettre à jour le serveur:
460 130 Thibaud Ajas
<pre>
461 1 Etienne Pallier
$ sudo yum kernel
462 1 Etienne Pallier
(restart)
463 1 Etienne Pallier
$ sudo yum update
464 130 Thibaud Ajas
</pre>
465 1 Etienne Pallier
466 130 Thibaud Ajas
    Pour installer Apache, MySQL & PHP 5.3 :
467 130 Thibaud Ajas
    --> https://www.zerostopbits.com/how-to-install-apache-mysql-and-php-on-centos-6-7/
468 35 Alexandre Cases
469 130 Thibaud Ajas
    Pour mettre à jour PHP de la 5.3 à la 5.6
470 130 Thibaud Ajas
    --> https://www.zerostopbits.com/how-to-upgrade-php-5-3-to-php-5-6-on-centos-6-7/
471 1 Etienne Pallier
472 130 Thibaud Ajas
    Mettre à jour Mysql (version 5.1 à 5.5):
473 130 Thibaud Ajas
<pre>
474 71 Etienne Pallier
$ sudo yum update
475 1 Etienne Pallier
</pre>
476 1 Etienne Pallier
477 70 Etienne Pallier
478 358 Etienne Pallier
* *+Exemple pour une distribution UBuntu+ 14.04.4 (fait en 2016) et 14.04.5 (Mai 2017) :*
479 1 Etienne Pallier
480 243 Etienne Pallier
%{color:red;} /!\ Par défaut, la version de php installée ici est php5.5 qui ne suffit plus. Si vous souhaitez installer la version 5.6, remplacez TOUS les "php5" par "php5.6", et si vous voulez la version 7.1, remplacez TOUS les "php5" par "php7.1" /!\%
481 1 Etienne Pallier
482 129 Thibaud Ajas
    Pour commencer il faut mettre à jour les "repository" de apt :
483 129 Thibaud Ajas
<pre>
484 1 Etienne Pallier
$ sudo apt-get update && sudo apt-get upgrade
485 129 Thibaud Ajas
</pre>
486 1 Etienne Pallier
487 129 Thibaud Ajas
    Installer un serveur web (Apache) :
488 129 Thibaud Ajas
<pre>
489 72 Etienne Pallier
$ sudo apt-get install apache2
490 129 Thibaud Ajas
</pre>
491 1 Etienne Pallier
492 129 Thibaud Ajas
    Installer un serveur de base de données (MySQL):
493 1 Etienne Pallier
<pre>
494 1 Etienne Pallier
$ sudo apt-get install mysql-server 
495 1 Etienne Pallier
</pre>
496 72 Etienne Pallier
497 129 Thibaud Ajas
    Installer le langage PHP en version 5.5.9 minimum (5.6 recommandé)
498 129 Thibaud Ajas
<pre>
499 1 Etienne Pallier
$ sudo apt-get install php5 php-pear
500 63 Etienne Pallier
$ sudo apt-get install php5-mysql
501 1 Etienne Pallier
</pre>
502 119 Etienne Pallier
503 173 Thibaud Ajas
    Installer phpmyadmin et le configurer
504 173 Thibaud Ajas
<pre>
505 173 Thibaud Ajas
$ sudo apt-get install phpmyadmin
506 177 Thibaud Ajas
$ sudo dpkg-reconfigure -plow phpmyadmin
507 173 Thibaud Ajas
</pre>
508 173 Thibaud Ajas
/!\ Lorsque vous aurez l'écran suivant, n'oubliez pas d'appuyer sur la touche "espace" avant la touche "entrée" /!\
509 173 Thibaud Ajas
510 173 Thibaud Ajas
!https://i.stack.imgur.com/Q9qYW.png!
511 173 Thibaud Ajas
512 173 Thibaud Ajas
Afin d'avoir cela :
513 173 Thibaud Ajas
514 173 Thibaud Ajas
!https://i.stack.imgur.com/VIh0U.png!
515 173 Thibaud Ajas
516 175 Thibaud Ajas
Si, en visitant http://localhost/phpmyadmin/ vous avez l'erreur "The mcrypt extension is missing. Please check your PHP configuration.", executez les commades suivantes :
517 175 Thibaud Ajas
<pre>
518 175 Thibaud Ajas
$ sudo apt-get install php5-mcrypt
519 175 Thibaud Ajas
$ sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available
520 175 Thibaud Ajas
$ sudo php5enmod mcrypt 
521 175 Thibaud Ajas
$ sudo service apache2 restart
522 1 Etienne Pallier
</pre>
523 175 Thibaud Ajas
524 357 Etienne Pallier
* *+Exemple pour une distribution Fedora 20++ (fait en avril 2017) :*
525 114 Etienne Pallier
526 130 Thibaud Ajas
    https://www.digitalocean.com/community/tutorials/how-to-install-lamp-linux-apache-mysql-php-on-fedora
527 1 Etienne Pallier
528 130 Thibaud Ajas
    Pour commencer il faut mettre à jour l'OS :
529 129 Thibaud Ajas
<pre>
530 114 Etienne Pallier
$ sudo dnf update dnf
531 1 Etienne Pallier
$ sudo dnf update kernel
532 1 Etienne Pallier
$ sudo dnf update
533 129 Thibaud Ajas
</pre>
534 115 Etienne Pallier
535 130 Thibaud Ajas
    Installer git:
536 129 Thibaud Ajas
<pre>
537 115 Etienne Pallier
$ sudo dnf install git
538 1 Etienne Pallier
</pre>
539 115 Etienne Pallier
540 130 Thibaud Ajas
    Installer php :
541 129 Thibaud Ajas
<pre>
542 115 Etienne Pallier
$ sudo dnf install php
543 1 Etienne Pallier
$ sudo dnf install php-mysql
544 129 Thibaud Ajas
</pre>
545 115 Etienne Pallier
546 130 Thibaud Ajas
    Installer un serveur web (Apache) :
547 129 Thibaud Ajas
<pre>
548 115 Etienne Pallier
$ sudo dnf install httpd
549 116 Etienne Pallier
$ sudo systemctl enable httpd
550 116 Etienne Pallier
(ln -s '/usr/lib/systemd/system/httpd.service' '/etc/systemd/system/multi-user.target.wants/httpd.service')
551 116 Etienne Pallier
$ sudo systemctl start httpd
552 129 Thibaud Ajas
</pre>
553 1 Etienne Pallier
554 130 Thibaud Ajas
    Installer un serveur de base de données (MySQL):
555 129 Thibaud Ajas
<pre>
556 115 Etienne Pallier
$ sudo dnf install mariadb mariadb-server -y
557 116 Etienne Pallier
$ sudo systemctl enable mariadb
558 116 Etienne Pallier
(ln -s '/usr/lib/systemd/system/mariadb.service' '/etc/systemd/system/multi-user.target.wants/mariadb.service')
559 115 Etienne Pallier
$ sudo systemctl start mariadb
560 118 Etienne Pallier
$ sudo mysql_secure_installation
561 129 Thibaud Ajas
</pre>
562 118 Etienne Pallier
563 158 Etienne Pallier
    (OPTIONNEL) Installer phpmyadmin (par defaut accessible uniquement depuis localhost), utile pour gérer plus facilement la BD :
564 129 Thibaud Ajas
<pre>
565 118 Etienne Pallier
$ sudo dnf install phpmyadmin
566 1 Etienne Pallier
$ sudo systemctl restart httpd
567 158 Etienne Pallier
568 158 Etienne Pallier
Pour Ubuntu:
569 158 Etienne Pallier
sudo apt-get php5-mcrypt
570 158 Etienne Pallier
sudo apt-get install phpmyadmin
571 158 Etienne Pallier
Pensez à activer l'extension mcrypt : sudo php5enmod mcrypt
572 158 Etienne Pallier
</pre>
573 158 Etienne Pallier
574 114 Etienne Pallier
</pre>
575 114 Etienne Pallier
576 359 Etienne Pallier
---
577 359 Etienne Pallier
578 75 Etienne Pallier
h4. *2) Configuration des prérequis*
579 1 Etienne Pallier
580 76 Etienne Pallier
581 143 Etienne Pallier
582 63 Etienne Pallier
583 264 Etienne Pallier
* *+Configuration de Php+*
584 226 Etienne Pallier
Pour savoir où est le fichier php.ini:
585 226 Etienne Pallier
php -r "print phpinfo();" | grep ".ini"
586 226 Etienne Pallier
(sur XAMPP, c'est dans /Applications/XAMPP/xamppfiles/etc/php.ini)
587 1 Etienne Pallier
588 145 Etienne Pallier
 * *Extension PHP "intl"*:
589 145 Etienne Pallier
Vérifier qu'elle est activée dans le php.ini:
590 1 Etienne Pallier
<pre>
591 80 Etienne Pallier
php --ini|grep intl
592 80 Etienne Pallier
Sinon, l'ajouter dans le php.ini:
593 1 Etienne Pallier
extension=intl.so
594 1 Etienne Pallier
</pre>
595 1 Etienne Pallier
Vérifier qu'elle est bien installée :
596 1 Etienne Pallier
<pre>
597 1 Etienne Pallier
$ php -m| grep intl
598 1 Etienne Pallier
(ça devrait retourner "intl")
599 1 Etienne Pallier
600 1 Etienne Pallier
Sinon, l'installer:
601 1 Etienne Pallier
602 1 Etienne Pallier
Ubuntu:
603 1 Etienne Pallier
$ sudo apt-get install php5-intl
604 1 Etienne Pallier
605 1 Etienne Pallier
CentOS:
606 1 Etienne Pallier
$ sudo yum install php-intl
607 1 Etienne Pallier
608 273 Etienne Pallier
MacOS avec brew:
609 275 Etienne Pallier
Installer l'extension 
610 273 Etienne Pallier
Les extensions sont recherchées dans /usr/local/Cellar/php72/7.2.0_11/lib/php/
611 273 Etienne Pallier
$ brew install php72-intl
612 1 Etienne Pallier
Fichier créé /usr/local/etc/php/7.2/conf.d/ext-intl.ini donne chemin de l'extension : /usr/local/opt/php72-intl/intl.so
613 274 Etienne Pallier
(Pour info, le fichier php.ini est dans /usr/local/etc/php/7.2/php.ini, mais c'est inutile de le modifier)
614 273 Etienne Pallier
615 273 Etienne Pallier
616 1 Etienne Pallier
MacOS avec XAMPP: 
617 1 Etienne Pallier
cf http://stackoverflow.com/questions/27886117/php-intl-installation-on-xampp
618 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
619 1 Etienne Pallier
cd /Applications/XAMPP/bin
620 1 Etienne Pallier
sudo ./pecl install intl
621 1 Etienne Pallier
(Vérifier qu'elle a bien été installée dans /Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20131226/)
622 1 Etienne Pallier
Attention, cette méthode semble ne plus fonctionner avec XAMPP 7 (qui inclut php 7).
623 1 Etienne Pallier
Sur Mac, j'ai dû installer l'extension intl via macport :
624 1 Etienne Pallier
sudo port install php71-intl
625 1 Etienne Pallier
Puis copie de cette extension dans le dossier de XAMPP :
626 1 Etienne Pallier
sudo cp /opt/local/lib/php71/extensions/no-debug-non-zts-20160303/intl.so XAMPP_716-0/xamppfiles/lib/php/extensions/no-debug-non-zts-20160303/
627 1 Etienne Pallier
Redémarrer Apache
628 1 Etienne Pallier
</pre>
629 273 Etienne Pallier
630 273 Etienne Pallier
631 1 Etienne Pallier
632 1 Etienne Pallier
 * *Dossier de log (optionnel)*:
633 1 Etienne Pallier
Dans le fichier /etc/php5/apache2/php.ini (ou /etc/php.ini sur CentOS), vous devez positionner votre répertoire de log :
634 1 Etienne Pallier
<pre>
635 1 Etienne Pallier
error_reporting = E_ALL
636 1 Etienne Pallier
error_log = /var/log/php/error.log
637 1 Etienne Pallier
max_input_time = 30
638 1 Etienne Pallier
</pre>
639 1 Etienne Pallier
Ensuite il vous faudra peut-être créer le dossier en question et donner à Apache les droits sur ce dossier (www-data pour Ubuntu, apache pour CentOS...):
640 1 Etienne Pallier
<pre>
641 1 Etienne Pallier
sudo mkdir /var/log/php
642 1 Etienne Pallier
sudo chown www-data /var/log/php
643 1 Etienne Pallier
</pre>
644 269 Etienne Pallier
645 271 Etienne Pallier
 * *Recharger la configuration du serveur Web*
646 270 Etienne Pallier
<pre>
647 270 Etienne Pallier
$ sudo service httpd reload
648 270 Etienne Pallier
(CentOS: $ sudo systemctl reload httpd)
649 276 Etienne Pallier
(MacOS: $ sudo apachectl restart)
650 270 Etienne Pallier
</pre>
651 269 Etienne Pallier
652 269 Etienne Pallier
653 1 Etienne Pallier
654 272 Etienne Pallier
* *OPTIONNEL - +Configuration du serveur web+ (Apache)*
655 270 Etienne Pallier
656 269 Etienne Pallier
Ces configurations sont nécessaires sur Ubuntu, mais pas forcément sur CentOS/Fedora :
657 269 Etienne Pallier
658 269 Etienne Pallier
 * KeepAlive:
659 269 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" :
660 269 Etienne Pallier
<pre>
661 269 Etienne Pallier
KeepAlive Off
662 269 Etienne Pallier
</pre>
663 269 Etienne Pallier
664 269 Etienne Pallier
 * event et prefork modules:
665 269 Etienne Pallier
Par défaut Apache utilise un "event module" et PHP un "prefork module".
666 269 Etienne Pallier
Il faut désactiver le 1er module et activer le second :
667 269 Etienne Pallier
<pre>
668 269 Etienne Pallier
sudo a2dismod mpm_event
669 269 Etienne Pallier
sudo a2enmod mpm_prefork
670 269 Etienne Pallier
</pre>
671 269 Etienne Pallier
672 269 Etienne Pallier
 * Activer le mode rewrite de Apache:
673 269 Etienne Pallier
<pre>
674 269 Etienne Pallier
sudo a2enmod rewrite
675 269 Etienne Pallier
</pre>
676 269 Etienne Pallier
677 269 Etienne Pallier
 * Autoriser les fichiers .htaccess sur le site :
678 269 Etienne Pallier
(cf http://book.cakephp.org/3.0/fr/installation.html#url-rewriting)
679 269 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 dossier Labinvent : 
680 269 Etienne Pallier
<pre>
681 269 Etienne Pallier
<Directory /var/www/html/labinvent>
682 269 Etienne Pallier
  Options FollowSymLinks
683 269 Etienne Pallier
  AllowOverride All
684 269 Etienne Pallier
</Directory>
685 269 Etienne Pallier
</pre>
686 269 Etienne Pallier
NB : Si Labinvent n'est pas dans le repertoire des sites webs :
687 269 Etienne Pallier
- faire un lien dans le dossier web racine de Apache (/var/www/html/) vers le repertoire d'installation de Labinvent
688 269 Etienne Pallier
- sinon, vous pouvez tenter de mettre son chemin absolu :
689 269 Etienne Pallier
<pre>
690 269 Etienne Pallier
<Directory /chemin/abosolu/vers/labinvent>
691 269 Etienne Pallier
</pre>
692 269 Etienne Pallier
NB: Une autre solution plus "propre" consisterait à créer un virtual host dédié pour Labinvent, sur un port 808x (8081, 8082, ...)
693 269 Etienne Pallier
(TODO: mettre ici un exemple de config)
694 1 Etienne Pallier
695 271 Etienne Pallier
 * *Recharger la configuration du serveur Web*
696 83 Etienne Pallier
<pre>
697 82 Etienne Pallier
$ sudo service httpd reload
698 146 Etienne Pallier
(CentOS: $ sudo systemctl reload httpd)
699 276 Etienne Pallier
(MacOS: $ sudo apachectl restart)
700 83 Etienne Pallier
</pre>
701 82 Etienne Pallier
702 149 Etienne Pallier
h3. B/ Installation du logiciel LabInvent
703 1 Etienne Pallier
704 150 Etienne Pallier
<pre>
705 26 Etienne Pallier
cd install/
706 26 Etienne Pallier
./installation.sh
707 150 Etienne Pallier
</pre>
708 150 Etienne Pallier
709 265 Etienne Pallier
Attention: sur Mac, utiliser installation-macos.sh au lieu de installation.sh
710 265 Etienne Pallier
711 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).
712 1 Etienne Pallier
(Conseil : à la plupart des questions, laissez les réponses par défaut)
713 23 Etienne Pallier
714 96 Etienne Pallier
---
715 96 Etienne Pallier
716 161 Etienne Pallier
---
717 1 Etienne Pallier
718 161 Etienne Pallier
h3. C/ TESTS
719 161 Etienne Pallier
720 282 Etienne Pallier
* Verifiez que la BD d'inventaire (par défaut "labinvent" sauf si vous lui avez donné un autre nom) à bien été créée (avec phpmyadmin par exemple).
721 161 Etienne Pallier
722 219 Etienne Pallier
* Verifiez que les tests passent :
723 283 Etienne Pallier
placez-vous à la racine du projet, exécutez la commande ./TESTS.sh
724 283 Etienne Pallier
(équivalent à 'vendor/bin/phpunit' ; si ça ne marche pas, essayez 'vendor/phpunit/phpunit/phpunit')
725 284 Etienne Pallier
(Php7 utilise Phpunit 6 alors que Php 5 utilise Phpunit PHPUnit 5.7)
726 219 Etienne Pallier
727 244 Etienne Pallier
* Performance :
728 244 Etienne Pallier
729 277 Etienne Pallier
 * Sur Mac OS 10.13 avec brew :
730 277 Etienne Pallier
731 287 Etienne Pallier
  * Avec php5.6, les 94 tests s'exécutent en 55 secondes
732 287 Etienne Pallier
  * Avec php7.2, les 94 tests s'exécutent en 49 secondes
733 277 Etienne Pallier
734 277 Etienne Pallier
 * Sur Mac OS 10.12 avec XAMPP :
735 245 Etienne Pallier
736 245 Etienne Pallier
  * En php5.6, les 53 tests s'exécutent en 25-26 secondes
737 247 Etienne Pallier
  * En php7.1, les 53 tests s'exécutent en 9-10 secondes, soit 2 à 3 fois plus vite !!! (vive Php 7)
738 245 Etienne Pallier
739 255 Etienne Pallier
 * Sur ScientificLinux (CentOS) 6.4 (serveur de test pweb) :
740 245 Etienne Pallier
741 245 Etienne Pallier
  * En php5.6, les 53 tests s'exécutent en 20 secondes
742 252 Etienne Pallier
  * En php7.1, les 53 tests s'exécutent en 16-17 secondes, soit pas beaucoup plus rapide, bizarre...
743 254 Etienne Pallier
744 254 Etienne Pallier
 * Sur CentOS 6.4 (serveur de production), dans une VM :
745 254 Etienne Pallier
  * En php5.6 avec phpunit 5.7, les 53 tests s'exécutent en 47 secondes !!!
746 254 Etienne Pallier
  * En php7.1, les 53 tests s'exécutent en ??? (Php7, c'est pour très bientôt...)
747 244 Etienne Pallier
 
748 219 Etienne Pallier
749 219 Etienne Pallier
PS : Pour n'exécuter que certains tests :
750 219 Etienne Pallier
751 1 Etienne Pallier
<pre>
752 222 Etienne Pallier
Marquer le(s) test voulu avec une annotation :
753 219 Etienne Pallier
/**
754 219 Etienne Pallier
 * @group failing
755 219 Etienne Pallier
 * Tests the api edit form
756 219 Etienne Pallier
 */
757 1 Etienne Pallier
public function testEditAction()
758 219 Etienne Pallier
759 222 Etienne Pallier
Ensuite, exécuter avec : phpunit --group failing
760 219 Etienne Pallier
761 219 Etienne Pallier
Attention, ne pas oublier d'enlever ces annotations avant le commit !
762 219 Etienne Pallier
763 219 Etienne Pallier
On peut attribuer plusieurs groupes à un test :
764 219 Etienne Pallier
/**
765 219 Etienne Pallier
  * @group failing
766 219 Etienne Pallier
  * @group bug2204 
767 219 Etienne Pallier
  */
768 1 Etienne Pallier
public function testSomethingElse()
769 221 Etienne Pallier
</pre>
770 161 Etienne Pallier
771 161 Etienne Pallier
772 161 Etienne Pallier
---
773 161 Etienne Pallier
774 324 Etienne Pallier
h3. D/ ACCES A L'APPLICATION WEB
775 1 Etienne Pallier
776 325 Etienne Pallier
Où placer le dossier "labinvent" ?
777 324 Etienne Pallier
778 324 Etienne Pallier
En admettant que l'application soit installée localement sur votre pc ou serveur, il y a 3 moyens d'accéder (localement) au site web de l'application LabInvent :
779 324 Etienne Pallier
780 324 Etienne Pallier
* (1) Soit classiquement via "http://localhost/labinvent"
781 324 Etienne Pallier
782 324 Etienne Pallier
* (2) Soit via un port dédié tel que par exemple "http://localhost:8081"
783 324 Etienne Pallier
784 324 Etienne Pallier
* (3) Soit via un nom de serveur dédié tel que par exemple "http://labinvent.test"
785 324 Etienne Pallier
786 324 Etienne Pallier
Voici comment faire dans chacun de ces 3 cas :
787 324 Etienne Pallier
788 1 Etienne Pallier
* (1) :
789 325 Etienne Pallier
790 325 Etienne Pallier
 * soit vous déplacez le dossier "labinvent/" directement dans le repertoire des sites webs du serveur web local (DocumentRoot, par exemple /var/www/html/ ou /var/www/html/localhost/public_html/, ...)
791 325 Etienne Pallier
 * soit vous laissez ce dossier là où il est et :
792 324 Etienne Pallier
  - vous faites un lien depuis votre DocumentRoot (/var/www/html/ ou autre) vers ce dossier labinvent/
793 324 Etienne Pallier
  - ou bien vous indiquez au serveur web où le trouver via une directive dans le fichier de configuration du serveur web httpd.conf :
794 324 Etienne Pallier
<pre>
795 324 Etienne Pallier
Alias /labinvent /Users/epallier/Documents/_W_more/PROJECTS/LABINVENT/SOURCE/labinvent2
796 324 Etienne Pallier
<Directory /Users/epallier/Documents/_W_more/PROJECTS/LABINVENT/SOURCE/labinvent2/>
797 324 Etienne Pallier
    Options FollowSymLinks
798 324 Etienne Pallier
    AllowOverride All
799 324 Etienne Pallier
    Require all granted
800 1 Etienne Pallier
</Directory>
801 324 Etienne Pallier
</pre>
802 324 Etienne Pallier
803 324 Etienne Pallier
804 329 Etienne Pallier
* (2) : utiliser un Virtual Host avec un port dédié (ici 8081) :
805 326 Etienne Pallier
806 327 Etienne Pallier
<pre>
807 326 Etienne Pallier
Listen 8081
808 326 Etienne Pallier
<VirtualHost *:8081>
809 326 Etienne Pallier
<Directory /PROJECTS/LABINVENT/SOURCE/labinvent2>
810 326 Etienne Pallier
    Options FollowSymLinks
811 326 Etienne Pallier
    AllowOverride All
812 326 Etienne Pallier
    Require all granted
813 326 Etienne Pallier
</Directory>
814 370 Etienne Pallier
        ServerAdmin epallier AT irap...
815 326 Etienne Pallier
        DocumentRoot "/PROJECTS/LABINVENT/SOURCE/labinvent2"
816 326 Etienne Pallier
        # logs are relative to <ServerRoot> :
817 326 Etienne Pallier
        ErrorLog logs/labinvent2.error_log
818 326 Etienne Pallier
        CustomLog logs/labinvent2.access_log combined
819 326 Etienne Pallier
</VirtualHost>
820 327 Etienne Pallier
</pre>
821 326 Etienne Pallier
822 326 Etienne Pallier
823 329 Etienne Pallier
* (3) : utiliser un Virtual Host avec un nom de serveur (ici labinvent.test) :
824 326 Etienne Pallier
825 328 Etienne Pallier
Il faut d'abord ajouter le nom du serveur (ici labinvent.test) dans votre fichier /etc/hosts :
826 328 Etienne Pallier
<pre>
827 328 Etienne Pallier
127.0.0.1       labinvent.test
828 328 Etienne Pallier
</pre>
829 328 Etienne Pallier
830 326 Etienne Pallier
Puis créer un hôte virtuel de ce genre :
831 326 Etienne Pallier
<pre>
832 326 Etienne Pallier
<VirtualHost *:80>
833 326 Etienne Pallier
    ServerName labinvent.test
834 370 Etienne Pallier
    ServerAdmin epallier AT irap...
835 329 Etienne Pallier
    DocumentRoot "/PROJECTS/LABINVENT/SOURCE/labinvent2"
836 329 Etienne Pallier
    # logs are relative to <ServerRoot> :
837 329 Etienne Pallier
    ErrorLog logs/labinvent2.error_log
838 329 Etienne Pallier
    CustomLog logs/labinvent2.access_log combined
839 329 Etienne Pallier
    <Directory /PROJECTS/LABINVENT/SOURCE/labinvent2>
840 329 Etienne Pallier
        Options FollowSymLinks
841 329 Etienne Pallier
        AllowOverride All
842 329 Etienne Pallier
        Require all granted
843 329 Etienne Pallier
    </Directory>
844 324 Etienne Pallier
</VirtualHost>
845 324 Etienne Pallier
</pre>
846 322 Etienne Pallier
847 322 Etienne Pallier
h3. E/ CONFIGURATION DU SITE WEB
848 161 Etienne Pallier
849 121 Thibaud Ajas
Le site est maintenant installé, il vous faut maintenant le configurer.
850 281 Etienne Pallier
Si vous voulez le conserver, le script de creation de la BD est database/build.sql (s'il existait déjà avant votre installation, il a été sauvegardé dans build.sql.ORIG).
851 278 Etienne Pallier
Votre fichier de configuration est config/app.php (s'il existait déjà avant votre installation, il a été sauvegardé dans app.php.ORIG).
852 121 Thibaud Ajas
853 290 Etienne Pallier
* Tester l'accès web à l'application : http://localhost/labinvent (ou bien http://localhost:8081 si vous avez créé un virtual host sur le port 8081 pour labinvent)
854 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.
855 280 Etienne Pallier
Vérifier simplement que TOUS LES POINTS SONT AU VERT.
856 98 Etienne Pallier
(La page affichera un message si l'URL-Rewriting ne fonctionne pas correctement).
857 98 Etienne Pallier
Si tout est au vert, passez à l'étape suivante (D/ Configuration de l'application).
858 280 Etienne Pallier
Sinon (il y a des points rouges), reportez-vous ci-dessous à l'extension qui pose problème, pour l'installer ou la configurer:
859 1 Etienne Pallier
860 89 Etienne Pallier
* Extension PHP "mbstring" et librairie "zlib"
861 90 Etienne Pallier
La collection de librairies est normalement déja installée avec PHP en tant que dépendance, sinon faire :
862 90 Etienne Pallier
<pre>
863 90 Etienne Pallier
sudo apt-get install libapache2-mod-php5
864 90 Etienne Pallier
</pre>
865 6 Alexandre Cases
=> Redémarrer votre serveur et vérifier que la ligne correspondant à l'extension soit passée au vert.
866 6 Alexandre Cases
867 90 Etienne Pallier
* Librairie PHP "php-gd" 
868 90 Etienne Pallier
<pre>
869 90 Etienne Pallier
sudo apt-get install php5-gd
870 90 Etienne Pallier
</pre>
871 1 Etienne Pallier
=> Redémarrer votre serveur et vérifier que la ligne correspondant à l'extension soit passée au vert.
872 1 Etienne Pallier
Si ce n'est toujours pas le cas, aller dans le fichier /etc/php5/apache2/php.ini :
873 6 Alexandre Cases
Vérifier que la ligne suivante est présente et décommentée (absence de ";" devant la ligne) sinon il faut la rajouter : 
874 6 Alexandre Cases
<pre>
875 6 Alexandre Cases
extension=gd.so
876 90 Etienne Pallier
</pre>
877 1 Etienne Pallier
878 1 Etienne Pallier
* URL-Rewriting
879 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 : 
880 1 Etienne Pallier
<pre>
881 7 Alexandre Cases
Fichier ./.htaccess : 
882 1 Etienne Pallier
<IfModule mod_rewrite.c>
883 1 Etienne Pallier
    RewriteEngine on
884 1 Etienne Pallier
    RewriteRule    ^$    webroot/    [L]
885 1 Etienne Pallier
    RewriteRule    (.*) webroot/$1    [L]
886 1 Etienne Pallier
</IfModule>
887 1 Etienne Pallier
888 1 Etienne Pallier
Fichier ./webroot/.htaccess : 
889 1 Etienne Pallier
<IfModule mod_rewrite.c>
890 1 Etienne Pallier
    RewriteEngine On
891 1 Etienne Pallier
    RewriteCond %{REQUEST_FILENAME} !-f
892 1 Etienne Pallier
    RewriteRule ^ index.php [L]
893 27 Etienne Pallier
</IfModule>
894 280 Etienne Pallier
</pre>
895 280 Etienne Pallier
896 280 Etienne Pallier
* Une fois que tout est au vert, redémarrer votre serveur Web et vérifier que la ligne correspondant à l'extension manquante soit passée au vert.
897 280 Etienne Pallier
<pre>
898 280 Etienne Pallier
sudo service apache2 restart
899 280 Etienne Pallier
(ou simplement le recharger: utiliser "reload" au lieu de "restart")
900 32 Etienne Pallier
</pre>
901 94 Etienne Pallier
902 1 Etienne Pallier
903 95 Etienne Pallier
---
904 95 Etienne Pallier
905 323 Etienne Pallier
h3. F/ CONFIGURATION DU LOGICIEL D'INVENTAIRE
906 94 Etienne Pallier
907 291 Etienne Pallier
* Si vous n'y êtes pas déjà, allez sur la page d'accueil de LabInvent : http://localhost/labinvent (ou bien http://localhost:8081 si vous avez créé un virtual host sur le port 8081 pour labinvent)
908 291 Etienne Pallier
909 297 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, configurez selon vos besoins. ATTENTION, N'ACTIVEZ PAS LE MODE LDAP POUR LE MOMENT, on le fera plus tard.
910 300 Etienne Pallier
Cliquez sur "Valider"
911 289 Etienne Pallier
912 289 Etienne Pallier
* Maintenant, sortez du mode "installation" en cliquant sur le bouton "Stopper le mode installation"
913 292 Etienne Pallier
_Si vous voulez revenir au mode "installation", allez dans le dossier database/ et exécutez simplement ./mode_panique.sh (./mode_panique_macos.sh sur Mac OS) puis revenez sur la page d'accueil_
914 1 Etienne Pallier
915 293 Etienne Pallier
* Désactivez (manuellement) le mode DEBUG général (différent de celui proposé dans la configuration ci-dessus) :
916 294 Etienne Pallier
Allez à la racine du projet, et ouvrez votre fichier de configuration générale de labinvent (config/app.php)
917 34 Alexandre Cases
<pre>
918 294 Etienne Pallier
Allez environ à la ligne 12 (au début du fichier):
919 1 Etienne Pallier
'debug' => filter_var(env('DEBUG', true), FILTER_VALIDATE_BOOLEAN),
920 1 Etienne Pallier
921 293 Etienne Pallier
Et remplacez le true par false, comme ceci :
922 11 Alexandre Cases
'debug' => filter_var(env('DEBUG', false), FILTER_VALIDATE_BOOLEAN),
923 11 Alexandre Cases
</pre>
924 1 Etienne Pallier
925 296 Etienne Pallier
* Connectez-vous à l'aide du login utilisateur créé lors de l'installation (par défaut "superadmin"), avec le mot de passe "login".
926 298 Etienne Pallier
Il vous permet de vous connecter en tant que "super administrateur" pour pouvoir configurer l'application.
927 298 Etienne Pallier
Vérifiez que c'est bien le cas : sur la page d'accueil, vous devriez avoir une ligne qui affiche "Vous êtes connecté en tant que Nom Prénom et avec le niveau d'authentification Super Administrateur."
928 296 Etienne Pallier
NB1 : Les autres comptes utilisateurs que le script d'installation aura créé ont aussi le même mot de passe par défaut : "login"
929 256 Etienne Pallier
NB2 : Il y a toujours un utilisateur par défaut en mode "SANS LDAP", il s'agit de l'utilisateur "_fake_ldap_user_" avec le mot de passe "_fake_ldap_user_pass" (il a le profil minimum, c'est à dire "Utilisateur" ; il est utile notamment pour les tests, afin de tester le profil "Utilisateur" accordé par défaut à toute personne du ldap qui n'a pas de privilège particulier)
930 28 Etienne Pallier
931 299 Etienne Pallier
* Si vous désirez encore modifier la configuration générale de l'application :
932 299 Etienne Pallier
Dans le menu latéral, cliquez sur le lien "Outils", puis sur "Configuration générale de l'application", puis sur "Editer la configuration"
933 1 Etienne Pallier
934 21 Alexandre Cases
* Ensuite retournez dans la liste des outils et cliquez sur "Gérer le contenu variable de l'application".
935 301 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 modifier...
936 94 Etienne Pallier
937 1 Etienne Pallier
938 95 Etienne Pallier
---
939 94 Etienne Pallier
940 323 Etienne Pallier
h3. G/ Gestion de l'authentification des utilisateurs via un annuaire LDAP
941 43 Etienne Pallier
942 304 Etienne Pallier
Labinvent peut être utilisé avec un annuaire LDAP. Si c'est ce que vous voulez, voici comment faire.
943 1 Etienne Pallier
944 305 Etienne Pallier
*ATTENTION* : après être passé en mode LDAP, vous risquez de ne plus pouvoir vous connecter à l'application !!!
945 305 Etienne Pallier
Assurez-vous donc d'abord que votre login super administrateur (par défaut "superadmin") porte le MEME NOM que votre login ldap. Si c'est actuellement "superadmin", remplacez-le par votre login ldap. Pour cela, allez dans le menu "Outils", puis "Gérer les utilisateurs privilégiés", éditez l'utilisateur correspondant au super administrateur actuel, et changez son login et son mot de passe pour qu'ils correspondent exactement à ceux du LDAP. Déconnectez-vous puis reconnectez-vous avec ce nouveau login et vérifiez que vous êtes bien "super administrateur".
946 305 Etienne Pallier
Maintenant que c'est fait, vous pouvez passer en mode LDAP :
947 304 Etienne Pallier
948 306 Etienne Pallier
* Si ce n'est pas déjà fait, connectez-vous à l'aide de votre login super administrateur (qui doit maintenant correspondre à votre login LDAP)
949 304 Etienne Pallier
950 302 Etienne Pallier
* Dans le menu de gauche, cliquez sur le lien "Outils", puis sur "Configuration générale de l'application", puis sur "Editer la configuration"
951 302 Etienne Pallier
952 307 Etienne Pallier
* Cochez "Utilisation du LDAP". Les options de configuration du LDAP s'affichent alors. Modifiez-les selon vos besoins
953 302 Etienne Pallier
954 302 Etienne Pallier
* Cliquez sur "Valider"
955 302 Etienne Pallier
956 308 Etienne Pallier
* Une fois la connexion au LDAP configurée, toute personne enregistrée dans l'annuaire LDAP peut alors se connecter au logiciel. Vérifiez que vous arrivez à vous connecter avec votre login LDAP qui a le profil super administrateur
957 100 Etienne Pallier
958 1 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.
959 44 Etienne Pallier
960 309 Etienne Pallier
Mode panique : Si vous ne pouvez plus vous connecter à l'application (après être passé en mode LDAP), vous pouvez toujours repasser en mode "installation" comme au début : allez dans le dossier database/ et exécutez simplement ./mode_panique.sh (./mode_panique_macos.sh sur Mac OS) puis revenez sur la page d'accueil et connectez-vous avec votre login super administrateur ("superadmin" par défaut)
961 303 Etienne Pallier
962 37 Etienne Pallier
---
963 43 Etienne Pallier
964 323 Etienne Pallier
h3. H/ Configuration de l'envoi des emails (optionnel)
965 168 Thibaud Ajas
966 169 Thibaud Ajas
* En tant que SuperAdministrateur, aller dans "Outils" -> "Configuration générale de l'application", cliquez sur "Editer la configuration" et décocher "Ne pas envoyer les mails de management en local".
967 169 Thibaud Ajas
968 310 Etienne Pallier
* L'envoi de mail est réalisé grâce à une adresse qu'il faut créer pour labinvent. Le protocole d'envoi est à définir dans config/app.php selon le serveur choisi. Lors de l'envoi d'un mail il faut utiliser le transport 'dev' en local.
969 169 Thibaud Ajas
970 310 Etienne Pallier
* Pour changer de mail et de transport, il faut aller dans la section Email/Transport de config/app.php, et vérifier/adapter a votre convenance le bloc suivant :
971 169 Thibaud Ajas
972 169 Thibaud Ajas
<pre>
973 169 Thibaud Ajas
'EmailTransport' => [
974 169 Thibaud Ajas
    	'default' => [
975 169 Thibaud Ajas
            'className' => 'Mail',
976 169 Thibaud Ajas
            // The following keys are used in SMTP transports
977 169 Thibaud Ajas
            'host' => 'localhost',
978 169 Thibaud Ajas
            'port' => 25,
979 169 Thibaud Ajas
            'timeout' => 30,
980 169 Thibaud Ajas
            'username' => 'user',
981 169 Thibaud Ajas
            'password' => 'secret',
982 169 Thibaud Ajas
            'client' => null,
983 169 Thibaud Ajas
            'tls' => null,
984 169 Thibaud Ajas
            'url' => env('EMAIL_TRANSPORT_DEFAULT_URL', null),
985 169 Thibaud Ajas
        ],
986 169 Thibaud Ajas
...
987 169 Thibaud Ajas
</pre>
988 169 Thibaud Ajas
989 168 Thibaud Ajas
---
990 168 Thibaud Ajas
991 323 Etienne Pallier
h3. I/ Etiquettes (optionnel)
992 180 Etienne Pallier
993 383 Etienne Pallier
Contenu déporté sur le document général (voir chapitre "Etiquettes") : https://tinyurl.com/labinvent
994 382 Etienne Pallier
995 191 Etienne Pallier
!etiqueteuse.jpg!
996 1 Etienne Pallier
997 207 Etienne Pallier
998 382 Etienne Pallier
*Etiqueteuses installées sur le labo (IRAP ONLY)*
999 203 Etienne Pallier
1000 203 Etienne Pallier
1001 203 Etienne Pallier
Dans l'idéal, il faudrait une étiqueteuse par gestionnaire financier :
1002 203 Etienne Pallier
1003 203 Etienne Pallier
SUR LE SITE ROCHE :
1004 203 Etienne Pallier
1005 203 Etienne Pallier
* Jean-Louis Lefort (site Roche 101) ==> installée le 1/12/14 (pc8008, Windows 7 Pro 2009 SP1, version soft DLS 8.5.1)
1006 203 Etienne Pallier
    Aucun problème, installée sur lettre G: - laissé 1 ruban D1 12mm de 7m en plus du ruban installé (3m seulement)
1007 203 Etienne Pallier
    Pour info, ancienne installation faite sur son pc XP (23/5/14) (version soft DLS 8.5.1) Problème : si le logiciel DLS (Dymo Label Soft) est déjà ouvert, ça provoque une erreur Windows. Il faut donc refermer le logiciel avant de demander l'impression d'un ruban (c'est peut-être dû à cette version 8.5.1, la dernière version sortie, car sur l'ancienne version, je ne crois pas qu'il y ait cette erreur sur XP)
1008 203 Etienne Pallier
* Dorine Roma (site Roche 102) ==> installée le 1/12/14 (pc8006 Optiplex 7010, Windows 7 Pro 2009 SP1, version soft DLS 8.5.1)
1009 203 Etienne Pallier
    Installée sur lettre G: - ruban installé = 3m seulement
1010 203 Etienne Pallier
* Carole Lecinana (site Roche 104) ==> installée le 1/12/14 (pc8005 Optiplex 7010, Windows 7 Pro 2009 SP1, version soft DLS 8.5.1)
1011 203 Etienne Pallier
    Installée sur lettre G: - ruban installé = 3m seulement
1012 203 Etienne Pallier
* Marjorie Cloup (site Roche 104) ==> installée le 1/12/14 (pc8007 Optiplex 7010, Windows 7 Pro 2009 SP1, version soft DLS 8.5.1)
1013 203 Etienne Pallier
    Installée sur lettre G: - ruban installé = 3m seulement
1014 203 Etienne Pallier
1015 203 Etienne Pallier
1016 203 Etienne Pallier
SUR LE SITE BELIN :
1017 203 Etienne Pallier
1018 204 Etienne Pallier
* Carole Gaiti (site Belin 61) ==> installée le 24/6/14 (pc Win 7 - version soft DLS 8.5.1)
1019 204 Etienne Pallier
* Dolores Granat (site Belin 80bis) ==> A FAIRE
1020 204 Etienne Pallier
* Isabelle Moro (site Belin B064) ==> A FAIRE
1021 204 Etienne Pallier
* De plus, Etienne Pallier (site Roche 63, Mac OS 10.7) et Elodie Bourrec (site Belin 59, Win 7) sont tous les deux équipés d'une étiqueteuse
1022 204 Etienne Pallier
* Enfin, l'étiqueteuse (ancienne) de Gilbert Rouaix (site Roche 19, Win XP) semble compatible puisqu'on a réussi à imprimer des étiquettes dessus.
1023 203 Etienne Pallier
1024 203 Etienne Pallier
1025 183 Etienne Pallier
Au total, ça fait donc 9. 
1026 1 Etienne Pallier
1027 181 Etienne Pallier
---
1028 180 Etienne Pallier
1029 215 Etienne Pallier
h2. UTILISATION du logiciel
1030 110 Etienne Pallier
1031 165 Etienne Pallier
Depuis le site web de Labinvent, cliquez sur "Accueil", et ouvrez le "Guide d'utilisation" (pdf)
1032 165 Etienne Pallier
1033 165 Etienne Pallier
(Vous pouvez aussi aller à la page wiki "Utilisation" [[Documentation_utilisateurs]])
1034 110 Etienne Pallier
1035 112 Etienne Pallier
---
1036 112 Etienne Pallier
1037 1 Etienne Pallier
h2. MISE A JOUR du logiciel 
1038 43 Etienne Pallier
1039 331 Etienne Pallier
*1) Noter votre version actuelle*
1040 45 Etienne Pallier
1041 330 Etienne Pallier
Voir sur la page d'accueil en bas à droite
1042 1 Etienne Pallier
1043 330 Etienne Pallier
*2) Mettre à jour le code*
1044 330 Etienne Pallier
1045 330 Etienne Pallier
Aller sur la racine du projet et exécuter :
1046 1 Etienne Pallier
<pre>
1047 1 Etienne Pallier
$ git pull
1048 57 Alexandre Cases
</pre>
1049 235 Etienne Pallier
1050 330 Etienne Pallier
*3) [Seulement si nécessaire] Mettre à jour la base de données*
1051 44 Etienne Pallier
1052 56 Alexandre Cases
Aller dans le dossier database/update/
1053 44 Etienne Pallier
1054 330 Etienne Pallier
*Exécuter TOUS les scripts qui sont d'une date postérieure à la date de votre version (notée à l'étape 1)*
1055 1 Etienne Pallier
Attention, il faut les exécuter *dans l'ordre chronologique*, un par un
1056 1 Etienne Pallier
1057 44 Etienne Pallier
Exemple:
1058 54 Etienne Pallier
<pre>
1059 57 Alexandre Cases
Placez vous dans ./database/update et éxécutez les commandes correspondantes : 
1060 58 Alexandre Cases
1061 57 Alexandre Cases
./db-update-2016-06-03.sh
1062 57 Alexandre Cases
1063 57 Alexandre Cases
./db-update-2016-06-06.sh
1064 57 Alexandre Cases
1065 57 Alexandre Cases
./db-update-2016-06-07.sh
1066 57 Alexandre Cases
</pre>
1067 54 Etienne Pallier
1068 43 Etienne Pallier
1069 56 Alexandre Cases
1070 41 Etienne Pallier
Remarques : 
1071 103 Etienne Pallier
* Le fichier README-LABINVENT.md contient la liste des mises à jour.
1072 55 Etienne Pallier
1073 234 Etienne Pallier
1074 1 Etienne Pallier
1075 332 Etienne Pallier
*4) Tester que tout fonctionne bien*
1076 332 Etienne Pallier
1077 332 Etienne Pallier
Aller à la racine du projet.
1078 332 Etienne Pallier
$ ./TESTS.sh
1079 332 Etienne Pallier
Si jamais les tests ne veulent pas s'exécuter, essayer ceci:
1080 332 Etienne Pallier
$ cd install/
1081 332 Etienne Pallier
$ ./plugins_update.sh
1082 332 Etienne Pallier
(équivalent à faire "php composer.phar update", ce qui met à jour les plugins, et notamment CakePhp)
1083 332 Etienne Pallier
(et si ça ne marche toujours pas, on peut aussi essayer ./plugins_install.sh)
1084 332 Etienne Pallier
$ ./TESTS.sh
1085 332 Etienne Pallier
Tous les tests doivent passer
1086 332 Etienne Pallier
NB: Si phpunit ne se met pas à jour, ne pas hésiter à supprimer tout le dossier vendor/phpunit/ avant de lancer la commande ./plugins_update.sh
1087 234 Etienne Pallier
1088 234 Etienne Pallier
1089 331 Etienne Pallier
*5) Upgrade de Php => passage à Php7*
1090 234 Etienne Pallier
1091 234 Etienne Pallier
* Ubuntu:
1092 234 Etienne Pallier
<pre>
1093 234 Etienne Pallier
sudo apt-get install php7.0 php-gettext php7.0-mbstring libapache2-mod-php7.0 php7.0-mysql php7.0-mcrypt php7.0-intl
1094 234 Etienne Pallier
sudo a2dismod php5.6
1095 234 Etienne Pallier
sudo a2enmod php7.0
1096 234 Etienne Pallier
sudo service apache2 restart
1097 234 Etienne Pallier
sudo update-alternatives --set php /usr/bin/php7.0
1098 234 Etienne Pallier
sudo service apache2 restart
1099 234 Etienne Pallier
</pre>
1100 234 Etienne Pallier
1101 234 Etienne Pallier
1102 1 Etienne Pallier
---
1103 55 Etienne Pallier
1104 55 Etienne Pallier
h2. MODE PANIQUE
1105 55 Etienne Pallier
1106 55 Etienne Pallier
Vous avez changé la configuration du LDAP et elle ne fonctionne plus !
1107 55 Etienne Pallier
Du coup, vous ne pouvez plus vous connecter au site !
1108 106 Etienne Pallier
Pas de panique, le mode panique est là !
1109 106 Etienne Pallier
Il suffit de repasser le logiciel en mode INSTALL pour pouvoir y accéder sans connexion.
1110 105 Etienne Pallier
Pour cela, exécuter le script mode_panique.sh qui se trouve dans le dossier database/ :
1111 1 Etienne Pallier
1112 1 Etienne Pallier
<pre>
1113 105 Etienne Pallier
./mode_panique.sh
1114 1 Etienne Pallier
</pre>
1115 1 Etienne Pallier
1116 107 Etienne Pallier
(
1117 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:_
1118 105 Etienne Pallier
mysql -u login -p labinvent2 < set_mode_install.sql
1119 1 Etienne Pallier
_Remplacer 'login' par le 'username' défini dans votre fichier config/app.php dans la section Datasources (default)_
1120 1 Etienne Pallier
_Remplacer 'labinvent2' par le 'database' défini au même endroit_
1121 107 Etienne Pallier
_Ou bien exécuter cette requête depuis phpmyadmin_
1122 105 Etienne Pallier
)
1123 312 Etienne Pallier
1124 312 Etienne Pallier
h2. MODE DEBUG (dev only)
1125 312 Etienne Pallier
1126 312 Etienne Pallier
Pour les développeurs, il y a un outil très pratique à utiliser qui est DebugKit. Il aide à voir ce qui se passe en interne au sein du framework cakephp (valeur des variables, dernières requetes sql exécutées...).
1127 312 Etienne Pallier
1128 1 Etienne Pallier
Il est installé par défaut. Donc, pour l'activer, rien de plus simple, il suffit de passer config/app.php en mode debug (ligne 12 qui définit la variable debug, passer à "true")
1129 334 Etienne Pallier
1130 334 Etienne Pallier
1131 334 Etienne Pallier
h2. UPDATE DE LA BRANCHE MASTER (dev only)
1132 334 Etienne Pallier
1133 334 Etienne Pallier
Pour mettre à jour la branche "master" à partir de la branche "dev-IRAP" (ou "dev") :
1134 334 Etienne Pallier
1135 334 Etienne Pallier
Aller sur la branche master :
1136 334 Etienne Pallier
$ git checkout master
1137 334 Etienne Pallier
$ git branch
1138 334 Etienne Pallier
1139 334 Etienne Pallier
Mettre à jour la branche master :
1140 334 Etienne Pallier
$ git merge --no-ff dev-IRAP
1141 334 Etienne Pallier
$ git push
1142 334 Etienne Pallier
1143 334 Etienne Pallier
Revenir sur la branche dev-IRAP (ou dev)
1144 334 Etienne Pallier
$ git checkout dev-IRAP