Installation

Version 216 (Etienne Pallier, 05/15/2017 11:09 am)

1 1 Etienne Pallier
h1. Labinvent 2.0 (cakephp3) - Installation
2 1 Etienne Pallier
3 1 Etienne Pallier
4 20 Etienne Pallier
Cette page décrit la phase d'installation du logiciel.
5 109 Etienne Pallier
La version la plus à jour est sur la page "Installation" du wiki du projet: https://projects.irap.omp.eu/projects/inventirap/wiki/Installation
6 20 Etienne Pallier
7 20 Etienne Pallier
[ [[Labinvent_nouvelle_version|Retour au sommmaire]] ]
8 20 Etienne Pallier
9 20 Etienne Pallier
10 1 Etienne Pallier
{{toc}}
11 1 Etienne Pallier
12 1 Etienne Pallier
13 1 Etienne Pallier
14 1 Etienne Pallier
---
15 1 Etienne Pallier
16 1 Etienne Pallier
h2. LIENS UTILES
17 1 Etienne Pallier
18 133 Thibaud Ajas
* HOWTO Format Redmine Wiki : http://www.redmine.org/projects/redmine/wiki/FrRedmineWikiFormatting
19 1 Etienne Pallier
20 51 Etienne Pallier
* *Fichier README* : https://gitlab.irap.omp.eu/epallier/labinvent/blob/master/README-LABINVENT.md
21 51 Etienne Pallier
22 48 Etienne Pallier
* *Version majeure en cours (2.04)*: https://projects.irap.omp.eu/projects/inventirap/roadmap#version_2.04_-_Impl%C3%A9mentation_des_ACL_(droits)
23 12 Etienne Pallier
24 50 Etienne Pallier
* Liste complète des évolutions: https://gitlab.irap.omp.eu/epallier/labinvent/commits/master
25 50 Etienne Pallier
26 12 Etienne Pallier
* Browse files (gitlab): https://gitlab.irap.omp.eu/epallier/labinvent/tree/master
27 1 Etienne Pallier
28 1 Etienne Pallier
---
29 1 Etienne Pallier
30 215 Etienne Pallier
h2. VERSION DE TEST (en ligne)
31 214 Etienne Pallier
32 214 Etienne Pallier
http://planetoweb2.cesr.fr/labinvent2
33 214 Etienne Pallier
34 1 Etienne Pallier
35 215 Etienne Pallier
---
36 214 Etienne Pallier
37 215 Etienne Pallier
h2. RECUPERATION du logiciel
38 1 Etienne Pallier
39 1 Etienne Pallier
40 1 Etienne Pallier
41 113 Etienne Pallier
*1) Deux options*
42 113 Etienne Pallier
43 1 Etienne Pallier
Deux options se présentent à vous :
44 1 Etienne Pallier
45 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)
46 216 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)
47 1 Etienne Pallier
48 113 Etienne Pallier
*a) Téléchargement anonyme (version statique, non synchronisée)*
49 1 Etienne Pallier
50 124 Thibaud Ajas
Vous pouvez télécharger la version actuelle du logiciel.
51 1 Etienne Pallier
52 124 Thibaud Ajas
Pour cela, aller sur : https://gitlab.irap.omp.eu/epallier/labinvent/tree/master
53 1 Etienne Pallier
54 124 Thibaud Ajas
Cliquez sur : "Download zip" dans le coin en haut à droite.
55 1 Etienne Pallier
56 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".
57 1 Etienne Pallier
58 124 Thibaud Ajas
Dans sa documentation, le logiciel sera désigné par "LABINVENT".
59 1 Etienne Pallier
60 124 Thibaud Ajas
Vous pouvez renommer "labinvent.git" en "labinvent" si vous le souhaitez ("mv labinvent.git labinvent" ou clic droit->Renommer).
61 1 Etienne Pallier
62 1 Etienne Pallier
63 216 Etienne Pallier
*b) (Méthode préférée) Récupérer le logiciel via GIT (version dynamique, synchronisée, nécessité d'un login)*
64 216 Etienne Pallier
65 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,
66 113 Etienne Pallier
puis remplissez la section "Sign up". Ensuite, envoyez un email à epallier AT irap. omp. eu
67 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.
68 113 Etienne Pallier
69 126 Thibaud Ajas
(Si vous utilisez Windows, vous DEVEZ avant tout installer git pour windows, voir plus bas "Obtenir git pour windows")
70 1 Etienne Pallier
71 126 Thibaud Ajas
En récupérant directement le logiciel via git, vous allez avoir une version dynamiquement synchronisée.
72 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".
73 1 Etienne Pallier
74 126 Thibaud Ajas
* (Depuis Eclipse : Voir plus bas, section "A L'ATTENTION DES UTILISATEURS D'ECLIPSE")
75 1 Etienne Pallier
76 126 Thibaud Ajas
* Depuis un terminal:
77 1 Etienne Pallier
78 1 Etienne Pallier
<pre>
79 1 Etienne Pallier
git clone https://gitlab.irap.omp.eu/epallier/labinvent.git labinvent
80 1 Etienne Pallier
</pre>
81 1 Etienne Pallier
82 126 Thibaud Ajas
_(Ou aussi depuis ssh : git clone git@gitlab.irap.omp.eu:epallier/labinvent.git labinvent)_
83 1 Etienne Pallier
84 126 Thibaud Ajas
Si vous obtenez ce message d'erreur ... :
85 1 Etienne Pallier
<pre>
86 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.
87 1 Etienne Pallier
</pre>
88 1 Etienne Pallier
89 126 Thibaud Ajas
...tapez cette commande (et relancez une commade "git clone"):
90 1 Etienne Pallier
<pre>
91 1 Etienne Pallier
$ git config --global http.sslVerify false
92 127 Thibaud Ajas
</pre>
93 1 Etienne Pallier
Puis vérifiez que votre configuration soit OK :
94 128 Thibaud Ajas
<pre>
95 134 Etienne Pallier
$ git config --list
96 134 Etienne Pallier
(ou encore : cat ~/.gitconfig)
97 135 Etienne Pallier
98 1 Etienne Pallier
[user]
99 1 Etienne Pallier
	name = Etienne Pallier
100 1 Etienne Pallier
	email = epallier@irap.omp.eu
101 1 Etienne Pallier
[http]
102 1 Etienne Pallier
	sslVerify = false
103 1 Etienne Pallier
[push]
104 1 Etienne Pallier
	default = simple
105 1 Etienne Pallier
</pre>
106 1 Etienne Pallier
107 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)
108 1 Etienne Pallier
109 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).
110 136 Etienne Pallier
111 216 Etienne Pallier
Par défaut, vous êtes sur la branche "master" du git. Elle contient une version stable du logiciel.
112 1 Etienne Pallier
113 216 Etienne Pallier
Si vous souhaitez contribuer au développement de ce logiciel, 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) : 
114 216 Etienne Pallier
<pre>
115 216 Etienne Pallier
cd labinvent/
116 216 Etienne Pallier
$ git branch
117 216 Etienne Pallier
$ git checkout dev
118 216 Etienne Pallier
$ git branch
119 216 Etienne Pallier
</pre>
120 216 Etienne Pallier
121 136 Etienne Pallier
*Seulement pour Windows* : 
122 136 Etienne Pallier
123 136 Etienne Pallier
Obtenir git pour windows :
124 136 Etienne Pallier
125 126 Thibaud Ajas
 * Téléchargez git sur https://git-scm.com/download/win
126 126 Thibaud Ajas
 * Lancez l'installation (gardez la configuration par défaut)
127 136 Etienne Pallier
 * Une fois installé, lancer une invite de commande (Touche Windows+R, tapez cmd, touche entrer)
128 1 Etienne Pallier
<pre>
129 1 Etienne Pallier
$ git config --global http.sslVerify false
130 1 Etienne Pallier
</pre>
131 1 Etienne Pallier
Vous pouvez désormais utiliser git depuis une invite de commande ou depuis l'interface graphique de git.
132 136 Etienne Pallier
133 1 Etienne Pallier
134 53 Etienne Pallier
*2) Préparation*
135 1 Etienne Pallier
136 137 Etienne Pallier
* Si jamais votre dossier "labinvent" appartient à root (vous avez fait un "git clone" depuis root...), il serait préférable que vous en soyez vous-mêmes (ou un autre user) le propriétaire : 
137 137 Etienne Pallier
> sudo chown -R nom_utilisateur labinvent/
138 1 Etienne Pallier
139 137 Etienne Pallier
* Placer ce dossier à l'endroit voulu, 2 possibilités :
140 1 Etienne Pallier
- (1) soit vous placez ce dossier directement dans le repertoire des sites webs du serveur web (par exemple /var/www/html/ ou /var/www/html/localhost/public_html/, ...)
141 137 Etienne Pallier
- (2) soit vous le placez n'importe où ailleurs (par exemple dans votre repertoire home), et ensuite vous indiquez au serveur web où trouver ce projet, ou bien vous faites un lien depuis votre /var/www/html/ vers ce dossier labinvent/, ou encore vous créez un Virtual Host (Apache)
142 216 Etienne Pallier
143 1 Etienne Pallier
144 215 Etienne Pallier
---
145 215 Etienne Pallier
146 1 Etienne Pallier
h2. INSTALLATION
147 1 Etienne Pallier
148 148 Etienne Pallier
h3. A/ Installation des PREREQUIS
149 1 Etienne Pallier
150 61 Etienne Pallier
Le logiciel nécessite une combinaison "AMP" pour fonctionner, soit les 3 pré-requis suivants :
151 62 Etienne Pallier
152 73 Etienne Pallier
* un serveur web Apache
153 73 Etienne Pallier
* un serveur de base de données Mysql
154 166 Etienne Pallier
* le langage Php en version 5.6 (Php 7 bientôt supporté)
155 1 Etienne Pallier
156 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.
157 63 Etienne Pallier
158 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).
159 61 Etienne Pallier
160 140 Etienne Pallier
Sur Mac, vous pouvez utiliser XAMPP (ou autre équivalent) ou bien installer chacun des 3 éléments séparément soit via MacPort (ou HomeBrew) soit en téléchargeant le paquet binaire Mac correspondant à chaque élément.
161 61 Etienne Pallier
162 141 Etienne Pallier
*Voici la démarche à suivre sur Linux* :
163 1 Etienne Pallier
164 75 Etienne Pallier
h4. *1) Installation des prérequis*
165 72 Etienne Pallier
166 130 Thibaud Ajas
*Exemple pour Cent OS 6.7 (fait en 2016) :*
167 35 Alexandre Cases
168 130 Thibaud Ajas
    Mettre à jour le serveur:
169 130 Thibaud Ajas
<pre>
170 1 Etienne Pallier
$ sudo yum kernel
171 1 Etienne Pallier
(restart)
172 1 Etienne Pallier
$ sudo yum update
173 130 Thibaud Ajas
</pre>
174 1 Etienne Pallier
175 130 Thibaud Ajas
    Pour installer Apache, MySQL & PHP 5.3 :
176 130 Thibaud Ajas
    --> https://www.zerostopbits.com/how-to-install-apache-mysql-and-php-on-centos-6-7/
177 35 Alexandre Cases
178 130 Thibaud Ajas
    Pour mettre à jour PHP de la 5.3 à la 5.6
179 130 Thibaud Ajas
    --> https://www.zerostopbits.com/how-to-upgrade-php-5-3-to-php-5-6-on-centos-6-7/
180 1 Etienne Pallier
181 130 Thibaud Ajas
    Mettre à jour Mysql (version 5.1 à 5.5):
182 130 Thibaud Ajas
<pre>
183 71 Etienne Pallier
$ sudo yum update
184 1 Etienne Pallier
</pre>
185 1 Etienne Pallier
186 70 Etienne Pallier
187 174 Thibaud Ajas
*Exemple pour une distribution UBuntu 14.04.4 (fait en 2016) et 14.04.5 (Mai 2017) :*
188 1 Etienne Pallier
189 179 Thibaud Ajas
%{color:red;} /!\ Par défaut, la version de php installée ici est php5.5. 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" /!\%
190 1 Etienne Pallier
191 129 Thibaud Ajas
    Pour commencer il faut mettre à jour les "repository" de apt :
192 129 Thibaud Ajas
<pre>
193 1 Etienne Pallier
$ sudo apt-get update && sudo apt-get upgrade
194 129 Thibaud Ajas
</pre>
195 1 Etienne Pallier
196 129 Thibaud Ajas
    Installer un serveur web (Apache) :
197 129 Thibaud Ajas
<pre>
198 72 Etienne Pallier
$ sudo apt-get install apache2
199 129 Thibaud Ajas
</pre>
200 1 Etienne Pallier
201 129 Thibaud Ajas
    Installer un serveur de base de données (MySQL):
202 1 Etienne Pallier
<pre>
203 1 Etienne Pallier
$ sudo apt-get install mysql-server 
204 1 Etienne Pallier
</pre>
205 72 Etienne Pallier
206 129 Thibaud Ajas
    Installer le langage PHP en version 5.5.9 minimum (5.6 recommandé)
207 129 Thibaud Ajas
<pre>
208 1 Etienne Pallier
$ sudo apt-get install php5 php-pear
209 63 Etienne Pallier
$ sudo apt-get install php5-mysql
210 1 Etienne Pallier
</pre>
211 119 Etienne Pallier
212 173 Thibaud Ajas
    Installer phpmyadmin et le configurer
213 173 Thibaud Ajas
<pre>
214 173 Thibaud Ajas
$ sudo apt-get install phpmyadmin
215 177 Thibaud Ajas
$ sudo dpkg-reconfigure -plow phpmyadmin
216 173 Thibaud Ajas
</pre>
217 173 Thibaud Ajas
/!\ Lorsque vous aurez l'écran suivant, n'oubliez pas d'appuyer sur la touche "espace" avant la touche "entrée" /!\
218 173 Thibaud Ajas
219 173 Thibaud Ajas
!https://i.stack.imgur.com/Q9qYW.png!
220 173 Thibaud Ajas
221 173 Thibaud Ajas
Afin d'avoir cela :
222 173 Thibaud Ajas
223 173 Thibaud Ajas
!https://i.stack.imgur.com/VIh0U.png!
224 173 Thibaud Ajas
225 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 :
226 175 Thibaud Ajas
<pre>
227 175 Thibaud Ajas
$ sudo apt-get install php5-mcrypt
228 175 Thibaud Ajas
$ sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available
229 175 Thibaud Ajas
$ sudo php5enmod mcrypt 
230 175 Thibaud Ajas
$ sudo service apache2 restart
231 175 Thibaud Ajas
</pre>
232 175 Thibaud Ajas
233 130 Thibaud Ajas
*Exemple pour une distribution Fedora 20+ (fait en avril 2017) :*
234 114 Etienne Pallier
235 130 Thibaud Ajas
    https://www.digitalocean.com/community/tutorials/how-to-install-lamp-linux-apache-mysql-php-on-fedora
236 1 Etienne Pallier
237 130 Thibaud Ajas
    Pour commencer il faut mettre à jour l'OS :
238 129 Thibaud Ajas
<pre>
239 114 Etienne Pallier
$ sudo dnf update dnf
240 1 Etienne Pallier
$ sudo dnf update kernel
241 1 Etienne Pallier
$ sudo dnf update
242 129 Thibaud Ajas
</pre>
243 115 Etienne Pallier
244 130 Thibaud Ajas
    Installer git:
245 129 Thibaud Ajas
<pre>
246 115 Etienne Pallier
$ sudo dnf install git
247 1 Etienne Pallier
</pre>
248 115 Etienne Pallier
249 130 Thibaud Ajas
    Installer php :
250 129 Thibaud Ajas
<pre>
251 115 Etienne Pallier
$ sudo dnf install php
252 1 Etienne Pallier
$ sudo dnf install php-mysql
253 129 Thibaud Ajas
</pre>
254 115 Etienne Pallier
255 130 Thibaud Ajas
    Installer un serveur web (Apache) :
256 129 Thibaud Ajas
<pre>
257 115 Etienne Pallier
$ sudo dnf install httpd
258 116 Etienne Pallier
$ sudo systemctl enable httpd
259 116 Etienne Pallier
(ln -s '/usr/lib/systemd/system/httpd.service' '/etc/systemd/system/multi-user.target.wants/httpd.service')
260 116 Etienne Pallier
$ sudo systemctl start httpd
261 129 Thibaud Ajas
</pre>
262 1 Etienne Pallier
263 130 Thibaud Ajas
    Installer un serveur de base de données (MySQL):
264 129 Thibaud Ajas
<pre>
265 115 Etienne Pallier
$ sudo dnf install mariadb mariadb-server -y
266 116 Etienne Pallier
$ sudo systemctl enable mariadb
267 116 Etienne Pallier
(ln -s '/usr/lib/systemd/system/mariadb.service' '/etc/systemd/system/multi-user.target.wants/mariadb.service')
268 115 Etienne Pallier
$ sudo systemctl start mariadb
269 118 Etienne Pallier
$ sudo mysql_secure_installation
270 129 Thibaud Ajas
</pre>
271 118 Etienne Pallier
272 158 Etienne Pallier
    (OPTIONNEL) Installer phpmyadmin (par defaut accessible uniquement depuis localhost), utile pour gérer plus facilement la BD :
273 129 Thibaud Ajas
<pre>
274 118 Etienne Pallier
$ sudo dnf install phpmyadmin
275 1 Etienne Pallier
$ sudo systemctl restart httpd
276 158 Etienne Pallier
277 158 Etienne Pallier
Pour Ubuntu:
278 158 Etienne Pallier
sudo apt-get php5-mcrypt
279 158 Etienne Pallier
sudo apt-get install phpmyadmin
280 158 Etienne Pallier
Pensez à activer l'extension mcrypt : sudo php5enmod mcrypt
281 158 Etienne Pallier
</pre>
282 158 Etienne Pallier
283 114 Etienne Pallier
</pre>
284 114 Etienne Pallier
285 75 Etienne Pallier
h4. *2) Configuration des prérequis*
286 1 Etienne Pallier
287 78 Etienne Pallier
* *(optionnel) Configuration du serveur web (Apache)*
288 76 Etienne Pallier
289 143 Etienne Pallier
Ces configurations sont nécessaires sur Ubuntu, mais pas forcément sur CentOS/Fedora :
290 143 Etienne Pallier
291 1 Etienne Pallier
 * KeepAlive:
292 143 Etienne Pallier
Editer le fichier de configuration du serveur web (/etc/apache2/apache2.conf sur Ubuntu, /etc/httpd/conf/http.conf sur CentOS/Fedora) et mettre le paramêtre "KeepAlive" à "Off" :
293 63 Etienne Pallier
<pre>
294 63 Etienne Pallier
KeepAlive Off
295 63 Etienne Pallier
</pre>
296 63 Etienne Pallier
297 79 Etienne Pallier
 * event et prefork modules:
298 64 Etienne Pallier
Par défaut Apache utilise un "event module" et PHP un "prefork module".
299 63 Etienne Pallier
Il faut désactiver le 1er module et activer le second :
300 63 Etienne Pallier
<pre>
301 63 Etienne Pallier
sudo a2dismod mpm_event
302 63 Etienne Pallier
sudo a2enmod mpm_prefork
303 1 Etienne Pallier
</pre>
304 64 Etienne Pallier
305 86 Etienne Pallier
 * Activer le mode rewrite de Apache:
306 86 Etienne Pallier
<pre>
307 86 Etienne Pallier
sudo a2enmod rewrite
308 86 Etienne Pallier
</pre>
309 86 Etienne Pallier
310 153 Etienne Pallier
 * Autoriser les fichiers .htaccess sur le site :
311 153 Etienne Pallier
(cf http://book.cakephp.org/3.0/fr/installation.html#url-rewriting)
312 153 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 : 
313 153 Etienne Pallier
<pre>
314 153 Etienne Pallier
<Directory /var/www/html/labinvent>
315 153 Etienne Pallier
  Options FollowSymLinks
316 153 Etienne Pallier
  AllowOverride All
317 153 Etienne Pallier
</Directory>
318 154 Etienne Pallier
</pre>
319 153 Etienne Pallier
NB : Si Labinvent n'est pas dans le repertoire des sites webs :
320 153 Etienne Pallier
- faire un lien dans le dossier web racine de Apache (/var/www/html/) vers le repertoire d'installation de Labinvent
321 156 Etienne Pallier
- sinon, vous pouvez tenter de mettre son chemin absolu :
322 154 Etienne Pallier
<pre>
323 153 Etienne Pallier
<Directory /chemin/abosolu/vers/labinvent>
324 154 Etienne Pallier
</pre>
325 153 Etienne Pallier
NB: Une autre solution plus "propre" consisterait à créer un virtual host dédié pour Labinvent, sur un port 808x (8081, 8082, ...)
326 153 Etienne Pallier
(TODO: mettre ici un exemple de config)
327 153 Etienne Pallier
328 153 Etienne Pallier
 * Redémarrer Apache 
329 153 Etienne Pallier
330 64 Etienne Pallier
331 30 Alexandre Cases
* *Configuration de Php*
332 1 Etienne Pallier
333 145 Etienne Pallier
 * *Extension PHP "intl"*:
334 145 Etienne Pallier
Vérifier qu'elle est activée dans le php.ini:
335 1 Etienne Pallier
<pre>
336 80 Etienne Pallier
php --ini|grep intl
337 80 Etienne Pallier
Sinon, l'ajouter dans le php.ini:
338 1 Etienne Pallier
extension=intl.so
339 144 Etienne Pallier
</pre>
340 1 Etienne Pallier
Vérifier qu'elle est bien installée :
341 1 Etienne Pallier
<pre>
342 1 Etienne Pallier
$ php -m| grep intl
343 1 Etienne Pallier
(ça devrait retourner "intl")
344 76 Etienne Pallier
Sinon, l'installer
345 1 Etienne Pallier
Ubuntu:
346 76 Etienne Pallier
$ sudo apt-get install php5-intl
347 76 Etienne Pallier
CentOS:
348 76 Etienne Pallier
$ sudo yum install php-intl
349 76 Etienne Pallier
MacOS avec XAMPP: 
350 1 Etienne Pallier
cf http://stackoverflow.com/questions/27886117/php-intl-installation-on-xampp
351 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
352 1 Etienne Pallier
cd /Applications/XAMPP/bin
353 1 Etienne Pallier
sudo ./pecl install intl
354 1 Etienne Pallier
(Vérifier qu'elle a bien été installée dans /Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20131226/)
355 1 Etienne Pallier
</pre>
356 1 Etienne Pallier
357 146 Etienne Pallier
 * *Dossier de log (optionnel)*:
358 146 Etienne Pallier
Dans le fichier /etc/php5/apache2/php.ini (ou /etc/php.ini sur CentOS), vous devez positionner votre répertoire de log :
359 76 Etienne Pallier
<pre>
360 76 Etienne Pallier
error_reporting = E_ALL
361 76 Etienne Pallier
error_log = /var/log/php/error.log
362 76 Etienne Pallier
max_input_time = 30
363 76 Etienne Pallier
</pre>
364 146 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...):
365 76 Etienne Pallier
<pre>
366 76 Etienne Pallier
sudo mkdir /var/log/php
367 76 Etienne Pallier
sudo chown www-data /var/log/php
368 76 Etienne Pallier
</pre>
369 1 Etienne Pallier
370 147 Etienne Pallier
 * *Recharger la configuration du serveur Web*
371 83 Etienne Pallier
<pre>
372 82 Etienne Pallier
$ sudo service httpd reload
373 146 Etienne Pallier
(CentOS: $ sudo systemctl reload httpd)
374 83 Etienne Pallier
</pre>
375 82 Etienne Pallier
376 149 Etienne Pallier
h3. B/ Installation du logiciel LabInvent
377 1 Etienne Pallier
378 150 Etienne Pallier
<pre>
379 26 Etienne Pallier
cd install/
380 26 Etienne Pallier
./installation.sh
381 150 Etienne Pallier
</pre>
382 150 Etienne Pallier
383 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).
384 1 Etienne Pallier
(Conseil : à la plupart des questions, laissez les réponses par défaut)
385 23 Etienne Pallier
386 96 Etienne Pallier
---
387 96 Etienne Pallier
388 161 Etienne Pallier
---
389 1 Etienne Pallier
390 161 Etienne Pallier
h3. C/ TESTS
391 161 Etienne Pallier
392 161 Etienne Pallier
* Verifiez que la BD d'inventaire ($bddName) à bien été créée (avec phpmyadmin par exemple).
393 161 Etienne Pallier
394 161 Etienne Pallier
* Verifiez que les tests passent, placez vous à la racine du projet, exécutez la commande 'vendor/bin/phpunit'. Si la commande ne fonctionne pas, essayez 'vendor/phpunit/phpunit/phpunit'.
395 161 Etienne Pallier
396 161 Etienne Pallier
397 161 Etienne Pallier
398 161 Etienne Pallier
---
399 161 Etienne Pallier
400 161 Etienne Pallier
h3. D/ CONFIGURATION DU SITE WEB
401 161 Etienne Pallier
402 121 Thibaud Ajas
Le site est maintenant installé, il vous faut maintenant le configurer.
403 121 Thibaud Ajas
Si vous voulez le conserver, le script de creation de la BD est database/build.sql.
404 151 Etienne Pallier
Votre fichier de configuration app.php (s'il existait) a été écrasé, mais il a été sauvegardé dans app.php.ORIG.
405 121 Thibaud Ajas
406 87 Etienne Pallier
* Tester l'accès web à l'application : http://localhost/labinvent/
407 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.
408 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...
409 98 Etienne Pallier
(La page affichera un message si l'URL-Rewriting ne fonctionne pas correctement).
410 98 Etienne Pallier
Si tout est au vert, passez à l'étape suivante (D/ Configuration de l'application).
411 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:
412 1 Etienne Pallier
413 89 Etienne Pallier
* Extension PHP "mbstring" et librairie "zlib"
414 90 Etienne Pallier
La collection de librairies est normalement déja installée avec PHP en tant que dépendance, sinon faire :
415 90 Etienne Pallier
<pre>
416 90 Etienne Pallier
sudo apt-get install libapache2-mod-php5
417 90 Etienne Pallier
</pre>
418 6 Alexandre Cases
=> Redémarrer votre serveur et vérifier que la ligne correspondant à l'extension soit passée au vert.
419 6 Alexandre Cases
420 90 Etienne Pallier
* Librairie PHP "php-gd" 
421 90 Etienne Pallier
<pre>
422 90 Etienne Pallier
sudo apt-get install php5-gd
423 90 Etienne Pallier
</pre>
424 1 Etienne Pallier
=> Redémarrer votre serveur et vérifier que la ligne correspondant à l'extension soit passée au vert.
425 1 Etienne Pallier
Si ce n'est toujours pas le cas, aller dans le fichier /etc/php5/apache2/php.ini :
426 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 : 
427 6 Alexandre Cases
<pre>
428 6 Alexandre Cases
extension=gd.so
429 1 Etienne Pallier
</pre>
430 1 Etienne Pallier
431 161 Etienne Pallier
* Redémarrer votre serveur Web et vérifier que la ligne correspondant à l'extension manquante soit passée au vert.
432 90 Etienne Pallier
<pre>
433 90 Etienne Pallier
sudo service apache2 restart
434 1 Etienne Pallier
(ou simplement le recharger: utiliser "reload" au lieu de "restart")
435 90 Etienne Pallier
</pre>
436 1 Etienne Pallier
437 1 Etienne Pallier
* URL-Rewriting
438 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 : 
439 1 Etienne Pallier
<pre>
440 7 Alexandre Cases
Fichier ./.htaccess : 
441 1 Etienne Pallier
<IfModule mod_rewrite.c>
442 1 Etienne Pallier
    RewriteEngine on
443 1 Etienne Pallier
    RewriteRule    ^$    webroot/    [L]
444 1 Etienne Pallier
    RewriteRule    (.*) webroot/$1    [L]
445 1 Etienne Pallier
</IfModule>
446 27 Etienne Pallier
447 29 Etienne Pallier
Fichier ./webroot/.htaccess : 
448 27 Etienne Pallier
<IfModule mod_rewrite.c>
449 1 Etienne Pallier
    RewriteEngine On
450 1 Etienne Pallier
    RewriteCond %{REQUEST_FILENAME} !-f
451 27 Etienne Pallier
    RewriteRule ^ index.php [L]
452 27 Etienne Pallier
</IfModule>
453 32 Etienne Pallier
</pre>
454 94 Etienne Pallier
455 1 Etienne Pallier
456 95 Etienne Pallier
---
457 95 Etienne Pallier
458 162 Etienne Pallier
h3. E/ CONFIGURATION DU LOGICIEL D'INVENTAIRE
459 94 Etienne Pallier
460 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".
461 34 Alexandre Cases
462 99 Etienne Pallier
* Maintenant, sortez du "mode installation" en cliquant sur le bouton "Stopper le mode installation"
463 1 Etienne Pallier
464 99 Etienne Pallier
* Allez dans le dossier config à la racine du projet, et ouvrez le fichier config/app.php
465 34 Alexandre Cases
<pre>
466 11 Alexandre Cases
Allez à la ligne 12 :
467 11 Alexandre Cases
'debug' => filter_var(env('DEBUG', true), FILTER_VALIDATE_BOOLEAN),
468 1 Etienne Pallier
469 11 Alexandre Cases
Et remplacer le true par false :
470 11 Alexandre Cases
'debug' => filter_var(env('DEBUG', false), FILTER_VALIDATE_BOOLEAN),
471 11 Alexandre Cases
</pre>
472 1 Etienne Pallier
473 1 Etienne Pallier
* Connectez-vous à l'aide du login utilisateur créé lors de la création de la base, SANS mot de passe (ou bien avec le mot de passe "login")
474 163 Etienne Pallier
NB : Les autres comptes utilisateurs que le script d'installation aura créé auront tous le même mot de passe par défaut : "login"
475 28 Etienne Pallier
476 99 Etienne Pallier
* Si vous n'avez pas configuré l'application avec le mode install
477 14 Alexandre Cases
Dans le menu latéral, cliquez sur le lien "Outils", puis sur "Configuration générale de l'application".
478 99 Etienne Pallier
Sur cette page vous pouvez voir la configuration de votre application (nom, mode, ...) et l'éditer.
479 14 Alexandre Cases
480 99 Etienne Pallier
* Ensuite retournez dans la liste des outils et cliquez sur "Gérer le contenu variable de l'application".
481 21 Alexandre Cases
482 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..
483 94 Etienne Pallier
484 1 Etienne Pallier
485 95 Etienne Pallier
---
486 94 Etienne Pallier
487 101 Etienne Pallier
h3. F/ Gestion de l'authentification des utilisateurs via un annuaire LDAP
488 43 Etienne Pallier
489 164 Etienne Pallier
Labinvent peut être utilisé avec un annuaire LDAP. Si c'est ce que vous voulez, ceci vous concerne :
490 37 Etienne Pallier
491 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.
492 44 Etienne Pallier
493 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.
494 44 Etienne Pallier
495 37 Etienne Pallier
---
496 43 Etienne Pallier
497 168 Thibaud Ajas
h3. G/ Configuration de l'envoi des emails
498 168 Thibaud Ajas
499 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".
500 169 Thibaud Ajas
501 170 Thibaud Ajas
* 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 app.php selon le serveur choisi. Lors de l'envoi d'un mail il faut utiliser le transport 'dev' en local.
502 169 Thibaud Ajas
503 172 Thibaud Ajas
* Pour changer de mail et de transport, il faut aller dans la section Email/Transport de app.php, et vérifier/adapter a votre convenance le bloc suivant :
504 169 Thibaud Ajas
505 169 Thibaud Ajas
<pre>
506 169 Thibaud Ajas
'EmailTransport' => [
507 169 Thibaud Ajas
    	'default' => [
508 169 Thibaud Ajas
            'className' => 'Mail',
509 169 Thibaud Ajas
            // The following keys are used in SMTP transports
510 169 Thibaud Ajas
            'host' => 'localhost',
511 169 Thibaud Ajas
            'port' => 25,
512 169 Thibaud Ajas
            'timeout' => 30,
513 169 Thibaud Ajas
            'username' => 'user',
514 169 Thibaud Ajas
            'password' => 'secret',
515 169 Thibaud Ajas
            'client' => null,
516 169 Thibaud Ajas
            'tls' => null,
517 169 Thibaud Ajas
            'url' => env('EMAIL_TRANSPORT_DEFAULT_URL', null),
518 169 Thibaud Ajas
        ],
519 169 Thibaud Ajas
...
520 169 Thibaud Ajas
</pre>
521 169 Thibaud Ajas
522 168 Thibaud Ajas
---
523 168 Thibaud Ajas
524 198 Etienne Pallier
h3. H/ Etiquettes (optionnel)
525 180 Etienne Pallier
526 191 Etienne Pallier
!etiqueteuse.jpg!
527 191 Etienne Pallier
528 195 Etienne Pallier
Si la fonction d'impression d'étiquettes (ruban) de LabInvent vous intéresse, voici ce que vous devez faire
529 195 Etienne Pallier
530 1 Etienne Pallier
531 205 Etienne Pallier
*1) Etiqueteuse (environ 50€ HT)*
532 1 Etienne Pallier
533 202 Etienne Pallier
Vous devez acheter une étiqueteuse (titreuse) "Imprimante d'étiquettes - Dymo - LabelManager PnP - USB" et la brancher sur le port USB d'un poste (client) Windows ou Mac (pas de driver pour linux).
534 193 Etienne Pallier
535 187 Etienne Pallier
"Lien chez Lyreco (Réf : 4.976.543)":https://www.lyreco.com/webshop/FRBE/product-product-000000000004976543.html
536 183 Etienne Pallier
537 188 Etienne Pallier
"Lien chez OfficeDepot (Réf : 5375844)":http://www.officedepot.fr/a/pb/Imprimante-d-etiquettes-Dymo-PnP/pr=&id=5375844/
538 183 Etienne Pallier
539 190 Etienne Pallier
"Lien chez le constructeur DYMO (Réf : S0915350)":http://global.dymo.com/frFR/Products/LabelManager_PnP.html
540 190 Etienne Pallier
541 183 Etienne Pallier
<pre>
542 183 Etienne Pallier
    Pas de logiciel ni de pilote à installer. Le logiciel intégré s’ouvre à l’écran, prêt à l’emploi.
543 183 Etienne Pallier
    Garantie 2 ans.
544 183 Etienne Pallier
    Fonctionne avec les rubans D1 6, 9 et 12 mm.
545 183 Etienne Pallier
    Petite et compacte, elle trouve facilement sa place sur un bureau.
546 183 Etienne Pallier
    Batterie lithium-ion fournie, rechargeable par USB - pas d’adaptateur secteur ni de piles.
547 183 Etienne Pallier
    Personnalisez vos étiquettes avec les polices et graphiques de votre ordinateur.
548 183 Etienne Pallier
    Connectez-là à votre PC ou Mac et imprimez instantanément et très facilement des étiquettes professionnelles !
549 183 Etienne Pallier
    Connexion USB à votre PC ou Mac.
550 1 Etienne Pallier
</pre>
551 205 Etienne Pallier
552 205 Etienne Pallier
553 206 Etienne Pallier
*ATTENTION*: Ruban à commander : *D1 en 12mm*
554 1 Etienne Pallier
555 1 Etienne Pallier
556 194 Etienne Pallier
*2) Installation du logiciel DLS*
557 194 Etienne Pallier
558 1 Etienne Pallier
Pour pouvoir utiliser cette étiqueteuse (à ruban) avec le logiciel LabInvent, vous devez installer le logiciel DLS (DYMO LABEL SOFTWARE)
559 1 Etienne Pallier
560 209 Etienne Pallier
La dernière version testée sur MacOSX, Win7, et Win10 avec LabInvent est la v8.6.1 (DLS 8.5 aussi testé ok sur Win 7)
561 196 Etienne Pallier
562 213 Etienne Pallier
"Page de téléchargement du logiciel, section - The Latest Software & Drivers for all LabelWriters® and LabelManagers -":http://www.dymo.com/en-US/online-support/dymo-user-guides
563 192 Etienne Pallier
564 208 Etienne Pallier
"Plus de versions (si besoin)":http://www.dymo.com/fr-FR/labelmanager-pnp-label-maker
565 208 Etienne Pallier
566 208 Etienne Pallier
567 194 Etienne Pallier
568 194 Etienne Pallier
*3) Activation de la fonction d'impression sur LabInvent*
569 193 Etienne Pallier
570 201 Etienne Pallier
Enfin, pour pouvoir étiqueter vos matériels depuis LabInvent, vous devez cocher "Imprimante disponible" dans la section "Divers" de la page de configuration générale (Outils/Configuration générale de l'application).
571 183 Etienne Pallier
572 183 Etienne Pallier
573 207 Etienne Pallier
*4) Adaptation des étiquettes au besoin du laboratoire*
574 207 Etienne Pallier
*<TODO>*
575 1 Etienne Pallier
576 207 Etienne Pallier
577 207 Etienne Pallier
*5) Etiqueteuses installées sur le labo (IRAP ONLY)*
578 203 Etienne Pallier
579 203 Etienne Pallier
580 203 Etienne Pallier
Dans l'idéal, il faudrait une étiqueteuse par gestionnaire financier :
581 203 Etienne Pallier
582 203 Etienne Pallier
SUR LE SITE ROCHE :
583 203 Etienne Pallier
584 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)
585 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)
586 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)
587 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)
588 203 Etienne Pallier
    Installée sur lettre G: - ruban installé = 3m seulement
589 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)
590 203 Etienne Pallier
    Installée sur lettre G: - ruban installé = 3m seulement
591 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)
592 203 Etienne Pallier
    Installée sur lettre G: - ruban installé = 3m seulement
593 203 Etienne Pallier
594 203 Etienne Pallier
595 203 Etienne Pallier
SUR LE SITE BELIN :
596 203 Etienne Pallier
597 204 Etienne Pallier
* Carole Gaiti (site Belin 61) ==> installée le 24/6/14 (pc Win 7 - version soft DLS 8.5.1)
598 204 Etienne Pallier
* Dolores Granat (site Belin 80bis) ==> A FAIRE
599 204 Etienne Pallier
* Isabelle Moro (site Belin B064) ==> A FAIRE
600 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
601 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.
602 203 Etienne Pallier
603 203 Etienne Pallier
604 183 Etienne Pallier
Au total, ça fait donc 9. 
605 1 Etienne Pallier
606 181 Etienne Pallier
---
607 180 Etienne Pallier
608 215 Etienne Pallier
h2. UTILISATION du logiciel
609 110 Etienne Pallier
610 165 Etienne Pallier
Depuis le site web de Labinvent, cliquez sur "Accueil", et ouvrez le "Guide d'utilisation" (pdf)
611 165 Etienne Pallier
612 165 Etienne Pallier
(Vous pouvez aussi aller à la page wiki "Utilisation" [[Documentation_utilisateurs]])
613 110 Etienne Pallier
614 112 Etienne Pallier
---
615 112 Etienne Pallier
616 1 Etienne Pallier
h2. MISE A JOUR du logiciel 
617 43 Etienne Pallier
618 1 Etienne Pallier
1) Mettre à jour le code
619 45 Etienne Pallier
620 43 Etienne Pallier
Aller sur la racine du projet et exécuter :
621 1 Etienne Pallier
622 43 Etienne Pallier
<pre>
623 1 Etienne Pallier
$ git pull
624 57 Alexandre Cases
</pre>
625 57 Alexandre Cases
626 56 Alexandre Cases
2) [Seulement si nécessaire] Mettre à jour la base de données
627 44 Etienne Pallier
628 56 Alexandre Cases
Aller dans le dossier database/update/
629 44 Etienne Pallier
630 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).
631 1 Etienne Pallier
Attention, il faut les exécuter *dans l'ordre chronologique*, un par un
632 1 Etienne Pallier
633 44 Etienne Pallier
Exemple:
634 54 Etienne Pallier
<pre>
635 57 Alexandre Cases
Placez vous dans ./database/update et éxécutez les commandes correspondantes : 
636 58 Alexandre Cases
637 57 Alexandre Cases
./db-update-2016-06-03.sh
638 57 Alexandre Cases
639 57 Alexandre Cases
./db-update-2016-06-06.sh
640 57 Alexandre Cases
641 57 Alexandre Cases
./db-update-2016-06-07.sh
642 57 Alexandre Cases
</pre>
643 54 Etienne Pallier
644 43 Etienne Pallier
645 56 Alexandre Cases
646 41 Etienne Pallier
Remarques : 
647 103 Etienne Pallier
* Le fichier README-LABINVENT.md contient la liste des mises à jour.
648 55 Etienne Pallier
649 1 Etienne Pallier
---
650 55 Etienne Pallier
651 55 Etienne Pallier
h2. MODE PANIQUE
652 55 Etienne Pallier
653 55 Etienne Pallier
Vous avez changé la configuration du LDAP et elle ne fonctionne plus !
654 55 Etienne Pallier
Du coup, vous ne pouvez plus vous connecter au site !
655 106 Etienne Pallier
Pas de panique, le mode panique est là !
656 106 Etienne Pallier
Il suffit de repasser le logiciel en mode INSTALL pour pouvoir y accéder sans connexion.
657 105 Etienne Pallier
Pour cela, exécuter le script mode_panique.sh qui se trouve dans le dossier database/ :
658 1 Etienne Pallier
659 1 Etienne Pallier
<pre>
660 105 Etienne Pallier
./mode_panique.sh
661 1 Etienne Pallier
</pre>
662 1 Etienne Pallier
663 107 Etienne Pallier
(
664 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:_
665 105 Etienne Pallier
mysql -u login -p labinvent2 < set_mode_install.sql
666 1 Etienne Pallier
_Remplacer 'login' par le 'username' défini dans votre fichier config/app.php dans la section Datasources (default)_
667 1 Etienne Pallier
_Remplacer 'labinvent2' par le 'database' défini au même endroit_
668 107 Etienne Pallier
_Ou bien exécuter cette requête depuis phpmyadmin_
669 105 Etienne Pallier
)