Projet

Général

Profil

Actions

Drupal

{{lastupdated_at}} {{lastupdated_by}}

Instructions pour la version 7

Instructions pour Drupal 8

Configuration préalable

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

PHP

Les modules PHP supplémentaires suivants doivent être installés :

zypper install php5-mbstring php5-gd php5-ftp php5-zlib pecl php5-pear

Permettre les modules via FTP

Voir #45

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

Voir le lien pour l’installation : ftp

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

Préparation de MySQL

Choisir et noter les 3 items suivants :

  • drupal_db : nom voulu de la base de donnés de Drupal
  • drupal_user : nom voulu pour l’usager MySQL
  • drupal_password : mot de passe voulu pour l’usager MySQL

À partir du serveur :

root est l’usager « root » de MySQL

mysql -u root -p

Inscrire les commandes SQL suivantes :

create database drupal_db character set utf8;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, LOCK TABLES, CREATE TEMPORARY TABLES ON drupal_db.* TO 'drupal_user'@'localhost' IDENTIFIED BY 'drupal_password';
COMMIT;
quit;

Installation de Drupal

Les fichiers sont installés dans /srv/www/htdocs/drupal

À 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

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

Créer le fichier /etc/apache2/vhosts.d/vhost.conf

<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>

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

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 répertoires :

chmod 0755 sites/default
chmod 0444 sites/default/settings.php

Personnalisation

Logo

À partir de la page princpale, Appearance
Dans le thème par défaut, choisir Settings, TOGGLE DISPLAY
Section LOGO IMAGE SETTINGS, enlever le crochet pour l'utilisation du logo par défaut
Télécharger le logo voulu

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

Activation des « clean URL »

Les liens seront affichés comme example.com/user au lieu de example.com/?q=user.

Le module Apache rewrite doit être installé et actif

A partir de Drupal Administration, Configuration > Clean URLs

  • Faire le test
  • Activer l'option

Dans le cas d'une erreur, modifier la configuration d'Apache

Fichier /etc/apache2/default-server.conf, section ****

#AllowOverride None
AllowOverride All

Relire la configuration

systemctl reload apache2.service

Retrait du lien « Home »

La variable $breadcrumb est utilisée dans le fichier page.tpl.php du thème.
Enlever les 3 lignes correspondantes a son impression

Ex. : Thème Bartik, fichier themes/bartik/templates/page.tpl.php, enlever

<?php if ($breadcrumb): ?>
   <div id="breadcrumb"><?php print $breadcrumb; ?></div>
<?php endif; ?>

Il peux être nécessaire de relancer une maintenance Cron pour rafraîchir le cache.

Modules supplémentaires

CKEditor

Éditeur visuel HTML.

Seras intégré à Drupal 8

Installation

cd /srv/www/htdocs
wget http://ftp.drupal.org/files/projects/ckeditor-7.x-1.16.tar.gz
tar -xvf ckeditor-7.x-1.16.tar.gz
mv ckeditor/ drupal/modules/
rm ckeditor-7.x-1.16.tar.gz

Faire l'activation dans Drupal, Modules

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

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

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

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.

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é.

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.

Maintenance

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/

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

cd /srv/www/htdocs
tar xf drupalbackup.tgz
mysql -u root -p < drupal.mysql

Remettre les permissions

chmod 0755 /srv/www/htdocs/drupal/sites/default
chmod -R 0777 /srv/www/htdocs/drupal/sites/default/files

Mise à jour

Instructions sur un « update »

  1. Mettre le site en mode maintenance (Management, Administration, Configuration, Developement, Maintenance mode)
  2. À 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
  1. Se brancher sur la page web http://server/update.php
  2. Remettre en mode en ligne

Mise a niveau

En cours de documentation

Instructions sur un « upgrade »

https://www.drupal.org/upgrade/migrate

Une nouvelle installation de Drupal 8 doit être faite et ensuite une migration vers le nouveau site seras effectué.

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

Bogues

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

Accès à partir d'Internet

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.

« Proxy » sur le serveur Apache

Voir l'article apache pour la redirection.

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
Ex. :

$base_url = 'http://drupal.domain.tld';

Ne pas ajouter de « slash » à la fin.

Mis à jour par Patrice Nadeau il y a environ 3 ans · 87 révisions