Projet

Général

Profil

Wiki » Historique » Version 81

Patrice Nadeau, 2018-04-07 15:54

1 80 Patrice Nadeau
# 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 80 Patrice Nadeau
## Configuration préalable
13 3 Patrice Nadeau
14
Un serveur openSUSE avec les options « LAMP » (Linux, Apache, MySQL, PHP) ainsi que Postfix
15
devrait déjà être installé.
16
17 80 Patrice Nadeau
### PHP
18 3 Patrice Nadeau
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 80 Patrice Nadeau
### Préparation de MySQL
49 3 Patrice Nadeau
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 80 Patrice Nadeau
## Installation de Drupal
71 3 Patrice Nadeau
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 80 Patrice Nadeau
### Sécurité
108 3 Patrice Nadeau
> 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 80 Patrice Nadeau
## Personnalisation
117 3 Patrice Nadeau
118 80 Patrice Nadeau
### Logo
119 3 Patrice Nadeau
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 80 Patrice Nadeau
### Type de fichier permis
126 3 Patrice Nadeau
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 80 Patrice Nadeau
### Activation des « clean URL »
132 46 Patrice Nadeau
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 80 Patrice Nadeau
### Retrait du lien « Home »
155 50 Patrice Nadeau
156 81 Patrice Nadeau
La variable **$breadcrumb** est utilisée dans le fichier **page.tpl.php** du thème.
157 51 Patrice Nadeau
Enlever les 3 lignes correspondantes a son impression
158 1 Patrice Nadeau
159 81 Patrice Nadeau
Ex. : Thème Bartik, fichier __themes/bartik/templates/page.tpl.php__, enlever
160
161
```php
162 50 Patrice Nadeau
<?php if ($breadcrumb): ?>
163
   <div id="breadcrumb"><?php print $breadcrumb; ?></div>
164
<?php endif; ?>
165 81 Patrice Nadeau
```
166 50 Patrice Nadeau
167 51 Patrice Nadeau
Il peux être nécessaire de relancer une maintenance Cron pour rafraîchir le cache.
168 50 Patrice Nadeau
169 80 Patrice Nadeau
## Modules supplémentaires
170 3 Patrice Nadeau
171 80 Patrice Nadeau
### CKEditor
172 55 Patrice Nadeau
173 59 Patrice Nadeau
Éditeur visuel HTML.
174 55 Patrice Nadeau
> Seras intégré à Drupal 8
175
176
h4. Installation
177
178
<pre><code class="bash">
179
cd /srv/www/htdocs
180
wget http://ftp.drupal.org/files/projects/ckeditor-7.x-1.16.tar.gz
181 56 Patrice Nadeau
tar -xvf ckeditor-7.x-1.16.tar.gz
182 57 Patrice Nadeau
mv ckeditor/ drupal/modules/
183
rm ckeditor-7.x-1.16.tar.gz
184 55 Patrice Nadeau
</code></pre>
185
186 58 Patrice Nadeau
Faire l'activation dans Drupal, Modules
187
188 80 Patrice Nadeau
### Gallery Formater
189 3 Patrice Nadeau
190
Module pour la présentation de photos.
191
192
Sélectionner le fichier à partir de http://drupal.org/project/galleryformatter
193
Installer en mode manuel (voir la section précédente)
194
A partir de Drupal : Management, Administration, Modules 
195
* Sélectionner le module et sauvegarder
196
197
h4. Créer un nouveau type de contenu
198
199
Administration, Structure, Contents types, Gallery, onglet *MANAGE FIELDS*
200
* Ajouter un champ de type *Image*
201
Éditer le champ et dans la section *Image field settings* choisir *unlimited* pour le nombre de valeurs
202
203
Administration, Structure, Contents types, Gallery, onglet *MANAGE DISPLAY*
204
* Pour le champ _Image_, choisir le format *JQuery Gallery*
205
206 80 Patrice Nadeau
### GeSHi Filter
207 3 Patrice Nadeau
208
Modules d’affichage de code
209
Ce module est basé sur GeSHi et supporte plus de 200 langages.
210
> Ne fonctionne pas avec avec les éditeurs de type WYSIWYG.
211
212
3 solutions existent pour contourner ce problème :
213
* L’utilisation de Wysiwyg Geshi
214
** Je ne l’ais pas essayé.
215
* La définition d’un nouveau type de format texte sans éditeur
216
* La définition d’un nouveau type de champ à ajouter dans les documents
217
218
h4. Installation
219
220
A partir du serveur :
221
<pre><code class="bash">
222
cd /srv/www/htdocs/drupal/modules
223
wget http://ftp.drupal.org/files/projects/libraries-7.x-2.2.tar.gz
224
tar -xvf libraries-7.x-2.2.tar.gz
225
rm libraries-7.x-2.2.tar.gz
226
#
227
wget http://ftp.drupal.org/files/projects/geshifilter-7.x-1.2.tar.gz
228
tar xvf geshifilter-7.x-1.2.tar.gz
229
rm geshifilter-7.x-1.2.tar.gz
230
#
231
cd ../sites/all/librairies
232
# La version doit etre 1.0.x (la version 1.1.x ne fonctionneras pas
233
wget http://sourceforge.net/projects/geshi/files/geshi/GeSHi%201.0.8.11/GeSHi-1.0.8.11.tar.gz
234
tar xvf GeSHi-1.0.8.11.tar.gz
235
rm GeSHi-1.0.8.11.tar.gz
236
</code></pre>
237
238
Dans la gestion des modules (Home, Administration, Modules), activer
239
* Filters
240
** GeSHi field
241
** GeSHi Filter
242
* Libraries
243
244
Dans la page d’administration, sélectionner l’onglet INDEX, l’option GeSHi Filter apparaitra.
245
* GENERAL SETTINGS
246
Les option pour afficher le numéro de ligne peux être choisis ainsi que des options plus avancées
247
* LANGUAGES
248
Activer/désactiver seulement les langages nécessaires.
249
S’assurer d’avoir des «tags» de définis pour chaque langage.
250
* FILTER CONFLICTS
251
Vérifier qu’il n’y a pas de conflit.
252
253
Dans la page d’administration, Configuration, Content authoring, Text formats.
254
Choisir Full HTML, activer le filtre GeSHi.
255
Déplacer l’ordre de traitement de ce filtre en dernier.
256
257
h4. Nouveau format texte
258
259
Création du nouveau format texte sans éditeur associé.
260
Home » Administration » Configuration » Content authoring
261
* Text formats
262
Ajouter un format texte Code
263
** Roles Admin
264
anonymous user
265
authenticated user
266
** Enabled filters GeSHi
267
* Wysiwyg profiles
268
S’assurer que le format Code n’as pas d’éditeur associé.
269
270
h4. Nouveau type de champ
271
272
Création d’un nouveau champ.
273
Administration » Structure
274
Choisir le type de contenu et manage fields.
275
Ajouter une nouveau champ _Code_ de type *GeSHi*.
276
Un écran d’information sur le champ apparaitra. On peux y définir le langages par defaut
277
et le nom de champ disponibles.
278
Répéter pour les autres type de contenu, si nécessaire.
279
280 80 Patrice Nadeau
## Maintenance
281 3 Patrice Nadeau
282 80 Patrice Nadeau
### Copie de sécurité
283 3 Patrice Nadeau
284
Faire une copie des fichiers et de la bd :
285
<pre><code class="bash">
286
cd /srv/www/htdocs
287
mysqldump -u username -p database > drupal.mysql
288
tar czf drupalbackup.tgz drupal.mysql drupal/
289
</code></pre>
290
291 80 Patrice Nadeau
### Récupération d’une copie de sécurité
292 3 Patrice Nadeau
293
<pre><code class="bash">
294
cd /srv/www/htdocs
295
tar xf drupalbackup.tgz
296
mysql -u root -p < drupal.mysql
297
</code></pre>
298
299 25 Patrice Nadeau
Remettre les permissions
300
<pre><code class="bash">
301 27 Patrice Nadeau
chmod 0755 /srv/www/htdocs/drupal/sites/default
302 29 Patrice Nadeau
chmod -R 0777 /srv/www/htdocs/drupal/sites/default/files
303 25 Patrice Nadeau
</code></pre>
304
305 80 Patrice Nadeau
### Mise à jour
306 3 Patrice Nadeau
307 62 Patrice Nadeau
Instructions sur un « update »
308 60 Patrice Nadeau
309 3 Patrice Nadeau
Mettre le site en mode maintenance (Management, Administration, Configuration, Developement, Maintenance mode)
310 54 Patrice Nadeau
311 3 Patrice Nadeau
À partir du serveur
312
<pre><code class="bash">
313
cd /srv/www/htdocs
314
wget http://ftp.drupal.org/files/projects/drupal-x.xx.tar.gz
315
tar -xvf drupal-*.tar.gz
316 5 Patrice Nadeau
cp -R drupal-x.y/* drupal-x.y/.htaccess drupal
317
rm -r drupal-x.y
318
rm drupal-x.xx.tar.gz
319 3 Patrice Nadeau
</code></pre>
320 1 Patrice Nadeau
321 62 Patrice Nadeau
Se brancher sur la page web http://server/update.php
322
Remettre en mode en ligne
323
324 80 Patrice Nadeau
### Mise a niveau
325 62 Patrice Nadeau
326 75 Patrice Nadeau
> En cours de documentation
327 1 Patrice Nadeau
328 75 Patrice Nadeau
Instructions sur un « upgrade » 
329
330 64 Patrice Nadeau
https://www.drupal.org/upgrade/migrate
331 69 Patrice Nadeau
332 68 Patrice Nadeau
Une nouvelle installation de Drupal 8 doit être faite et ensuite une migration vers le nouveau site seras effectué.
333 66 Patrice Nadeau
334 3 Patrice Nadeau
335 80 Patrice Nadeau
### Mise à jour des modules
336 3 Patrice Nadeau
337
Mode manuel (sans FTP)
338
À partir du serveur
339
* Télécharger dans le dossier sites/all/modules
340
* Décompresser
341
342
À partir d’un navigateur web : http://server/drupal/update.php
343
344 80 Patrice Nadeau
## Bogues
345 3 Patrice Nadeau
346 80 Patrice Nadeau
### Configuration du module Image (core)
347 3 Patrice Nadeau
348
PDOException: SQLSTATE[42S02]: Base table or view not found: 1146
349
Editer le fichier *drupal/modules/images.image.install*, ligne 231
350
<pre><code class="BASH">
351
# ligne en probleme
352
db_create_table(’image_effect’, $schema[’image_effects’]);
353
# remplacer par
354
db_create_table(’image_effects’, $schema[’image_effects’]);
355
</code></pre>
356
357
Arrêter Apache
358
<pre><code class="bash">
359
systemctl stop apache2.service
360
</code></pre>
361
362
Lancer MySQL
363
<pre><code class="bash">
364
mysql -u
365
</code></pre>
366
367
Changer le nom de la table
368
<pre><code class="sql">
369
use drupal;
370
rename table image_effect to image_effects;
371
quit;
372
</code></pre>
373
374
Relancer apache
375
<pre><code class="bash">
376
systemctl start apache2.service
377
</code></pre>
378 6 Patrice Nadeau
379 80 Patrice Nadeau
## Accès à partir d'Internet
380 7 Patrice Nadeau
381 80 Patrice Nadeau
### NAT dans le pare-feu 
382 1 Patrice Nadeau
383
> Cette étape dépens du pare-feu utilisé.
384 9 Patrice Nadeau
385 1 Patrice Nadeau
Il s'agit de rediriger le port 80 externe vers le port 80 interne.
386 19 Patrice Nadeau
Cette configuration est fort probablement déjà en place si un serveur web accessible de l'internet existe.
387 12 Patrice Nadeau
388 80 Patrice Nadeau
### « Proxy » sur le serveur Apache
389 1 Patrice Nadeau
390 17 Patrice Nadeau
Voir l'article [[guides_opensuse:apache#Serveurs virtuels]] pour la redirection.
391 1 Patrice Nadeau
392 80 Patrice Nadeau
### Configurer Drupal
393 17 Patrice Nadeau
394
Seulement nécessaire si la redirection est faite vers un autre serveur.
395 12 Patrice Nadeau
396 13 Patrice Nadeau
>Sans cette étape, le contenu des pages risque de mal s'afficher à partir de l'internet.
397 9 Patrice Nadeau
398 24 Patrice Nadeau
Dans le fichier _sites/default/settings.php_ modifier la ligne *$base_url*
399 30 Patrice Nadeau
Ex. :
400
<pre><code class="php">
401 31 Patrice Nadeau
$base_url = 'http://drupal.domain.tld';
402 1 Patrice Nadeau
</code></pre>
403 31 Patrice Nadeau
> Ne pas ajouter de « slash » à la fin.