Installation

Version 188 (Etienne Pallier, 05/10/2017 04:29 pm)

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