Projet

Général

Profil

Wiki » Historique » Version 83

Patrice Nadeau, 2018-04-07 15:57

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