Projet

Général

Profil

Wiki » Historique » Version 8

Patrice Nadeau, 2015-06-13 09:31

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