Projet

Général

Profil

Wiki » Historique » Version 87

Patrice Nadeau, 2021-03-26 12:24

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