Projet

Général

Profil

Wiki » Historique » Version 77

Patrice Nadeau, 2016-01-17 11:41

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