Projet

Général

Profil

Wiki » Historique » Version 3

Patrice Nadeau, 2014-11-09 11:10

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