Projet

Général

Profil

Wiki » Historique » Révision 25

Révision 24 (Patrice Nadeau, 2015-06-21 21:10) → Révision 25/87 (Patrice Nadeau, 2015-06-21 21:16)

h1. Drupal 

 {{TOC}} 

 h2. Configuration préalable 

 Un serveur openSUSE avec les options « LAMP » (Linux, Apache, MySQL, PHP) ainsi que Postfix 
 devrait déjà être installé. 

 h3. PHP 

 Les modules PHP supplémentaires suivants doivent être installés : 
 <pre><code class="bash"> 
 zypper install php5-mbstring php5-gd php5-ftp php5-zlib pecl 
 </code></pre> 

 h4. Permettre les modules via FTP 

 Voir #45 

 > Basé sur https://www.drupal.org/node/1608658 

 Voir le lien pour l’installation : [[guides_opensuse:ftp]] 



 h4. Module « file upload progress bar » de PHP 

 > Facultatif 

 Télécharger le module : 
 <pre><code class="bash"> 
 pecl install uploadprogress 
 </code></pre> 

 Ajouter à */etc/php5/apache2/php.ini* 
 <pre><code class="bash"> 
 extension=uploadprogress.so 
 </code></pre> 

 h3. Préparation de MySQL 

 Choisir et noter les 3 items suivants : 
 * _database_ : nom voulu de la base de donnés de Drupal 
 * _username_ : nom voulu pour l’usager MySQL 
 * _password_ : mot de passe voulu pour l’usager MySQL 

 À partir du serveur : 
 > root est l’usager « root » de MySQL 
 <pre><code class="bash"> 
 mysql -u root -p 
 </code></pre> 

 Inscrire les commandes SQL suivantes : 
 <pre><code class="sql"> 
 create database drupal character set utf8; 
 create user 'drupal_user'@'localhost' identified by 'password'; 
 GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, LOCK TABLES, CREATE TEMPORARY TABLES ON database.* TO 'username'@'localhost' IDENTIFIED BY 'password'; 
 COMMIT; 
 quit; 
 </code></pre> 

 h2. Installation de Drupal 

 > Les fichiers sont installés dans */srv/www/htdocs* 

 À partir d’un navigateur web, allez sur le site https://drupal.org/project/drupal. 
 Choisir le fichier « tar.gz » et copier le lien pour l’insérer dans la commande _wget_ plus bas. 
 À partir du serveur : 
 > Exemple avec la version 7.38 
 <pre><code class="bash"> 
 cd /srv/www/htdocs 
 wget http://ftp.drupal.org/files/projects/drupal-7.38.tar.gz 
 tar xvf drupal*.tar.gz 
 rm drupal*.tar.gz 
 mv drupal-7.38 drupal 
 cd drupal 
 cp sites/default/default.settings.php sites/default/settings.php 
 chmod 0777 sites/default sites/default/settings.php 
 </code></pre> 

 Créer le fichier _/etc/apache2/vhosts.d/vhost.conf 
 <pre><code class="bash"> 
 <VirtualHost *:80> 
     # La ligne suivante est nécessaire seulement si plusieurs site web son présents sur le même serveur. 
     ServerName drupal.yourdomain.com 
     DocumentRoot /srv/www/htdocs/drupal 

     <Directory "/srv/www.htdocs/drupal"> 
         Options Indexes ExecCGI FollowSymLinks 
         AllowOverride None 
         Order deny,allow 
         Require all granted 
     </Directory> 
 </VirtualHost> 
 </code></pre> 

 À partir d’un navigateur web : http://server/drupal 

 h3. Sécurité 
 > Le fichier *sites/default/settings.php* contient les noms de la BD, de l’usager et de son mot de passe en texte. 

 Changer les droits des fichier et repertoires : 
 <pre><code class="bash"> 
 chmod 0755 sites/default 
 chmod 0444 sites/default/settings.php 
 </code></pre> 

 h2. Personnalisation 

 h3. Logo 

 Copier un logo (32x32 pixels) dans le répertoire *sites/default/files*. 
 À partir de la page web, Administration, Appearance 
 Dans le thème par défaut, choisir Settings, TOGGLE DISPLAY 
 Sélectionner Logo, Site Name, LOGO IMAGE SETTINGS, Path to custom logo 
 Entrer le nom du logo 

 h3. Date local au lieu de UTC 

 Dans le fichier */etc/php5/apache2/php.ini* (Date section) 
 <pre><code class="bash"> 
 date.timezone =’America/New_York’ 
 </code></pre> 

 Relancer apache 

 h3. Type de fichier permis 

 A partir de Drupal Management, Administration > Structure > Content types 
 #    Choisir le type de contenu 
 #    Choisir _Edit_ pour le _FIELD TYPE_ *File* 

 h2. Modules supplémentaires 

 h3. Gallery Formater 

 Module pour la présentation de photos. 

 Sélectionner le fichier à partir de http://drupal.org/project/galleryformatter 
 Installer en mode manuel (voir la section précédente) 
 A partir de Drupal : Management, Administration, Modules  
 * Sélectionner le module et sauvegarder 

 h4. Créer un nouveau type de contenu 

 Administration, Structure, Contents types, Gallery, onglet *MANAGE FIELDS* 
 * Ajouter un champ de type *Image* 
 Éditer le champ et dans la section *Image field settings* choisir *unlimited* pour le nombre de valeurs 

 Administration, Structure, Contents types, Gallery, onglet *MANAGE DISPLAY* 
 * Pour le champ _Image_, choisir le format *JQuery Gallery* 

 h3. GeSHi Filter 

 Modules d’affichage de code 
 Ce module est basé sur GeSHi et supporte plus de 200 langages. 
 > Ne fonctionne pas avec avec les éditeurs de type WYSIWYG. 

 3 solutions existent pour contourner ce problème : 
 * L’utilisation de Wysiwyg Geshi 
 ** Je ne l’ais pas essayé. 
 * La définition d’un nouveau type de format texte sans éditeur 
 * La définition d’un nouveau type de champ à ajouter dans les documents 

 h4. Installation 

 A partir du serveur : 
 <pre><code class="bash"> 
 cd /srv/www/htdocs/drupal/modules 
 wget http://ftp.drupal.org/files/projects/libraries-7.x-2.2.tar.gz 
 tar -xvf libraries-7.x-2.2.tar.gz 
 rm libraries-7.x-2.2.tar.gz 
 # 
 wget http://ftp.drupal.org/files/projects/geshifilter-7.x-1.2.tar.gz 
 tar xvf geshifilter-7.x-1.2.tar.gz 
 rm geshifilter-7.x-1.2.tar.gz 
 # 
 cd ../sites/all/librairies 
 # La version doit etre 1.0.x (la version 1.1.x ne fonctionneras pas 
 wget http://sourceforge.net/projects/geshi/files/geshi/GeSHi%201.0.8.11/GeSHi-1.0.8.11.tar.gz 
 tar xvf GeSHi-1.0.8.11.tar.gz 
 rm GeSHi-1.0.8.11.tar.gz 
 </code></pre> 

 Dans la gestion des modules (Home, Administration, Modules), activer 
 * Filters 
 ** GeSHi field 
 ** GeSHi Filter 
 * Libraries 

 Dans la page d’administration, sélectionner l’onglet INDEX, l’option GeSHi Filter apparaitra. 
 * GENERAL SETTINGS 
 Les option pour afficher le numéro de ligne peux être choisis ainsi que des options plus avancées 
 * LANGUAGES 
 Activer/désactiver seulement les langages nécessaires. 
 S’assurer d’avoir des «tags» de définis pour chaque langage. 
 * FILTER CONFLICTS 
 Vérifier qu’il n’y a pas de conflit. 

 Dans la page d’administration, Configuration, Content authoring, Text formats. 
 Choisir Full HTML, activer le filtre GeSHi. 
 Déplacer l’ordre de traitement de ce filtre en dernier. 

 h4. Nouveau format texte 

 Création du nouveau format texte sans éditeur associé. 
 Home » Administration » Configuration » Content authoring 
 * Text formats 
 Ajouter un format texte Code 
 ** Roles Admin 
 anonymous user 
 authenticated user 
 ** Enabled filters GeSHi 
 * Wysiwyg profiles 
 S’assurer que le format Code n’as pas d’éditeur associé. 

 h4. Nouveau type de champ 

 Création d’un nouveau champ. 
 Administration » Structure 
 Choisir le type de contenu et manage fields. 
 Ajouter une nouveau champ _Code_ de type *GeSHi*. 
 Un écran d’information sur le champ apparaitra. On peux y définir le langages par defaut 
 et le nom de champ disponibles. 
 Répéter pour les autres type de contenu, si nécessaire. 

 h2. Maintenance 

 h3. Copie de sécurité 

 Faire une copie des fichiers et de la bd : 
 <pre><code class="bash"> 
 cd /srv/www/htdocs 
 mysqldump -u username -p database > drupal.mysql 
 tar czf drupalbackup.tgz drupal.mysql drupal/ 
 </code></pre> 

 

 h3. Récupération d’une copie de sécurité 

 <pre><code class="bash"> 
 cd /srv/www/htdocs 
 tar xf drupalbackup.tgz 
 mysql -u root -p < drupal.mysql 
 </code></pre> 

 Remettre les permissions 
 <pre><code class="bash"> 
 chmod 0777 /srv/www/htdocs/drupal/sites/default/files 
 </code></pre> 

 h3. Mise à jour 

 Mettre le site en mode maintenance (Management, Administration, Configuration, Developement, Maintenance mode) 
 À partir du serveur 
 <pre><code class="bash"> 
 cd /srv/www/htdocs 
 wget http://ftp.drupal.org/files/projects/drupal-x.xx.tar.gz 
 tar -xvf drupal-*.tar.gz 
 cp -R drupal-x.y/* drupal-x.y/.htaccess drupal 
 rm -r drupal-x.y 
 rm drupal-x.xx.tar.gz 
 </code></pre> 

 Se brancher sur la page web http://server/drupal/update.php 
 Remettre en mode en ligne 

 h3. Mise à jour des modules 

 Mode manuel (sans FTP) 
 À partir du serveur 
 * Télécharger dans le dossier sites/all/modules 
 * Décompresser 

 À partir d’un navigateur web : http://server/drupal/update.php 

 H2. Bogues 

 H3. Configuration du module Image (core) 

 PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 
 Editer le fichier *drupal/modules/images.image.install*, ligne 231 
 <pre><code class="BASH"> 
 # ligne en probleme 
 db_create_table(’image_effect’, $schema[’image_effects’]); 
 # remplacer par 
 db_create_table(’image_effects’, $schema[’image_effects’]); 
 </code></pre> 

 Arrêter Apache 
 <pre><code class="bash"> 
 systemctl stop apache2.service 
 </code></pre> 

 Lancer MySQL 
 <pre><code class="bash"> 
 mysql -u 
 </code></pre> 

 Changer le nom de la table 
 <pre><code class="sql"> 
 use drupal; 
 rename table image_effect to image_effects; 
 quit; 
 </code></pre> 

 Relancer apache 
 <pre><code class="bash"> 
 systemctl start apache2.service 
 </code></pre> 

 h2. Accès à partir d'Internet 

 h3. NAT dans le pare-feu  

 > Cette étape dépens du pare-feu utilisé. 

 Il s'agit de rediriger le port 80 externe vers le port 80 interne. 
 Cette configuration est fort probablement déjà en place si un serveur web accessible de l'internet existe. 

 h3. « Proxy » sur le serveur Apache 

 Voir l'article [[guides_opensuse:apache#Serveurs virtuels]] pour la redirection. 

 h3. Configurer Drupal 

 Seulement nécessaire si la redirection est faite vers un autre serveur. 

 >Sans cette étape, le contenu des pages risque de mal s'afficher à partir de l'internet. 

 Dans le fichier _sites/default/settings.php_ modifier la ligne *$base_url*