Projet

Général

Profil

Wiki » Historique » Version 79

Patrice Nadeau, 2016-01-17 11:42

1 2 Patrice Nadeau
h1. Drupal
2 1 Patrice Nadeau
3 76 Patrice Nadeau
{{lastupdated_at}} {{lastupdated_by}}
4
5 79 Patrice Nadeau
> Instructions pour la version 7
6
> [[8|Instructions pour Drupal 8]]
7 76 Patrice Nadeau
---
8
9 3 Patrice Nadeau
{{TOC}}
10 77 Patrice Nadeau
11 1 Patrice Nadeau
12 3 Patrice Nadeau
h2. Configuration préalable
13
14
Un serveur openSUSE avec les options « LAMP » (Linux, Apache, MySQL, PHP) ainsi que Postfix
15
devrait déjà être installé.
16
17
h3. PHP
18
19
Les modules PHP supplémentaires suivants doivent être installés :
20
<pre><code class="bash">
21 32 Patrice Nadeau
zypper install php5-mbstring php5-gd php5-ftp php5-zlib pecl php5-pear
22 3 Patrice Nadeau
</code></pre>
23
24
h4. Permettre les modules via FTP
25
26 4 Patrice Nadeau
Voir #45
27 1 Patrice Nadeau
28 4 Patrice Nadeau
> Basé sur https://www.drupal.org/node/1608658
29 3 Patrice Nadeau
30 4 Patrice Nadeau
Voir le lien pour l’installation : [[guides_opensuse:ftp]]
31 3 Patrice Nadeau
32 4 Patrice Nadeau
33 3 Patrice Nadeau
34
h4. Module « file upload progress bar » de PHP
35
36
> Facultatif
37
38
Télécharger le module :
39
<pre><code class="bash">
40
pecl install uploadprogress
41
</code></pre>
42
43
Ajouter à */etc/php5/apache2/php.ini*
44
<pre><code class="bash">
45
extension=uploadprogress.so
46
</code></pre>
47
48
h3. Préparation de MySQL
49
50
Choisir et noter les 3 items suivants :
51 39 Patrice Nadeau
* _drupal_db_ : nom voulu de la base de donnés de Drupal
52 41 Patrice Nadeau
* _drupal_user_ : nom voulu pour l’usager MySQL
53
* _drupal_password_ : mot de passe voulu pour l’usager MySQL
54 3 Patrice Nadeau
55
À partir du serveur :
56
> root est l’usager « root » de MySQL
57 36 Patrice Nadeau
58
<pre><code class="bash">
59 38 Patrice Nadeau
mysql -u root -p
60 36 Patrice Nadeau
</code></pre>
61
62 20 Patrice Nadeau
Inscrire les commandes SQL suivantes :
63 1 Patrice Nadeau
<pre><code class="sql">
64 39 Patrice Nadeau
create database drupal_db character set utf8;
65 41 Patrice Nadeau
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, LOCK TABLES, CREATE TEMPORARY TABLES ON drupal_db.* TO 'drupal_user'@'localhost' IDENTIFIED BY 'drupal_password';
66 20 Patrice Nadeau
COMMIT;
67 3 Patrice Nadeau
quit;
68
</code></pre>
69
70
h2. Installation de Drupal
71
72 34 Patrice Nadeau
> Les fichiers sont installés dans */srv/www/htdocs/drupal*
73 3 Patrice Nadeau
74
À partir d’un navigateur web, allez sur le site https://drupal.org/project/drupal.
75
Choisir le fichier « tar.gz » et copier le lien pour l’insérer dans la commande _wget_ plus bas.
76
À partir du serveur :
77 21 Patrice Nadeau
> Exemple avec la version 7.38
78 3 Patrice Nadeau
<pre><code class="bash">
79
cd /srv/www/htdocs
80 21 Patrice Nadeau
wget http://ftp.drupal.org/files/projects/drupal-7.38.tar.gz
81 3 Patrice Nadeau
tar xvf drupal*.tar.gz
82 22 Patrice Nadeau
rm drupal*.tar.gz
83 21 Patrice Nadeau
mv drupal-7.38 drupal
84 3 Patrice Nadeau
cd drupal
85
cp sites/default/default.settings.php sites/default/settings.php
86
chmod 0777 sites/default sites/default/settings.php
87
</code></pre>
88
89 33 Patrice Nadeau
Créer le fichier _/etc/apache2/vhosts.d/vhost.conf_
90 23 Patrice Nadeau
<pre><code class="bash">
91
<VirtualHost *:80>
92
    # La ligne suivante est nécessaire seulement si plusieurs site web son présents sur le même serveur.
93
    ServerName drupal.yourdomain.com
94
    DocumentRoot /srv/www/htdocs/drupal
95
96
    <Directory "/srv/www.htdocs/drupal">
97
        Options Indexes ExecCGI FollowSymLinks
98
        AllowOverride None
99
        Order deny,allow
100
        Require all granted
101
    </Directory>
102
</VirtualHost>
103
</code></pre>
104
105 3 Patrice Nadeau
À partir d’un navigateur web : http://server/drupal
106
107
h3. Sécurité
108
> Le fichier *sites/default/settings.php* contient les noms de la BD, de l’usager et de son mot de passe en texte.
109
110
Changer les droits des fichier et repertoires :
111
<pre><code class="bash">
112
chmod 0755 sites/default
113
chmod 0444 sites/default/settings.php
114
</code></pre>
115
116
h2. Personnalisation
117
118
h3. Logo
119
120 45 Patrice Nadeau
À partir de la page princpale, *Appearance*
121 44 Patrice Nadeau
Dans le thème par défaut, choisir *Settings, TOGGLE DISPLAY*
122 45 Patrice Nadeau
Section *LOGO IMAGE SETTINGS*, enlever le crochet pour l'utilisation du logo par défaut
123
Télécharger le logo voulu
124 44 Patrice Nadeau
125 3 Patrice Nadeau
h3. Type de fichier permis
126
127
A partir de Drupal Management, Administration > Structure > Content types
128
#  Choisir le type de contenu
129 1 Patrice Nadeau
#  Choisir _Edit_ pour le _FIELD TYPE_ *File*
130 46 Patrice Nadeau
131
h3. Activation des « clean URL »
132
133
Les liens seront affichés comme _example.com/user_ au lieu de _example.com/?q=user_.
134
135
> Le module Apache _rewrite_ doit être installé et actif
136
137
A partir de Drupal Administration, Configuration > Clean URLs
138
# Faire le test
139
# Activer l'option
140
141 47 Patrice Nadeau
Dans le cas d'une erreur, modifier la configuration d'Apache
142 46 Patrice Nadeau
143 47 Patrice Nadeau
Fichier _/etc/apache2/default-server.conf_, section *<Directory "/srv/www/htdocs">*
144 1 Patrice Nadeau
<pre><code class="bash">
145
#AllowOverride None
146
AllowOverride All
147 47 Patrice Nadeau
</code></pre>
148
149
Relire la configuration
150
<pre><code class="bash">
151
systemctl reload apache2.service
152 46 Patrice Nadeau
</code></pre>
153 3 Patrice Nadeau
154 50 Patrice Nadeau
h3. Retrait du lien « Home »
155
156 51 Patrice Nadeau
La variable *$breadcrumb* est utilisée dans le fichier *page.tpl.php* du thème.
157
Enlever les 3 lignes correspondantes a son impression
158 50 Patrice Nadeau
159 53 Patrice Nadeau
Ex. : Thème Bartik, fichier _themes/bartik/templates/page.tpl.php_, enlever
160 50 Patrice Nadeau
<pre><code class="php">
161
<?php if ($breadcrumb): ?>
162
   <div id="breadcrumb"><?php print $breadcrumb; ?></div>
163
<?php endif; ?>
164
</code></pre>
165
166 51 Patrice Nadeau
Il peux être nécessaire de relancer une maintenance Cron pour rafraîchir le cache.
167 50 Patrice Nadeau
168 3 Patrice Nadeau
h2. Modules supplémentaires
169
170 55 Patrice Nadeau
h3. CKEditor
171
172 59 Patrice Nadeau
Éditeur visuel HTML.
173 55 Patrice Nadeau
> Seras intégré à Drupal 8
174
175
h4. Installation
176
177
<pre><code class="bash">
178
cd /srv/www/htdocs
179
wget http://ftp.drupal.org/files/projects/ckeditor-7.x-1.16.tar.gz
180 56 Patrice Nadeau
tar -xvf ckeditor-7.x-1.16.tar.gz
181 57 Patrice Nadeau
mv ckeditor/ drupal/modules/
182
rm ckeditor-7.x-1.16.tar.gz
183 55 Patrice Nadeau
</code></pre>
184
185 58 Patrice Nadeau
Faire l'activation dans Drupal, Modules
186
187 3 Patrice Nadeau
h3. Gallery Formater
188
189
Module pour la présentation de photos.
190
191
Sélectionner le fichier à partir de http://drupal.org/project/galleryformatter
192
Installer en mode manuel (voir la section précédente)
193
A partir de Drupal : Management, Administration, Modules 
194
* Sélectionner le module et sauvegarder
195
196
h4. Créer un nouveau type de contenu
197
198
Administration, Structure, Contents types, Gallery, onglet *MANAGE FIELDS*
199
* Ajouter un champ de type *Image*
200
Éditer le champ et dans la section *Image field settings* choisir *unlimited* pour le nombre de valeurs
201
202
Administration, Structure, Contents types, Gallery, onglet *MANAGE DISPLAY*
203
* Pour le champ _Image_, choisir le format *JQuery Gallery*
204
205
h3. GeSHi Filter
206
207
Modules d’affichage de code
208
Ce module est basé sur GeSHi et supporte plus de 200 langages.
209
> Ne fonctionne pas avec avec les éditeurs de type WYSIWYG.
210
211
3 solutions existent pour contourner ce problème :
212
* L’utilisation de Wysiwyg Geshi
213
** Je ne l’ais pas essayé.
214
* La définition d’un nouveau type de format texte sans éditeur
215
* La définition d’un nouveau type de champ à ajouter dans les documents
216
217
h4. Installation
218
219
A partir du serveur :
220
<pre><code class="bash">
221
cd /srv/www/htdocs/drupal/modules
222
wget http://ftp.drupal.org/files/projects/libraries-7.x-2.2.tar.gz
223
tar -xvf libraries-7.x-2.2.tar.gz
224
rm libraries-7.x-2.2.tar.gz
225
#
226
wget http://ftp.drupal.org/files/projects/geshifilter-7.x-1.2.tar.gz
227
tar xvf geshifilter-7.x-1.2.tar.gz
228
rm geshifilter-7.x-1.2.tar.gz
229
#
230
cd ../sites/all/librairies
231
# La version doit etre 1.0.x (la version 1.1.x ne fonctionneras pas
232
wget http://sourceforge.net/projects/geshi/files/geshi/GeSHi%201.0.8.11/GeSHi-1.0.8.11.tar.gz
233
tar xvf GeSHi-1.0.8.11.tar.gz
234
rm GeSHi-1.0.8.11.tar.gz
235
</code></pre>
236
237
Dans la gestion des modules (Home, Administration, Modules), activer
238
* Filters
239
** GeSHi field
240
** GeSHi Filter
241
* Libraries
242
243
Dans la page d’administration, sélectionner l’onglet INDEX, l’option GeSHi Filter apparaitra.
244
* GENERAL SETTINGS
245
Les option pour afficher le numéro de ligne peux être choisis ainsi que des options plus avancées
246
* LANGUAGES
247
Activer/désactiver seulement les langages nécessaires.
248
S’assurer d’avoir des «tags» de définis pour chaque langage.
249
* FILTER CONFLICTS
250
Vérifier qu’il n’y a pas de conflit.
251
252
Dans la page d’administration, Configuration, Content authoring, Text formats.
253
Choisir Full HTML, activer le filtre GeSHi.
254
Déplacer l’ordre de traitement de ce filtre en dernier.
255
256
h4. Nouveau format texte
257
258
Création du nouveau format texte sans éditeur associé.
259
Home » Administration » Configuration » Content authoring
260
* Text formats
261
Ajouter un format texte Code
262
** Roles Admin
263
anonymous user
264
authenticated user
265
** Enabled filters GeSHi
266
* Wysiwyg profiles
267
S’assurer que le format Code n’as pas d’éditeur associé.
268
269
h4. Nouveau type de champ
270
271
Création d’un nouveau champ.
272
Administration » Structure
273
Choisir le type de contenu et manage fields.
274
Ajouter une nouveau champ _Code_ de type *GeSHi*.
275
Un écran d’information sur le champ apparaitra. On peux y définir le langages par defaut
276
et le nom de champ disponibles.
277
Répéter pour les autres type de contenu, si nécessaire.
278
279
h2. Maintenance
280
281
h3. Copie de sécurité
282
283
Faire une copie des fichiers et de la bd :
284
<pre><code class="bash">
285
cd /srv/www/htdocs
286
mysqldump -u username -p database > drupal.mysql
287
tar czf drupalbackup.tgz drupal.mysql drupal/
288
</code></pre>
289
290
h3. Récupération d’une copie de sécurité
291
292
<pre><code class="bash">
293
cd /srv/www/htdocs
294
tar xf drupalbackup.tgz
295
mysql -u root -p < drupal.mysql
296
</code></pre>
297
298 25 Patrice Nadeau
Remettre les permissions
299
<pre><code class="bash">
300 27 Patrice Nadeau
chmod 0755 /srv/www/htdocs/drupal/sites/default
301 29 Patrice Nadeau
chmod -R 0777 /srv/www/htdocs/drupal/sites/default/files
302 25 Patrice Nadeau
</code></pre>
303
304 3 Patrice Nadeau
h3. Mise à jour
305
306 62 Patrice Nadeau
Instructions sur un « update »
307 60 Patrice Nadeau
308 3 Patrice Nadeau
Mettre le site en mode maintenance (Management, Administration, Configuration, Developement, Maintenance mode)
309 54 Patrice Nadeau
310 3 Patrice Nadeau
À partir du serveur
311
<pre><code class="bash">
312
cd /srv/www/htdocs
313
wget http://ftp.drupal.org/files/projects/drupal-x.xx.tar.gz
314
tar -xvf drupal-*.tar.gz
315 5 Patrice Nadeau
cp -R drupal-x.y/* drupal-x.y/.htaccess drupal
316
rm -r drupal-x.y
317
rm drupal-x.xx.tar.gz
318 3 Patrice Nadeau
</code></pre>
319 1 Patrice Nadeau
320 62 Patrice Nadeau
Se brancher sur la page web http://server/update.php
321
Remettre en mode en ligne
322
323 63 Patrice Nadeau
h3. Mise a niveau
324 62 Patrice Nadeau
325 75 Patrice Nadeau
> En cours de documentation
326 1 Patrice Nadeau
327 75 Patrice Nadeau
Instructions sur un « upgrade » 
328
329 64 Patrice Nadeau
https://www.drupal.org/upgrade/migrate
330 69 Patrice Nadeau
331 68 Patrice Nadeau
Une nouvelle installation de Drupal 8 doit être faite et ensuite une migration vers le nouveau site seras effectué.
332 66 Patrice Nadeau
333 3 Patrice Nadeau
334
h3. Mise à jour des modules
335
336
Mode manuel (sans FTP)
337
À partir du serveur
338
* Télécharger dans le dossier sites/all/modules
339
* Décompresser
340
341
À partir d’un navigateur web : http://server/drupal/update.php
342
343 26 Patrice Nadeau
h2. Bogues
344 3 Patrice Nadeau
345 26 Patrice Nadeau
h3. Configuration du module Image (core)
346 3 Patrice Nadeau
347
PDOException: SQLSTATE[42S02]: Base table or view not found: 1146
348
Editer le fichier *drupal/modules/images.image.install*, ligne 231
349
<pre><code class="BASH">
350
# ligne en probleme
351
db_create_table(’image_effect’, $schema[’image_effects’]);
352
# remplacer par
353
db_create_table(’image_effects’, $schema[’image_effects’]);
354
</code></pre>
355
356
Arrêter Apache
357
<pre><code class="bash">
358
systemctl stop apache2.service
359
</code></pre>
360
361
Lancer MySQL
362
<pre><code class="bash">
363
mysql -u
364
</code></pre>
365
366
Changer le nom de la table
367
<pre><code class="sql">
368
use drupal;
369
rename table image_effect to image_effects;
370
quit;
371
</code></pre>
372
373
Relancer apache
374
<pre><code class="bash">
375
systemctl start apache2.service
376
</code></pre>
377 6 Patrice Nadeau
378 18 Patrice Nadeau
h2. Accès à partir d'Internet
379 7 Patrice Nadeau
380 9 Patrice Nadeau
h3. NAT dans le pare-feu 
381 1 Patrice Nadeau
382
> Cette étape dépens du pare-feu utilisé.
383 9 Patrice Nadeau
384 1 Patrice Nadeau
Il s'agit de rediriger le port 80 externe vers le port 80 interne.
385 19 Patrice Nadeau
Cette configuration est fort probablement déjà en place si un serveur web accessible de l'internet existe.
386 12 Patrice Nadeau
387 1 Patrice Nadeau
h3. « Proxy » sur le serveur Apache
388
389 17 Patrice Nadeau
Voir l'article [[guides_opensuse:apache#Serveurs virtuels]] pour la redirection.
390 1 Patrice Nadeau
391 16 Patrice Nadeau
h3. Configurer Drupal
392 17 Patrice Nadeau
393
Seulement nécessaire si la redirection est faite vers un autre serveur.
394 12 Patrice Nadeau
395 13 Patrice Nadeau
>Sans cette étape, le contenu des pages risque de mal s'afficher à partir de l'internet.
396 9 Patrice Nadeau
397 24 Patrice Nadeau
Dans le fichier _sites/default/settings.php_ modifier la ligne *$base_url*
398 30 Patrice Nadeau
Ex. :
399
<pre><code class="php">
400 31 Patrice Nadeau
$base_url = 'http://drupal.domain.tld';
401 1 Patrice Nadeau
</code></pre>
402 31 Patrice Nadeau
> Ne pas ajouter de « slash » à la fin.