Wiki » Historique » Version 20
Patrice Nadeau, 2015-06-21 20: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 | 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 | > x.xx indique la version |
||
| 71 | <pre><code class="bash"> |
||
| 72 | cd /srv/www/htdocs |
||
| 73 | wget http://ftp.drupal.org/files/projects/drupal-x.xx.tar.gz |
||
| 74 | tar xvf drupal*.tar.gz |
||
| 75 | rm drupal*.tzr.gz |
||
| 76 | mv drupal-x.xx drupal |
||
| 77 | 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* |