Projet

Général

Profil

Wiki » Historique » Version 44

Patrice Nadeau, 2015-08-13 09:40

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
Copier un logo (32x32 pixels) dans le répertoire *sites/default/files*.
114 44 Patrice Nadeau
À partir de la page web, *Administration*, *Appearance*
115
Dans le thème par défaut, choisir *Settings, TOGGLE DISPLAY*
116
Section *LOGO IMAGE SETTINGS*, enlever le crochet pour l'utilisation du logo par défaut et choisir le nouveau fichier
117
118 3 Patrice Nadeau
119
h3. Type de fichier permis
120
121
A partir de Drupal Management, Administration > Structure > Content types
122
#  Choisir le type de contenu
123
#  Choisir _Edit_ pour le _FIELD TYPE_ *File*
124
125
h2. Modules supplémentaires
126
127
h3. Gallery Formater
128
129
Module pour la présentation de photos.
130
131
Sélectionner le fichier à partir de http://drupal.org/project/galleryformatter
132
Installer en mode manuel (voir la section précédente)
133
A partir de Drupal : Management, Administration, Modules 
134
* Sélectionner le module et sauvegarder
135
136
h4. Créer un nouveau type de contenu
137
138
Administration, Structure, Contents types, Gallery, onglet *MANAGE FIELDS*
139
* Ajouter un champ de type *Image*
140
Éditer le champ et dans la section *Image field settings* choisir *unlimited* pour le nombre de valeurs
141
142
Administration, Structure, Contents types, Gallery, onglet *MANAGE DISPLAY*
143
* Pour le champ _Image_, choisir le format *JQuery Gallery*
144
145
h3. GeSHi Filter
146
147
Modules d’affichage de code
148
Ce module est basé sur GeSHi et supporte plus de 200 langages.
149
> Ne fonctionne pas avec avec les éditeurs de type WYSIWYG.
150
151
3 solutions existent pour contourner ce problème :
152
* L’utilisation de Wysiwyg Geshi
153
** Je ne l’ais pas essayé.
154
* La définition d’un nouveau type de format texte sans éditeur
155
* La définition d’un nouveau type de champ à ajouter dans les documents
156
157
h4. Installation
158
159
A partir du serveur :
160
<pre><code class="bash">
161
cd /srv/www/htdocs/drupal/modules
162
wget http://ftp.drupal.org/files/projects/libraries-7.x-2.2.tar.gz
163
tar -xvf libraries-7.x-2.2.tar.gz
164
rm libraries-7.x-2.2.tar.gz
165
#
166
wget http://ftp.drupal.org/files/projects/geshifilter-7.x-1.2.tar.gz
167
tar xvf geshifilter-7.x-1.2.tar.gz
168
rm geshifilter-7.x-1.2.tar.gz
169
#
170
cd ../sites/all/librairies
171
# La version doit etre 1.0.x (la version 1.1.x ne fonctionneras pas
172
wget http://sourceforge.net/projects/geshi/files/geshi/GeSHi%201.0.8.11/GeSHi-1.0.8.11.tar.gz
173
tar xvf GeSHi-1.0.8.11.tar.gz
174
rm GeSHi-1.0.8.11.tar.gz
175
</code></pre>
176
177
Dans la gestion des modules (Home, Administration, Modules), activer
178
* Filters
179
** GeSHi field
180
** GeSHi Filter
181
* Libraries
182
183
Dans la page d’administration, sélectionner l’onglet INDEX, l’option GeSHi Filter apparaitra.
184
* GENERAL SETTINGS
185
Les option pour afficher le numéro de ligne peux être choisis ainsi que des options plus avancées
186
* LANGUAGES
187
Activer/désactiver seulement les langages nécessaires.
188
S’assurer d’avoir des «tags» de définis pour chaque langage.
189
* FILTER CONFLICTS
190
Vérifier qu’il n’y a pas de conflit.
191
192
Dans la page d’administration, Configuration, Content authoring, Text formats.
193
Choisir Full HTML, activer le filtre GeSHi.
194
Déplacer l’ordre de traitement de ce filtre en dernier.
195
196
h4. Nouveau format texte
197
198
Création du nouveau format texte sans éditeur associé.
199
Home » Administration » Configuration » Content authoring
200
* Text formats
201
Ajouter un format texte Code
202
** Roles Admin
203
anonymous user
204
authenticated user
205
** Enabled filters GeSHi
206
* Wysiwyg profiles
207
S’assurer que le format Code n’as pas d’éditeur associé.
208
209
h4. Nouveau type de champ
210
211
Création d’un nouveau champ.
212
Administration » Structure
213
Choisir le type de contenu et manage fields.
214
Ajouter une nouveau champ _Code_ de type *GeSHi*.
215
Un écran d’information sur le champ apparaitra. On peux y définir le langages par defaut
216
et le nom de champ disponibles.
217
Répéter pour les autres type de contenu, si nécessaire.
218
219
h2. Maintenance
220
221
h3. Copie de sécurité
222
223
Faire une copie des fichiers et de la bd :
224
<pre><code class="bash">
225
cd /srv/www/htdocs
226
mysqldump -u username -p database > drupal.mysql
227
tar czf drupalbackup.tgz drupal.mysql drupal/
228
</code></pre>
229
230
h3. Récupération d’une copie de sécurité
231
232
<pre><code class="bash">
233
cd /srv/www/htdocs
234
tar xf drupalbackup.tgz
235
mysql -u root -p < drupal.mysql
236
</code></pre>
237
238 25 Patrice Nadeau
Remettre les permissions
239
<pre><code class="bash">
240 27 Patrice Nadeau
chmod 0755 /srv/www/htdocs/drupal/sites/default
241 29 Patrice Nadeau
chmod -R 0777 /srv/www/htdocs/drupal/sites/default/files
242 25 Patrice Nadeau
</code></pre>
243
244 3 Patrice Nadeau
h3. Mise à jour
245
246
Mettre le site en mode maintenance (Management, Administration, Configuration, Developement, Maintenance mode)
247
À partir du serveur
248
<pre><code class="bash">
249
cd /srv/www/htdocs
250
wget http://ftp.drupal.org/files/projects/drupal-x.xx.tar.gz
251
tar -xvf drupal-*.tar.gz
252 5 Patrice Nadeau
cp -R drupal-x.y/* drupal-x.y/.htaccess drupal
253
rm -r drupal-x.y
254
rm drupal-x.xx.tar.gz
255 3 Patrice Nadeau
</code></pre>
256
257 28 Patrice Nadeau
Se brancher sur la page web http://server/update.php
258 3 Patrice Nadeau
Remettre en mode en ligne
259
260
h3. Mise à jour des modules
261
262
Mode manuel (sans FTP)
263
À partir du serveur
264
* Télécharger dans le dossier sites/all/modules
265
* Décompresser
266
267
À partir d’un navigateur web : http://server/drupal/update.php
268
269 26 Patrice Nadeau
h2. Bogues
270 3 Patrice Nadeau
271 26 Patrice Nadeau
h3. Configuration du module Image (core)
272 3 Patrice Nadeau
273
PDOException: SQLSTATE[42S02]: Base table or view not found: 1146
274
Editer le fichier *drupal/modules/images.image.install*, ligne 231
275
<pre><code class="BASH">
276
# ligne en probleme
277
db_create_table(’image_effect’, $schema[’image_effects’]);
278
# remplacer par
279
db_create_table(’image_effects’, $schema[’image_effects’]);
280
</code></pre>
281
282
Arrêter Apache
283
<pre><code class="bash">
284
systemctl stop apache2.service
285
</code></pre>
286
287
Lancer MySQL
288
<pre><code class="bash">
289
mysql -u
290
</code></pre>
291
292
Changer le nom de la table
293
<pre><code class="sql">
294
use drupal;
295
rename table image_effect to image_effects;
296
quit;
297
</code></pre>
298
299
Relancer apache
300
<pre><code class="bash">
301
systemctl start apache2.service
302
</code></pre>
303 6 Patrice Nadeau
304 18 Patrice Nadeau
h2. Accès à partir d'Internet
305 7 Patrice Nadeau
306 9 Patrice Nadeau
h3. NAT dans le pare-feu 
307 1 Patrice Nadeau
308
> Cette étape dépens du pare-feu utilisé.
309 9 Patrice Nadeau
310 1 Patrice Nadeau
Il s'agit de rediriger le port 80 externe vers le port 80 interne.
311 19 Patrice Nadeau
Cette configuration est fort probablement déjà en place si un serveur web accessible de l'internet existe.
312 12 Patrice Nadeau
313 1 Patrice Nadeau
h3. « Proxy » sur le serveur Apache
314
315 17 Patrice Nadeau
Voir l'article [[guides_opensuse:apache#Serveurs virtuels]] pour la redirection.
316 1 Patrice Nadeau
317 16 Patrice Nadeau
h3. Configurer Drupal
318 17 Patrice Nadeau
319
Seulement nécessaire si la redirection est faite vers un autre serveur.
320 12 Patrice Nadeau
321 13 Patrice Nadeau
>Sans cette étape, le contenu des pages risque de mal s'afficher à partir de l'internet.
322 9 Patrice Nadeau
323 24 Patrice Nadeau
Dans le fichier _sites/default/settings.php_ modifier la ligne *$base_url*
324 30 Patrice Nadeau
Ex. :
325
<pre><code class="php">
326 31 Patrice Nadeau
$base_url = 'http://drupal.domain.tld';
327 1 Patrice Nadeau
</code></pre>
328 31 Patrice Nadeau
> Ne pas ajouter de « slash » à la fin.