Projet

Général

Profil

Wiki » Historique » Version 82

Patrice Nadeau, 2018-04-07 15:55

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 82 Patrice Nadeau
#### Installation
177 55 Patrice Nadeau
178 82 Patrice Nadeau
```bash
179 55 Patrice Nadeau
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 82 Patrice Nadeau
```
185 55 Patrice Nadeau
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 82 Patrice Nadeau
#### Créer un nouveau type de contenu
198 3 Patrice Nadeau
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 82 Patrice Nadeau
> Je ne l’ais pas essayé.
215 1 Patrice Nadeau
* La définition d’un nouveau type de format texte sans éditeur
216 3 Patrice Nadeau
* La définition d’un nouveau type de champ à ajouter dans les documents
217
218 82 Patrice Nadeau
#### Installation
219 3 Patrice Nadeau
220 1 Patrice Nadeau
A partir du serveur :
221 82 Patrice Nadeau
222
```bash
223 3 Patrice Nadeau
cd /srv/www/htdocs/drupal/modules
224
wget http://ftp.drupal.org/files/projects/libraries-7.x-2.2.tar.gz
225
tar -xvf libraries-7.x-2.2.tar.gz
226
rm libraries-7.x-2.2.tar.gz
227 82 Patrice Nadeau
228 3 Patrice Nadeau
#
229
wget http://ftp.drupal.org/files/projects/geshifilter-7.x-1.2.tar.gz
230
tar xvf geshifilter-7.x-1.2.tar.gz
231
rm geshifilter-7.x-1.2.tar.gz
232
#
233
cd ../sites/all/librairies
234
# La version doit etre 1.0.x (la version 1.1.x ne fonctionneras pas
235
wget http://sourceforge.net/projects/geshi/files/geshi/GeSHi%201.0.8.11/GeSHi-1.0.8.11.tar.gz
236
tar xvf GeSHi-1.0.8.11.tar.gz
237
rm GeSHi-1.0.8.11.tar.gz
238
</code></pre>
239
240
Dans la gestion des modules (Home, Administration, Modules), activer
241
* Filters
242
** GeSHi field
243
** GeSHi Filter
244
* Libraries
245
246
Dans la page d’administration, sélectionner l’onglet INDEX, l’option GeSHi Filter apparaitra.
247
* GENERAL SETTINGS
248
Les option pour afficher le numéro de ligne peux être choisis ainsi que des options plus avancées
249
* LANGUAGES
250
Activer/désactiver seulement les langages nécessaires.
251
S’assurer d’avoir des «tags» de définis pour chaque langage.
252
* FILTER CONFLICTS
253
Vérifier qu’il n’y a pas de conflit.
254
255
Dans la page d’administration, Configuration, Content authoring, Text formats.
256
Choisir Full HTML, activer le filtre GeSHi.
257
Déplacer l’ordre de traitement de ce filtre en dernier.
258
259
h4. Nouveau format texte
260
261
Création du nouveau format texte sans éditeur associé.
262
Home » Administration » Configuration » Content authoring
263
* Text formats
264
Ajouter un format texte Code
265
** Roles Admin
266
anonymous user
267
authenticated user
268
** Enabled filters GeSHi
269
* Wysiwyg profiles
270
S’assurer que le format Code n’as pas d’éditeur associé.
271
272
h4. Nouveau type de champ
273
274
Création d’un nouveau champ.
275
Administration » Structure
276
Choisir le type de contenu et manage fields.
277
Ajouter une nouveau champ _Code_ de type *GeSHi*.
278
Un écran d’information sur le champ apparaitra. On peux y définir le langages par defaut
279
et le nom de champ disponibles.
280
Répéter pour les autres type de contenu, si nécessaire.
281
282 80 Patrice Nadeau
## Maintenance
283 3 Patrice Nadeau
284 80 Patrice Nadeau
### Copie de sécurité
285 3 Patrice Nadeau
286
Faire une copie des fichiers et de la bd :
287
<pre><code class="bash">
288
cd /srv/www/htdocs
289
mysqldump -u username -p database > drupal.mysql
290
tar czf drupalbackup.tgz drupal.mysql drupal/
291
</code></pre>
292
293 80 Patrice Nadeau
### Récupération d’une copie de sécurité
294 3 Patrice Nadeau
295
<pre><code class="bash">
296
cd /srv/www/htdocs
297
tar xf drupalbackup.tgz
298
mysql -u root -p < drupal.mysql
299
</code></pre>
300
301 25 Patrice Nadeau
Remettre les permissions
302
<pre><code class="bash">
303 27 Patrice Nadeau
chmod 0755 /srv/www/htdocs/drupal/sites/default
304 29 Patrice Nadeau
chmod -R 0777 /srv/www/htdocs/drupal/sites/default/files
305 25 Patrice Nadeau
</code></pre>
306
307 80 Patrice Nadeau
### Mise à jour
308 3 Patrice Nadeau
309 62 Patrice Nadeau
Instructions sur un « update »
310 60 Patrice Nadeau
311 3 Patrice Nadeau
Mettre le site en mode maintenance (Management, Administration, Configuration, Developement, Maintenance mode)
312 54 Patrice Nadeau
313 3 Patrice Nadeau
À partir du serveur
314
<pre><code class="bash">
315
cd /srv/www/htdocs
316
wget http://ftp.drupal.org/files/projects/drupal-x.xx.tar.gz
317
tar -xvf drupal-*.tar.gz
318 5 Patrice Nadeau
cp -R drupal-x.y/* drupal-x.y/.htaccess drupal
319
rm -r drupal-x.y
320
rm drupal-x.xx.tar.gz
321 3 Patrice Nadeau
</code></pre>
322 1 Patrice Nadeau
323 62 Patrice Nadeau
Se brancher sur la page web http://server/update.php
324
Remettre en mode en ligne
325
326 80 Patrice Nadeau
### Mise a niveau
327 62 Patrice Nadeau
328 75 Patrice Nadeau
> En cours de documentation
329 1 Patrice Nadeau
330 75 Patrice Nadeau
Instructions sur un « upgrade » 
331
332 64 Patrice Nadeau
https://www.drupal.org/upgrade/migrate
333 69 Patrice Nadeau
334 68 Patrice Nadeau
Une nouvelle installation de Drupal 8 doit être faite et ensuite une migration vers le nouveau site seras effectué.
335 66 Patrice Nadeau
336 3 Patrice Nadeau
337 80 Patrice Nadeau
### Mise à jour des modules
338 3 Patrice Nadeau
339
Mode manuel (sans FTP)
340
À partir du serveur
341
* Télécharger dans le dossier sites/all/modules
342
* Décompresser
343
344
À partir d’un navigateur web : http://server/drupal/update.php
345
346 80 Patrice Nadeau
## Bogues
347 3 Patrice Nadeau
348 80 Patrice Nadeau
### Configuration du module Image (core)
349 3 Patrice Nadeau
350
PDOException: SQLSTATE[42S02]: Base table or view not found: 1146
351
Editer le fichier *drupal/modules/images.image.install*, ligne 231
352
<pre><code class="BASH">
353
# ligne en probleme
354
db_create_table(’image_effect’, $schema[’image_effects’]);
355
# remplacer par
356
db_create_table(’image_effects’, $schema[’image_effects’]);
357
</code></pre>
358
359
Arrêter Apache
360
<pre><code class="bash">
361
systemctl stop apache2.service
362
</code></pre>
363
364
Lancer MySQL
365
<pre><code class="bash">
366
mysql -u
367
</code></pre>
368
369
Changer le nom de la table
370
<pre><code class="sql">
371
use drupal;
372
rename table image_effect to image_effects;
373
quit;
374
</code></pre>
375
376
Relancer apache
377
<pre><code class="bash">
378
systemctl start apache2.service
379
</code></pre>
380 6 Patrice Nadeau
381 80 Patrice Nadeau
## Accès à partir d'Internet
382 7 Patrice Nadeau
383 80 Patrice Nadeau
### NAT dans le pare-feu 
384 1 Patrice Nadeau
385
> Cette étape dépens du pare-feu utilisé.
386 9 Patrice Nadeau
387 1 Patrice Nadeau
Il s'agit de rediriger le port 80 externe vers le port 80 interne.
388 19 Patrice Nadeau
Cette configuration est fort probablement déjà en place si un serveur web accessible de l'internet existe.
389 12 Patrice Nadeau
390 80 Patrice Nadeau
### « Proxy » sur le serveur Apache
391 1 Patrice Nadeau
392 17 Patrice Nadeau
Voir l'article [[guides_opensuse:apache#Serveurs virtuels]] pour la redirection.
393 1 Patrice Nadeau
394 80 Patrice Nadeau
### Configurer Drupal
395 17 Patrice Nadeau
396
Seulement nécessaire si la redirection est faite vers un autre serveur.
397 12 Patrice Nadeau
398 13 Patrice Nadeau
>Sans cette étape, le contenu des pages risque de mal s'afficher à partir de l'internet.
399 9 Patrice Nadeau
400 24 Patrice Nadeau
Dans le fichier _sites/default/settings.php_ modifier la ligne *$base_url*
401 30 Patrice Nadeau
Ex. :
402
<pre><code class="php">
403 31 Patrice Nadeau
$base_url = 'http://drupal.domain.tld';
404 1 Patrice Nadeau
</code></pre>
405 31 Patrice Nadeau
> Ne pas ajouter de « slash » à la fin.