Projet

Général

Profil

Wiki » Historique » Version 21

Patrice Nadeau, 2015-06-21 20:44

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
zypper install php5-mbstring php5-gd php5-ftp php5-zlib pecl
15
</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
* _database_ : nom voulu de la base de donnés de Drupal
45
* _username_ : nom voulu pour l’usager MySQL
46
* _password_ : mot de passe voulu pour l’usager MySQL
47
48
À partir du serveur :
49
> root est l’usager « root » de MySQL
50
<pre><code class="bash">
51
mysql -u root -p
52
</code></pre>
53
54
Inscrire les commandes SQL suivantes :
55 1 Patrice Nadeau
<pre><code class="sql">
56 20 Patrice Nadeau
create database drupal character set utf8;
57
create user 'drupal_user'@'localhost' identified by 'password';
58 3 Patrice Nadeau
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, LOCK TABLES, CREATE TEMPORARY TABLES ON database.* TO 'username'@'localhost' IDENTIFIED BY 'password';
59 20 Patrice Nadeau
COMMIT;
60 3 Patrice Nadeau
quit;
61
</code></pre>
62
63
h2. Installation de Drupal
64
65
> Les fichiers sont installés dans */srv/www/htdocs*
66
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
rm drupal*.tzr.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
À partir d’un navigateur web : http://server/drupal
83
84
h3. Sécurité
85
> Le fichier *sites/default/settings.php* contient les noms de la BD, de l’usager et de son mot de passe en texte.
86
87
Changer les droits des fichier et repertoires :
88
<pre><code class="bash">
89
chmod 0755 sites/default
90
chmod 0444 sites/default/settings.php
91
</code></pre>
92
93
h2. Personnalisation
94
95
h3. Logo
96
97
Copier un logo (32x32 pixels) dans le répertoire *sites/default/files*.
98
À partir de la page web, Administration, Appearance
99
Dans le thème par défaut, choisir Settings, TOGGLE DISPLAY
100
Sélectionner Logo, Site Name, LOGO IMAGE SETTINGS, Path to custom logo
101
Entrer le nom du logo
102
103
h3. Date local au lieu de UTC
104
105
Dans le fichier */etc/php5/apache2/php.ini* (Date section)
106
<pre><code class="bash">
107
date.timezone =’America/New_York’
108
</code></pre>
109
110
Relancer apache
111
112
h3. Type de fichier permis
113
114
A partir de Drupal Management, Administration > Structure > Content types
115
#  Choisir le type de contenu
116
#  Choisir _Edit_ pour le _FIELD TYPE_ *File*
117
118
h2. Modules supplémentaires
119
120
h3. Gallery Formater
121
122
Module pour la présentation de photos.
123
124
Sélectionner le fichier à partir de http://drupal.org/project/galleryformatter
125
Installer en mode manuel (voir la section précédente)
126
A partir de Drupal : Management, Administration, Modules 
127
* Sélectionner le module et sauvegarder
128
129
h4. Créer un nouveau type de contenu
130
131
Administration, Structure, Contents types, Gallery, onglet *MANAGE FIELDS*
132
* Ajouter un champ de type *Image*
133
Éditer le champ et dans la section *Image field settings* choisir *unlimited* pour le nombre de valeurs
134
135
Administration, Structure, Contents types, Gallery, onglet *MANAGE DISPLAY*
136
* Pour le champ _Image_, choisir le format *JQuery Gallery*
137
138
h3. GeSHi Filter
139
140
Modules d’affichage de code
141
Ce module est basé sur GeSHi et supporte plus de 200 langages.
142
> Ne fonctionne pas avec avec les éditeurs de type WYSIWYG.
143
144
3 solutions existent pour contourner ce problème :
145
* L’utilisation de Wysiwyg Geshi
146
** Je ne l’ais pas essayé.
147
* La définition d’un nouveau type de format texte sans éditeur
148
* La définition d’un nouveau type de champ à ajouter dans les documents
149
150
h4. Installation
151
152
A partir du serveur :
153
<pre><code class="bash">
154
cd /srv/www/htdocs/drupal/modules
155
wget http://ftp.drupal.org/files/projects/libraries-7.x-2.2.tar.gz
156
tar -xvf libraries-7.x-2.2.tar.gz
157
rm libraries-7.x-2.2.tar.gz
158
#
159
wget http://ftp.drupal.org/files/projects/geshifilter-7.x-1.2.tar.gz
160
tar xvf geshifilter-7.x-1.2.tar.gz
161
rm geshifilter-7.x-1.2.tar.gz
162
#
163
cd ../sites/all/librairies
164
# La version doit etre 1.0.x (la version 1.1.x ne fonctionneras pas
165
wget http://sourceforge.net/projects/geshi/files/geshi/GeSHi%201.0.8.11/GeSHi-1.0.8.11.tar.gz
166
tar xvf GeSHi-1.0.8.11.tar.gz
167
rm GeSHi-1.0.8.11.tar.gz
168
</code></pre>
169
170
Dans la gestion des modules (Home, Administration, Modules), activer
171
* Filters
172
** GeSHi field
173
** GeSHi Filter
174
* Libraries
175
176
Dans la page d’administration, sélectionner l’onglet INDEX, l’option GeSHi Filter apparaitra.
177
* GENERAL SETTINGS
178
Les option pour afficher le numéro de ligne peux être choisis ainsi que des options plus avancées
179
* LANGUAGES
180
Activer/désactiver seulement les langages nécessaires.
181
S’assurer d’avoir des «tags» de définis pour chaque langage.
182
* FILTER CONFLICTS
183
Vérifier qu’il n’y a pas de conflit.
184
185
Dans la page d’administration, Configuration, Content authoring, Text formats.
186
Choisir Full HTML, activer le filtre GeSHi.
187
Déplacer l’ordre de traitement de ce filtre en dernier.
188
189
h4. Nouveau format texte
190
191
Création du nouveau format texte sans éditeur associé.
192
Home » Administration » Configuration » Content authoring
193
* Text formats
194
Ajouter un format texte Code
195
** Roles Admin
196
anonymous user
197
authenticated user
198
** Enabled filters GeSHi
199
* Wysiwyg profiles
200
S’assurer que le format Code n’as pas d’éditeur associé.
201
202
h4. Nouveau type de champ
203
204
Création d’un nouveau champ.
205
Administration » Structure
206
Choisir le type de contenu et manage fields.
207
Ajouter une nouveau champ _Code_ de type *GeSHi*.
208
Un écran d’information sur le champ apparaitra. On peux y définir le langages par defaut
209
et le nom de champ disponibles.
210
Répéter pour les autres type de contenu, si nécessaire.
211
212
h2. Maintenance
213
214
h3. Copie de sécurité
215
216
Faire une copie des fichiers et de la bd :
217
<pre><code class="bash">
218
cd /srv/www/htdocs
219
mysqldump -u username -p database > drupal.mysql
220
tar czf drupalbackup.tgz drupal.mysql drupal/
221
</code></pre>
222
223
h3. Récupération d’une copie de sécurité
224
225
<pre><code class="bash">
226
cd /srv/www/htdocs
227
tar xf drupalbackup.tgz
228
mysql -u root -p < drupal.mysql
229
</code></pre>
230
231
h3. Mise à jour
232
233
Mettre le site en mode maintenance (Management, Administration, Configuration, Developement, Maintenance mode)
234
À partir du serveur
235
<pre><code class="bash">
236
cd /srv/www/htdocs
237
wget http://ftp.drupal.org/files/projects/drupal-x.xx.tar.gz
238
tar -xvf drupal-*.tar.gz
239 5 Patrice Nadeau
cp -R drupal-x.y/* drupal-x.y/.htaccess drupal
240
rm -r drupal-x.y
241
rm drupal-x.xx.tar.gz
242 3 Patrice Nadeau
</code></pre>
243
244
Se brancher sur la page web http://server/drupal/update.php
245
Remettre en mode en ligne
246
247
h3. Mise à jour des modules
248
249
Mode manuel (sans FTP)
250
À partir du serveur
251
* Télécharger dans le dossier sites/all/modules
252
* Décompresser
253
254
À partir d’un navigateur web : http://server/drupal/update.php
255
256
H2. Bogues
257
258
H3. Configuration du module Image (core)
259
260
PDOException: SQLSTATE[42S02]: Base table or view not found: 1146
261
Editer le fichier *drupal/modules/images.image.install*, ligne 231
262
<pre><code class="BASH">
263
# ligne en probleme
264
db_create_table(’image_effect’, $schema[’image_effects’]);
265
# remplacer par
266
db_create_table(’image_effects’, $schema[’image_effects’]);
267
</code></pre>
268
269
Arrêter Apache
270
<pre><code class="bash">
271
systemctl stop apache2.service
272
</code></pre>
273
274
Lancer MySQL
275
<pre><code class="bash">
276
mysql -u
277
</code></pre>
278
279
Changer le nom de la table
280
<pre><code class="sql">
281
use drupal;
282
rename table image_effect to image_effects;
283
quit;
284
</code></pre>
285
286
Relancer apache
287
<pre><code class="bash">
288
systemctl start apache2.service
289
</code></pre>
290 6 Patrice Nadeau
291 18 Patrice Nadeau
h2. Accès à partir d'Internet
292 7 Patrice Nadeau
293 9 Patrice Nadeau
h3. NAT dans le pare-feu 
294 1 Patrice Nadeau
295
> Cette étape dépens du pare-feu utilisé.
296 9 Patrice Nadeau
297 1 Patrice Nadeau
Il s'agit de rediriger le port 80 externe vers le port 80 interne.
298 19 Patrice Nadeau
Cette configuration est fort probablement déjà en place si un serveur web accessible de l'internet existe.
299 12 Patrice Nadeau
300 1 Patrice Nadeau
h3. « Proxy » sur le serveur Apache
301
302 17 Patrice Nadeau
Voir l'article [[guides_opensuse:apache#Serveurs virtuels]] pour la redirection.
303 1 Patrice Nadeau
304 16 Patrice Nadeau
h3. Configurer Drupal
305 17 Patrice Nadeau
306
Seulement nécessaire si la redirection est faite vers un autre serveur.
307 12 Patrice Nadeau
308 13 Patrice Nadeau
>Sans cette étape, le contenu des pages risque de mal s'afficher à partir de l'internet.
309 9 Patrice Nadeau
310 10 Patrice Nadeau
Dans le fichier _sites/default/settings.php_ modifier le ligne *$base_url*