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