Nous allons voir comment installer Drupal sur CentOS 7. Nous partirons du principe que CentOS 7 dispose déjà d'une pile LAMP en état de fonctionnement. Si ce n'est pas la cas, vous trouverez sur ce site toutes les informations nécessaires pour l'installation d'une pile LAMP fonctionnelle sur CentOS 7.
Cet article couvre toute la procédure de configuration de Drupal.
Création de la base de données
Nous devons préparer une base de données pour Drupal.
Il faut également créer un utilisateur afin de ne pas se connecter à la base Drupal avec les identifiants du root.
Nous allons nommer la base de données drupal_db dans cet exemple et l'utilisateur aura pour identifiant drupal_user et pour mot de passe drupal_password.
Evidemment, vous pourrez choisir de remplacer cela à votre convenance.
sudo mysql -u root -p > create database drupal_db; > create user drupal_user@localhost; > set password for drupal_user@localhost= password("drupal_password"); > grant all on drupal_db.* to drupal_user@localhost identified by 'drupal_password'; > flush privileges; > exit;
Nous devons maintenant relancer les serveurs web et base de donnée.
sudo systemctl restart httpd.service sudo systemctl restart mariadb.service
Préparatifs de l'installation
Nous devons tout d'abord récupérer la dernière version stable de Drupal. A ce jour, la dernière version est la 8.2.1.
sudo cd /var/www/html sudo curl --get -O -L https://ftp.drupal.org/files/projects/drupal-8.2.1.zip
Nous allons avoir besoin de la commande unzip pour décompresser l'archive que nous venons de télécharger.
Si cette commande n'est pas disponible sur votre système, vous pouvez la rendre disponible avec la commande suivante :
sudo yum -y install unzip
Décompressons cette archive et supprimons là.
sudo unzip drupal-8.2.1.zip sudo rm -f drupal-8.2.1.zip
La décompression de l'archive a créé un dossier nommé drupal-8.2.1, nous allons le renommer.
sudo mv drupal-8.2.1 drupal
Nous devons créer un dossier supplémentaire pour recueillir les traductions de Drupal.
sudo mkdir -p /var/www/html/drupal/default/files/translations
Il faut maintenant donner les bonnes permissions aux dossiers et aux fichiers
sudo chown -R apache:apache /var/www/html/drupal sudo find -type d -exec chmod 0755 {} \; sudo find -type f -exec chmod 0644 {} \;
Paramétrage de SELinux
SELinux ne permet pas par défaut au serveur Web d'écrire des fichiers. En exécutant la commande suivante, on désactive cette sécurité sans pour autant désactiver SELinux sur le reste du système.
sudo chcon -R -t httpd_sys_rw_content_t /var/www/html/drupal
Il faut également permettre à Drupal d'envoyer des mails à l'aide de PHP.
sudo setsebool -P httpd_can_sendmail=1
Paramétrage d'Apache pour donner accès au dossier
Nous allons créer un fichier de configuration pour notre site Drupal.
sudo tee /etc/httpd/conf.d/drupal.conf <<-'EOF' DocumentRoot "/var/www/html/drupal" Options Indexes FollowSymLinks AllowOverride All Require all granted EOF
Paramétrage de PHP
Il faut modifier quelques paramètres dans le fichier /etc/php.ini.
date.timezone = "Europe/Paris" output_buffering = Off post_max_size = 50M upload_max_filesize = 50M max_file_uploads = 50 max_input_vars = 3000
Ensuite, on peut relancer le serveur web afin qu'il reconnaisse la nouvelle configuration.
sudo systemctl restart httpd.service
Configuration de Zend OPcache
Zend OPcache accélère l'exécution du code PHP en précompilant le code PHP. Drupal recommande l'utilisation d'OPcache.
sudo yum -y install php-pecl-zendopcache
Nous allons maintenant paramétrer OPcache afin de l'optimiser pour les application PHP.
Nous allons créer un fichier de configuration opcache.ini dans le dossier /etc/php.d/.
/etc/php.d/opcache.ini
opcache.revalidate_freq=0 opcache.validate_timestamps=0 opcache.max_accelerated_files=20000 opcache.memory_consumption=128 opcache.interned_strings_buffer=16 opcache.fast_shutdown=1
Pour un environnement de développement, la ligne opcache.validate_timestamps=0 doit être mise en commentaire au moyen d'un ";".
Si vous rencontrez des problèmes avec votre environnement de développement et que vous souhaitez vous passer de Zend OPcache, vous pouvez ajouter le chemin d'accès de votre site dans le fichier /etc/php.d/opcache-default.blacklist.
Installation de Drupal
Il est maintenant temps de se connecter à l'adresse du site pour démarrer la partie graphique de l'installation.
Si vous avez suivi cet article à la lettre, les pré-requis doivent tous être satisfaits. Dans le cas contraire, une page affiche la liste des pré-requis et vous indique s'ils sont satisfaits ou non.
La première étape, comme pour beaucoup de produits, consiste à choisir la langue d'installation. Dans notre cas, la langue française est pré-sélectionnée. Elle sera automatiquement téléchargée depuis le site de traduction de Drupal. Cliquez sur le bouton Save and continue pour passer à la suite.
La page suivante permet de choisir un profil d'installation. Si vous lisez ces lignes c'est que le profil Standard est le plus adapté. Si vous aimez l'aventure ou que vous aimez tout paramétrer par vous même, vous pouvez opter pour le profil Minimal.
Cliquez sur Enregistrer et continuer pour passer à la page de configuration de la base de donnée.
Nous avons fait le choix de MariaDB, le type de base de données sélectionné par défaut nous convient donc. Pour les autres champs, nous les remplissons avec les valeurs suivantes (à moins que vous ayez fait des changements) :
Nom de la base de donnée : drupal_db Nom d'utilisateur de la base de données : drupal_user Mot de passe de la base de données : drupal_password
Cliquez sur Enregistrer et continuer pour passer à la page de configuration du site. Vous devrez renseigner le nom du site, l'adresse de courriel su site, le nom du premier utilisateur (qui deviendra l'administrateur), son mot de passe et son adresse de courriel. Je vous laisse renseigner les paramètres régionaux. Cliquez ensuite sur le bouton Enregistrer et continuer.
Nous arrivons sur la page de Finalisation des traductions. L'installeur de Drupal installe est configure les site pour la langue qui a été sélectionnée.
Voilà, l'installation de Drupal est désormais terminée. Vous vous trouvez maintenant face à la page d'accueil de votre site. Le bandeau noir en haut de la fenêtre de navigation présente les fonctions d'administration de base.