Introduction
Drupal est l'un des systèmes de gestion de contenu (CMS) les plus appréciés pour la gestion de blogs et de contenus d'entreprise. Les développeurs et les entreprises le préfèrent pour sa robustesse et sa facilité d'utilisation. Il est très personnalisable et peut être étendu pour répondre à une grande variété de cas d'utilisation.
Dans ce tutoriel, nous allons vous montrer comment installer Drupal sur Ubuntu 20.04 avec Apache.
Prérequis
Puisque nous allons installer Drupal sur Ubuntu, nous devrons avoir installé la dernière version d'Ubuntu. Vous pouvez suivre notre guide pour installer Ubuntu si vous ne l'avez pas déjà. Nous aurons également besoin de PHP, MySQL, et Apache installés et prêts. Si vous ne les avez pas installés, vous pouvez consulter notre guide Configuration de la pile LAMP – Linux Apache MySQL PHP.
Avant de commencer à télécharger et à configurer Drupal sur notre machine, nous devons effectuer quelques ajustements dans notre système. Avec PHP, MySQL et Apache installés, commençons à configurer notre système pour l'installation de Drupal.
Préparation de l'utilisateur et de la base de données MySQL
Drupal s'appuie sur une base de données MySQL pour stocker les données et la configuration. Nous allons configurer un utilisateur et une base de données dédiés afin que notre environnement Drupal soit isolé. Cela nous aidera également à sécuriser notre application. Nous allons créer un nouvel utilisateur et une nouvelle base de données. Tout d'abord, connectez-vous au serveur MySQL en exécutant la commande ci-dessous dans le terminal :
|
1 |
mysql -u root -p |
Saisissez le nom d'utilisateur et le mot de passe de MySQL. Une fois authentifié, exécutez la commande ci-dessous pour créer une nouvelle base de données. Appelons-la drupal:
|
1 |
CREATE DATABASE drupal; |
Ensuite, vous devrez créer un nouvel utilisateur pour vous connecter à cette base de données. Nous l'appellerons drupaluser. Pour le mot de passe, assurez-vous d'en saisir un qui soit fort. Exécutez la commande ci-dessous pour créer un nouvel utilisateur :
|
1 |
CREATE USER drupaluser@localhost IDENTIFIED BY 'password'; |
Notre utilisateur a besoin de privilèges pour effectuer des opérations sur cette base de données. Cependant, accorder tous les privilèges exposerait notre application à des failles de sécurité. Ainsi, nous allons ici accorder les privilèges nécessaires en exécutant la commande ci-dessous :
|
1 |
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER,CREATE TEMPORARY TABLES,LOCK TABLES ON drupal.* TO drupaluser@localhost; |
Une fois que vous avez accordé les privilèges, nous sommes prêts à continuer. Exécutez la commande ci-dessous pour vider les privilèges afin qu'ils deviennent effectifs immédiatement :
|
1 |
FLUSH PRIVILEGES; |
Après cela, quittez MySQL en exécutant la commande ci-dessous :
|
1 |
exit |
Installer et configurer les modules PHP
Drupal a besoin de modules PHP pour fonctionner. Nous allons les télécharger depuis le dépôt officiel d'Ubuntu. Mettez à jour votre cache de paquets local en exécutant la commande ci-dessous :
|
1 2 |
sudo apt-get update sudo apt-get install php5-gd php5-curl libssh2-php |
Ensuite, nous allons apporter quelques modifications aux modules PHP conformément aux recommandations de Drupal. Ouvrez le fichier de configuration PHP à l'aide de la commande ci-dessous :
|
1 |
sudo nano /etc/php5/apache2/php.ini |
Désactivez les deux variables expose_php et allow_url_fopen :
|
1 2 3 4 5 |
. . . expose_php = Off . . . allow_url_fopen = Off . . . |
Enregistrez et fermez le fichier. Vous êtes maintenant prêt à continuer.
Modification des fichiers Htaccess dans Apache
Drupal doit modifier les URL pour qu'elles soient plus compréhensibles pour les utilisateurs. Pour cela, il a besoin d'accéder à la réécriture d'URL. Heureusement, le module mod_rewrite pour réécrire est présent dans Apache par défaut. Il nous suffit de l'activer. Exécutez la commande ci-dessous pour activer ce module :
|
1 |
sudo a2enmod rewrite |
Ensuite, nous devons mettre à jour les paramètres de l'hôte virtuel. Nous devons le faire pour que Drupal puisse accéder au fichier .htaccess . Ouvrez le fichier virtualhost en exécutant la commande ci-dessous :
|
1 |
sudo nano /etc/apache2/sites-enabled/000-default.conf |
Dans le virtualhost configuration, ajoutez le dossier qui pointe vers notre racine web. Ici, AllowOverride sur All. Si vous avez un nom de domaine, vous pouvez ajouter ServerName directive, et modifier la directive ServerAdmin directive pour refléter une adresse e-mail valide :
|
1 2 3 4 5 6 7 8 9 10 11 |
<VirtualHost *:80> . . . ServerName example.com ServerAdmin webmaster@example.com DocumentRoot /var/www/html <Directory /var/www/html> AllowOverride All </Directory> . . . </VirtualHost> |
Enregistrez et fermez le fichier. Nous sommes maintenant prêts. Il nous suffit de redémarrer Apache et PHP pour que les modifications prennent effet :
|
1 |
sudo service apache2 restart |
Installation de Drupal
Ici, nous allons installer Drupal à la racine du site web. Nous allons décompresser les fichiers Drupal et en faire une copie. Après cela, nous copierons ces fichiers copiés dans le répertoire de destination. Cela nous donnera une sauvegarde des fichiers en cas de problème.
Pour télécharger Drupal, ouvrez https://www.drupal.org/project/drupal. Sous la section Versions recommandées, vous devriez localiser la version souhaitée. Ensuite, copiez l'adresse du fichier tar.gz. Sur votre serveur, vous pouvez télécharger ce fichier à l'aide de l'utilitaire wget . Exécutez la commande ci-dessous dans le terminal pour récupérer l'adresse du lien copié :
|
1 2 |
cd ~ wget <votre lien> |
Une fois le fichier téléchargé, extrayez le répertoire de l'application en tapant :
|
1 |
tar xzvf drupal* |
Déplacez-vous maintenant vers le répertoire nouvellement créé à l'aide de la commande ci-dessous :
|
1 |
cd drupal* |
Copiez tous les fichiers de ce répertoire vers la racine web en exécutant la commande ci-dessous :
|
1 |
sudo rsync -avz . /var/www/html |
Une fois les fichiers copiés, déplacez-vous dans la racine web en exécutant la commande ci-dessous :
|
1 |
cd /var/www/html |
Rendre les fichiers Drupal faciles à installer et sécurisés
Si nous installons Drupal via un script d'installation en ligne, nous devrons apporter des modifications au répertoire de Drupal. Cela nous obligera à basculer entre le navigateur et la ligne de commande. Bien que nous puissions également l'installer de cette façon, une meilleure option consiste à apporter des ajustements à nos fichiers pour éliminer ce désagrément.
Créez un nouveau répertoire sous l'arborescence sites/default appelé files:
|
1 |
mkdir /var/www/html/sites/default/files |
Copiez le fichier de paramètres par défaut vers le nom de fichier que Drupal utilise pour la configuration active :
|
1 |
cp /var/www/html/sites/default/default.settings.php /var/www/html/sites/default/settings.php |
Pour terminer l'installation, nous devons accorder plus de privilèges au fichier de paramètres actif. Nous annulerons cela plus tard. Exécutez la commande ci-dessous pour donner l'autorisation d'écriture au groupe propriétaire:
|
1 |
chmod 664 /var/www/html/sites/default/settings.php |
Attribuez la propriété de groupe de nos fichiers à l'utilisateur web, qui dans Ubuntu est www-data. L'ensemble de notre installation Drupal nécessite ces droits de propriété :
|
1 |
sudo chown -R :www-data /var/www/html/* |
Nous pouvons maintenant continuer.
Finalisation de l'installation en ligne
À partir de maintenant, nous utiliserons le navigateur. Les étapes vont être simples et rapides. Dans votre navigateur, saisissez le domaine/l'IP du serveur :
|
1 |
http://server_domain_or_ip/ |
Vous verrez la page d'accueil de Drupal :

Dans la plupart des cas, Standard est l'option par défaut. Choisissez Manuel si votre cas d'utilisation l'exige spécifiquement. Après avoir sélectionné Standard, cliquez sur Enregistrer et continuer. Vous obtiendrez d'autres invites. Continuez à cliquer sur Suivant et en acceptant les options par défaut, jusqu'à ce que vous atteigniez la page de configuration de la base de données. Sur cette page, il vous sera demandé des informations sur la base de données. Saisissez le utilisateur et mot de passe et base de données sur cette page que nous avions utilisés ci-dessus :

Cliquez sur Enregistrer et continuer. Si vous êtes redirigé vers la même page de configuration de la base de données, rafraîchissez simplement la page. Les paramètres de la base de données seront configurés et le profil sera installé.
Il vous sera demandé d'autres informations sur le site web. Un message apparaîtra également en haut indiquant qu'il est possible de modifier les autorisations du fichier de paramètres. Nous ne ferons cela que pendant une courte période, puis nous annulerons les modifications. Nous ne voulons pas compromettre notre site web. Saisissez les informations requises pour le site web :

Nous devons cliquer sur Enregistrer et continuer une fois de plus pour terminer l'installation. Ouvrez votre site en saisissant votre IP/domaine. Vous verrez la page d'accueil :

Ici se termine l'installation de Drupal. Nous allons maintenant rétablir les autorisations pour nos paramètres afin d'éviter toute utilisation non autorisée. Restreignez cela en exécutant la commande ci-dessous dans le terminal :
|
1 |
chmod 644 /var/www/html/sites/default/settings.php |
Dépannage
Nous devons nous assurer que l'installation de Drupal est terminée. Si la dernière étape n'est pas terminée, exécutez la commande ci-dessous :
|
1 |
sudo tail /var/log/apache2/error.log |
Cela ouvrira le fichier de log. Vérifiez ensuite si vous pouvez localiser le journal ci-dessous dans le fichier :
|
1 2 |
PHP Fatal error: Call to undefined function field_attach_load() in /var/www/html/includes/entity.inc on line 316, referer: http://12.34.56.78/install.php?profile=standard&locale=en sh: 1: /usr/sbin/sendmail: not found |
Si les lignes ci-dessus sont présentes, cela montre que notre installation n'a pas réussi. Pour supprimer cette erreur, Drupal a fourni une piste dans son document ici : https://www.drupal.org/node/481758
Une raison courante pour l'erreur mentionnée ci-dessus est max_execution_time. Pour l'augmenter, ouvrez le fichier php.ini à l'aide de la commande ci-dessous :
|
1 |
sudo nano /etc/php5/apache2/php.ini |
Ensuite, localisez max_execution_time et modifiez-le comme ci-dessous :
|
1 |
max_execution_time = 300 |
Puisque nous utilisons notre propre base de données, nous devrons supprimer la base de données par défaut de Drupal et le fichier de paramètres PHP existant /var/www/html/default/settings.php. Après cela, remplacez-les par des copies par défaut et recommencez l'installation. N'oubliez pas de créer des sauvegardes par précaution.
Pour supprimer la base de données Drupal existante, connectez-vous à la base de données MySQL et exécutez la commande ci-dessous :
|
1 |
DROP DATABASE drupal; |
Ensuite, créez la base de données et accordez les privilèges comme décrit ci-dessus. Une autre option consiste à exécuter à nouveau cp /var/www/html/sites/default/default.settings.php /var/www/html/sites/default/settings.php pour remplacer le fichier de paramètres. Assurez-vous d'exécuter également la commande chmod 664 /var/www/html/sites/default/settings.php pour définir à nouveau les autorisations correctes. Accédez maintenant à votre IP et tentez à nouveau l'installation.
Conclusion
Dans ce tutoriel, nous avons appris à configurer Drupal sur votre machine exécutant Ubuntu. Cela vous donnera une base solide pour démarrer avec le CMS Drupal. Avoir une configuration Drupal peut vous aider à faire fonctionner votre site web qui est hautement personnalisable sans avoir à tout coder à partir de zéro.
Pour en savoir plus sur un autre CMS utile, WordPress, vous pouvez consulter les tutoriels suivants :
- Comment déployer WordPress avec des conteneurs Docker sur Ubuntu 20.04
- Comment installer WordPress avec LAMP sur Ubuntu 20.04
- Pourquoi devriez-vous vous tourner vers l'hébergement cloud WordPress pour votre site web ?
- Comment migrer un site web de WordPress vers CloudSigma PaaS
Bonne informatique !
Commentaires
Aucun commentaire pour l'instant. Soyez le premier.