Wiki » Historique » Révision 7
« Précédent |
Révision 7/87
(diff)
| Suivant »
Patrice Nadeau, 2015-06-13 09:31
h1. Drupal
- Contenu
- Choisir le type de contenu
- Faire une règle de NAT dans le pare-feu pour le port 80 (si n'est pas déjà en place).
- Activer les redirection « proxy » sur le serveur Apache
- Configurer Drupal
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 :
zypper install php5-mbstring php5-gd php5-ftp php5-zlib pecl
h4. Permettre les modules via FTP
Voir #45
Basé sur https://www.drupal.org/node/1608658
Voir le lien pour l’installation : ftp
h4. Module « file upload progress bar » de PHP
Facultatif
Télécharger le module :
pecl install uploadprogress
Ajouter à /etc/php5/apache2/php.ini
extension=uploadprogress.so
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
mysqladmin -u root -p create database
mysql -u root -p
Inscrire les commandes SQL suivantes :
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, LOCK TABLES, CREATE TEMPORARY TABLES ON database.* TO 'username'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
quit;
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 :
x.xx indique la version
cd /srv/www/htdocs
wget http://ftp.drupal.org/files/projects/drupal-x.xx.tar.gz
tar xvf drupal*.tar.gz
rm drupal*.tzr.gz
mv drupal-x.xx drupal
cd drupal
cp sites/default/default.settings.php sites/default/settings.php
chmod 0777 sites/default sites/default/settings.php
À 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 :
chmod 0755 sites/default
chmod 0444 sites/default/settings.php
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)
date.timezone =’America/New_York’
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 :
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
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 :
cd /srv/www/htdocs
mysqldump -u username -p database > drupal.mysql
tar czf drupalbackup.tgz drupal.mysql drupal/
h3. Récupération d’une copie de sécurité
cd /srv/www/htdocs
tar xf drupalbackup.tgz
mysql -u root -p < drupal.mysql
h3. Mise à jour
Mettre le site en mode maintenance (Management, Administration, Configuration, Developement, Maintenance mode)
À partir du serveur
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
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
# ligne en probleme
db_create_table(’image_effect’, $schema[’image_effects’]);
# remplacer par
db_create_table(’image_effects’, $schema[’image_effects’]);
Arrêter Apache
systemctl stop apache2.service
Lancer MySQL
mysql -u
Changer le nom de la table
use drupal;
rename table image_effect to image_effects;
quit;
Relancer apache
systemctl start apache2.service
h2. Configuration NAT via n Proxy
Situation :
- serveur Drupal local doit être accessible depuis l'internet
- plusieurs site web (port 80) sont aussi utilisé pour ce domaine
- le site Drupal est hébergé sur un autre serveur que le reste des pages web
Faire une règle de NAT dans le pare-feu pour le port 80 (si n'est pas déjà en place).¶
Activer les redirection « proxy » sur le serveur Apache¶
Configurer Drupal¶
Solution avec Apache
Mis à jour par Patrice Nadeau il y a plus de 9 ans · 7 révisions