How to Install Drupal 8 on CentOS 7
Table des matières:
- Conditions préalables
- Créer une base de données MySQL
- Installer PHP
- Installer Composer
- Installer Drupal
- Configurer Nginx
- Testez l'installation
- Installer des modules et des thèmes Drupal
- Mettre à jour Drupal Core
- Conclusion
Drupal est l'une des principales plateformes CMS open source au monde. Il est flexible, évolutif et peut être utilisé pour créer différents types de sites Web allant des petits blogs personnels aux grands sites d'entreprise, politiques et gouvernementaux.
Dans ce tutoriel, nous expliquerons comment installer Drupal 8.6 sur CentOS 7.
Il existe plusieurs façons d'installer Drupal. Ce guide couvre les étapes nécessaires à l'installation de Drupal à l'aide d'un modèle de composition pour les projets Drupal appelé drupal-project.
Nous utiliserons Nginx comme serveur Web, le dernier PHP 7.2 et MySQL / MariaDB comme serveur de base de données.
Conditions préalables
Avant de commencer l'installation, assurez-vous d'avoir satisfait aux conditions préalables suivantes:
- Ayez un nom de domaine pointant vers l'IP de votre serveur public. Nous utiliserons
example.com
.Have Nginx installé.Avez un certificat SSL installé pour votre domaine. Vous pouvez installer un certificat SSL Let's Encrypt gratuit en suivant ces instructions.Connecté en tant qu'utilisateur avec les privilèges sudo.
Créer une base de données MySQL
La première étape consiste à créer une nouvelle base de données et un nouveau compte d'utilisateur et à accorder les autorisations appropriées à l'utilisateur.
Si MySQL ou MariaDB est déjà installé sur votre serveur, vous pouvez ignorer cette étape, sinon vous pouvez installer le package du serveur MariaDB 5.5 à partir des référentiels par défaut de CentOS en tapant:
sudo yum install mariadb-server
Pour les nouvelles installations MariaDB / MySQL, il est recommandé d'exécuter la commande
mysql_secure_installation
pour améliorer la sécurité de votre serveur de base de données.
Connectez-vous au shell MySQL en tapant la commande suivante et entrez le mot de passe lorsque vous y êtes invité:
mysql -u root -p
Pour créer une base de données nommée
drupal
, l'utilisateur nommé
drupaluser
et pour accorder les autorisations nécessaires à l'utilisateur, exécutez les commandes suivantes:
CREATE DATABASE drupal CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES ON drupal.* TO 'drupaluser'@'localhost' IDENTIFIED BY 'change-with-strong-password';
Installer PHP
CentOS 7 est livré avec PHP version 5.4, qui est obsolète et n'est plus pris en charge. La version PHP recommandée pour Drupal est PHP 7.2.
Pour installer PHP 7.2 sur CentOS 7, nous devons d'abord activer les référentiels EPEL et Remi:
sudo yum install epel-release yum-utils
sudo yum install
sudo yum-config-manager --enable remi-php72
Une fois que les référentiels sont activés pour installer PHP 7.2 et toutes les extensions PHP requises, exécutez les commandes suivantes:
sudo yum install php-cli php-fpm php-mysql php-json php-opcache php-mbstring php-xml php-gd php-curl git
Nous avons installé PHP FPM car nous utiliserons Nginx comme serveur Web.
Par défaut, PHP FPM s'exécutera en tant qu'utilisateur
apache
sur le port 9000. Nous changerons l'utilisateur en
nginx
et passerons du socket TCP au socket Unix. Pour ce faire, ouvrez le fichier
/etc/php-fpm.d/www.conf
et modifiez les lignes surlignées en jaune:
… user = nginx… group = nginx… listen = /run/php-fpm/www.sock… listen.owner = nginx listen.group = nginx
Assurez-vous que le répertoire
/var/lib/php
a la propriété appropriée en utilisant la commande chown suivante:
sudo chown -R root:nginx /var/lib/php
Enfin, activez et démarrez le service PHP FPM:
sudo systemctl enable php-fpm
sudo systemctl start php-fpm
Installer Composer
Composer est un gestionnaire de dépendances pour PHP. Nous téléchargerons le modèle Drupal et installerons tous les composants Drupal nécessaires avec composer.
La commande suivante installera composer globalement en téléchargeant le programme d'installation de Composer avec curl et en déplaçant le fichier vers le
/usr/local/bin
:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
Vérifiez l'installation en exécutant la commande suivante qui imprimera la version du composeur:
composer --version
La sortie devrait ressembler à ceci:
Composer version 1.8.4 2019-02-11 10:52:10
Installer Drupal
Maintenant que composer est installé, créez un nouveau projet Drupal en utilisant le modèle Drupal dans le répertoire
/var/www/my_drupal
:
sudo /usr/local/bin/composer create-project drupal-composer/drupal-project:8.x-dev /var/www/my_drupal --stability dev --no-interaction
La commande ci-dessus téléchargera le modèle, récupérera tous les packages php requis et exécutera les scripts nécessaires pour préparer le projet pour l'installation. Le processus peut prendre quelques minutes et s'il réussit, la fin de la sortie ressemblera à ceci:
Create a sites/default/settings.php file with chmod 0666 Create a sites/default/files directory with chmod 0777
L'étape suivante consiste à installer Drupal à l'aide de Drush. Dans la commande ci-dessous, nous transmettons la base de données MySQL et les informations utilisateur que nous avons créées dans la première section:
cd /var/www/my_drupal
sudo vendor/bin/drush site-install --db-url=mysql://drupaluser:change-with-strong-password@localhost/drupal
Le programme d'installation vous demandera le message suivant, appuyez simplement sur Entrée pour continuer.
You are about to DROP all tables in your 'drupal' database. Do you want to continue? (yes/no):
Une fois l'installation terminée, le script imprimera le nom d'utilisateur et le mot de passe administratifs. La sortie doit ressembler à ceci:
Starting Drupal installation. This takes a while. Installation complete. User name: admin User password: frxka2Db5v
Enfin, définissez les autorisations appropriées pour que le serveur Web puisse avoir un accès complet aux fichiers et répertoires du site:
sudo chown -R nginx: /var/www/my_drupal
Configurer Nginx
À présent, vous devriez déjà avoir Nginx avec certificat SSL installé sur votre système, sinon vérifiez les conditions préalables pour ce tutoriel.
Pour créer un nouveau bloc serveur pour notre nouveau projet Drupal, nous utiliserons la recette Nginx du site officiel Nginx.
Ouvrez votre éditeur de texte et créez le fichier suivant:
sudo nano /etc/nginx/conf.d/example.com
/etc/nginx/conf.d/example.com
# Redirect HTTP -> HTTPS server { listen 80; server_name www.example.com example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } # Redirect WWW -> NON WWW server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; root /var/www/my_drupal/web; # SSL parameters ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; # log files access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log; location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } location ~ \..*/.*\.php$ { return 403; } location ~ ^/sites/.*/private/ { return 403; } # Block access to scripts in site files directory location ~ ^/sites/+/files/.*\.php$ { deny all; } # Block access to "hidden" files and directories whose names begin with a # period. This includes directories used by version control systems such # as Subversion or Git to store control files. location ~ (^|/)\. { return 403; } location / { try_files $uri /index.php?$query_string; } location @rewrite { rewrite ^/(.*)$ /index.php?q=$1; } # Don't allow direct access to PHP files in the vendor directory. location ~ /vendor/.*\.php$ { deny all; return 404; } location ~ '\.php$|^/update.php' fastcgi_split_path_info ^(.+?\.php)(# Fighting with Styles? This little gem is amazing. # location ~ ^/sites/.*/files/imagecache/ { # For Drupal <= 6 location ~ ^/sites/.*/files/styles/ { # For Drupal >= 7 try_files $uri @rewrite; } # Handle private files through Drupal. Private file's path can come # with a language prefix. location ~ ^(/+)?/system/files/ { # For Drupal >= 7 try_files $uri /index.php?$query_string; } location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ { try_files $uri @rewrite; expires max; log_not_found off; } }
N'oubliez pas de remplacer example.com par votre domaine Drupal et de définir le chemin d'accès correct aux fichiers de certificat SSL. Toutes les requêtes HTTP seront redirigées vers HTTPS. Les extraits de code utilisés dans cette configuration sont créés dans ce guide.
Avant de redémarrer le service Nginx, faites un test pour vous assurer qu'il n'y a pas d'erreurs de syntaxe:
sudo nginx -t
Redémarrez le service Nginx pour que les modifications prennent effet en tapant:
Testez l'installation
Ouvrez votre navigateur, saisissez votre domaine et en supposant que l'installation est réussie, un écran similaire au suivant apparaîtra:
Vous pouvez vous connecter en tant qu'administrateur et commencer à personnaliser votre nouvelle installation Drupal.
Installer des modules et des thèmes Drupal
Maintenant que votre projet Drupal est installé, vous voudrez installer certains modules et thèmes. Les modules et les thèmes Drupal sont hébergés sur un référentiel de compositeur personnalisé, que drupal-project configure pour nous hors de la boîte.
Pour installer un module ou un thème, tout ce que vous avez à faire est de
cd
dans le répertoire du projet et de taper
composer require drupal/module_or_theme_name
. Par exemple, si nous voulons installer le module Pathauto, nous devons exécuter la commande suivante:
cd /var/www/my_drupal
sudo -u nginx /usr/local/bin/composer require drupal/pathauto
En ajoutant
sudo -u nginx
nous exécutons la commande en tant qu'utilisateur
nginx
Using version ^1.3 for drupal/pathauto./composer.json has been updated > DrupalProject\composer\ScriptHandler::checkComposerVersion Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 3 installs, 0 updates, 0 removals - Installing drupal/token (1.5.0): Downloading (100%) - Installing drupal/ctools (3.2.0): Downloading (100%) - Installing drupal/pathauto (1.3.0): Downloading (100%) Package phpunit/phpunit-mock-objects is abandoned, you should avoid using it. No replacement was suggested. Writing lock file Generating autoload files > DrupalProject\composer\ScriptHandler::createRequiredFiles
Comme vous pouvez le voir sur la sortie ci-dessus, composer installe également toutes les dépendances du package pour nous.
Mettre à jour Drupal Core
Avant la mise à niveau, il est toujours judicieux d'effectuer une sauvegarde de vos fichiers et de votre base de données. Vous pouvez utiliser le module Sauvegarder et migrer ou sauvegarder manuellement votre base de données et vos fichiers.
Pour sauvegarder les fichiers d'installation, vous pouvez utiliser la commande rsync suivante, bien sûr, vous devrez utiliser le chemin d'accès correct au répertoire d'installation:
sudo rsync -a /var/www/my_drupal/ /var/www/my_drupal_$(date +%F)
Pour sauvegarder la base de données, nous pouvons utiliser la commande standard
mysqldump
:
mysqldump -u root -p > /var/www/my_drupal_database_$(date +%F).sql
ou
drush sql-dump
:
cd /var/www/my_drupal
vendor/bin/drush sql-dump > /var/www/my_drupal_database_$(date +%F).sql
Maintenant que nous avons créé une sauvegarde, nous pouvons continuer et mettre à jour tous les fichiers core Drupal en exécutant la commande suivante:
sudo -u nginx /usr/local/bin/composer update drupal/core webflo/drupal-core-require-dev symfony/* --with-dependencies
Conclusion
Félicitations, vous avez correctement installé Drupal 8 à l'aide de composer et appris à installer des modules et des thèmes. Vous pouvez maintenant commencer à personnaliser votre site. Le Guide de l'utilisateur Drupal 8 est un bon point de départ pour en savoir plus sur la gestion de votre installation Drupal. N'oubliez pas non plus de visiter le projet de modèle Drupal Composer sur Github.
centos drupal mysql mariadb cms nginx compositeurComment installer Drupal en utilisant WAMP sous Windows
Vous pouvez installer Drupal en utilisant WAMP sous Windows. Ce tutoriel va vous montrer comment installer Drupal sur localhost sous Windows 10 / 8.1 / 7.
Comment installer et configurer un serveur nfs sur centos 8
Dans ce didacticiel, vous allez suivre les étapes nécessaires pour configurer un serveur NFSv4 sur CentOS 8. Nous vous montrerons également comment monter un système de fichiers NFS sur le client.
Comment installer Drupal sur Ubuntu 18.04
Dans ce tutoriel, nous allons vous montrer comment installer Drupal 8.6 sur une machine Ubuntu 18.04. Il existe plusieurs façons d'installer Drupal, ce tutoriel couvre les étapes nécessaires à l'installation de Drupal 8.6 à l'aide de Composer.