Projet

Général

Profil

Wiki » Historique » Version 47

Patrice Nadeau, 2015-09-05 10:08

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