Comment installer Craft CMS sur Ubuntu 18.04 LTS
Ce tutoriel existe pour ces versions d'OS
- Ubuntu 20.04 (Fosse focale)
- Ubuntu 18.04 (Bionic Beaver)
Sur cette page
- Exigences
- Prérequis
- Premières étapes
- Étape 1 : Installez PHP et les extensions PHP requises
- Étape 2 : Installez MySQL/MariaDB et créez une base de données
- )
- Étape 4 : Installer et configurer Nginx
- Étape 5 : Installer Composer
- Étape 6 - Installer Craft CMS
- Étape 7 : Terminer la configuration de Craft CMS
- Liens
Craft est un CMS open source écrit en PHP. Craft vous permet de créer et de gérer facilement du contenu de qualité, ainsi que de concevoir et de créer exactement ce dont vous avez besoin. Son CMS sécurisé et évolutif avec un grand écosystème de plug-ins et le code source de Craft sont hébergés sur GitHub. Ce didacticiel vous guidera tout au long de la procédure d'installation de Craft CMS sur un nouveau serveur Ubuntu 18.04 LTS utilisant Nginx comme serveur Web et nous sécuriserons le site Web avec un certificat SSL Lets encrypt.
Exigences
L'artisanat nécessite les éléments suivants :
- PHP version 7.0 ou ultérieure avec les extensions PHP suivantes : (ctype, cURL, GD ou ImageMagick, iconv, JSON, chaîne multioctet, OpenSSL, PCRE, PDO MySQL Driver ou PDO PostgreSQL Driver, PDO, Reflection, SPL, Zip, International, DOM)
- MySQL 5.5+ avec InnoDB, MariaDB 5.5+ ou PostgreSQL 9.5+
- Au moins 256 Mo de mémoire alloués à PHP
- Au moins 200 Mo d'espace disque libre
Conditions préalables
- Un système d'exploitation exécutant Ubuntu 18.04
- Un utilisateur non root avec des privilèges sudo.
Étapes initiales
Vérifiez votre version d'Ubuntu :
lsb_release -ds
# Ubuntu 18.04.1 LTS
Configurez le fuseau horaire :
sudo dpkg-reconfigure tzdata
Mettez à jour les packages de votre système d'exploitation (logiciels). Il s'agit d'une première étape importante car elle garantit que vous disposez des dernières mises à jour et correctifs de sécurité pour les packages logiciels par défaut de votre système d'exploitation :
sudo apt update && sudo apt upgrade -y
Installez certains packages essentiels nécessaires à l'administration de base du système d'exploitation Ubuntu :
sudo apt install -y curl wget vim git unzip socat
Étape 1 - Installez PHP et les extensions PHP requises
Installez PHP, ainsi que les extensions PHP nécessaires :
sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-curl php7.2-gd php-imagick php7.2-json php7.2-mbstring php7.2-mysql php7.2-pgsql php7.2-zip php7.2-intl php7.2-xml
Vérifiez la version de PHP :
php --version
# PHP 7.2.10-0ubuntu0.18.04.1 (cli) (built: Sep 13 2018 13:45:02) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.2.10-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies
Exécutez sudo vim /etc/php/7.2/fpm/php.ini
et définissez memory_limit
sur au moins 256 Mo
:
memory_limit = 256M
Le service PHP-FPM est automatiquement démarré et activé au redémarrage sur le système Ubuntu 18.04, il n'est donc pas nécessaire de le démarrer et de l'activer manuellement. Nous pouvons passer à l'étape suivante, qui est l'installation et la configuration de la base de données.
Étape 2- Installez MySQL/MariaDB et créez une base de données
Craft CMS prend en charge les bases de données MySQL/MariaDB et PostgreSQL. Dans ce tutoriel, nous utiliserons MySQL comme serveur de base de données.
Installez le serveur de base de données MySQL :
sudo apt install -y mysql-server
Vérifiez la version de MySQL :
mysql --version
# mysql Ver 14.14 Distrib 5.7.24, for Linux (x86_64) using EditLine wrapper
Exécutez le script d'mysql_secure installation
pour améliorer la sécurité MySQL et définissez le mot de passe de l'utilisateur MySQL root
:
sudo mysql_secure_installation
Répondez à chacune des questions :
Would you like to setup VALIDATE PASSWORD plugin? N
New password: your_secure_password
Re-enter new password: your_secure_password
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
Connectez-vous au shell MySQL en tant qu'utilisateur root :
sudo mysql -u root -p
# Enter password
Créez une base de données MySQL vide et un utilisateur pour Craft CMS et mémorisez les informations d'identification :
mysql> CREATE DATABASE dbname;
mysql> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;
Quittez MySQL :
mysql> exit
Remplacez dbname
, username
et password
par vos propres noms.
Étape 3 - Installez le client acme.sh et obtenez le certificat Lets Encrypt (facultatif)
Sécuriser votre site Web avec HTTPS n'est pas nécessaire, mais c'est une bonne pratique pour sécuriser le trafic de votre site. Afin d'obtenir un certificat TLS de Lets Encrypt, nous utiliserons le client Acme.sh. Acme.sh est un logiciel shell Unix pur permettant d'obtenir des certificats TLS de Lets Encrypt sans aucune dépendance.
Téléchargez et installez Acme.sh :
sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail
cd ~
Vérifiez la version d'Acme.sh :
/etc/letsencrypt/acme.sh --version
# v2.8.0
Obtenez des certificats RSA et ECC/ECDSA pour votre domaine/nom d'hôte :<br>
# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength 2048
# ECDSA
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength ec-256
Après avoir exécuté les commandes ci-dessus, vos certificats et clés seront dans :
- Pour RSA : répertoire
/etc/letsencrypt/example.com
. - Pour ECC/ECDSA : répertoire
/etc/letsencrypt/example.com_ecc
.
Étape 4 - Installer et configurer Nginx
Craft CMS peut fonctionner correctement avec de nombreux logiciels de serveur Web populaires. Dans ce tutoriel, nous avons sélectionné Nginx.
Téléchargez et installez la dernière version principale de Nginx à partir du référentiel officiel Nginx.
Commencez par télécharger la clé PGP du référentiel Nginx :
wget https://nginx.org/keys/nginx_signing.key
Ajouter la clé au trousseau de clés du programme apt
:
sudo apt-key add nginx_signing.key
Ajoutez et configurez le référentiel APT principal de Nginx :
sudo -s
printf "deb https://nginx.org/packages/mainline/ubuntu/ $(lsb_release -sc) nginx\ndeb-src https://nginx.org/packages/mainline/ubuntu/ $(lsb_release -sc) nginx\n" >> /etc/apt/sources.list.d/nginx_mainline.list
exit
Mettez à jour la liste des dépôts :
sudo apt update
Installez les derniers packages Nginx principaux :
sudo apt install -y nginx nginx-module-geoip nginx-module-image-filter nginx-module-njs nginx-module-perl nginx-module-xslt
Démarrez et activez le service Nginx :
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Vérifiez la version de Nginx :
sudo nginx -v
# nginx version: nginx/1.15.8
Configurez Nginx pour Craft CMS en exécutant :
sudo vim /etc/nginx/conf.d/craft.conf
Et remplissez le fichier avec la configuration suivante :
server {
listen 80;
listen [::]:80;
listen 443 ssl;
listen [::]:443 ssl;
server_name example.com www.example.com;
root /var/www/craft/web;
index index.php;
ssl_certificate /etc/letsencrypt/example.com/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com/example.com.key;
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/example.com.key;
location / {
try_files $uri/index.html $uri $uri/ /index.php?$query_string;
}
location ~ [^/]\.php(/|$) {
try_files $uri $uri/ /index.php?$query_string;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param HTTP_PROXY "";
}
}
REMARQUE : Pour une configuration Nginx complète et prête pour la production pour Craft, visitez https://github.com/nystudio107/nginx-craft. La configuration est intentionnellement simplifiée pour garder une configuration dense et simple.
Ouvrez le fichier nginx.conf
et définissez user
sur www-data
.
sudo vim /etc/nginx/nginx.conf
user www-data www-data;
Testez la configuration de Nginx :
sudo nginx -t
Recharger Nginx :
sudo systemctl reload nginx.service
Étape 5 - Installer Composer
Installez Composer, le gestionnaire de dépendances PHP globalement :
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '93b54496392c062774670ac18b134c3b3a95e5a5e5c8f1a9f115f203b75bf9a129d5daa8ba6a13e2cc8a1da0806388a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer
Vérifiez la version de Composer :
composer --version
# Composer version 1.8.0 2018-12-03 10:31:16
REMARQUE : Les commandes d'installation de Composer changeront à l'avenir, alors vérifiez https://getcomposer.org/download/ pour les commandes les plus récentes si les commandes ci-dessus ne fonctionnent pas.
Étape 6 - Installer Craft CMS
Craft CMS peut être téléchargé avec Composer ou en téléchargeant manuellement une archive .zip
ou tar.gz
. Dans ce tutoriel, nous utiliserons Composer pour télécharger Craft CMS.
Créez un répertoire racine de documents dans lequel Craft CMS doit résider :
sudo mkdir -p /var/www/craft
Accédez au répertoire racine du document :
cd /var/www/craft
Modifiez la propriété du répertoire /var/www/craft
en johndoe
.
sudo chown -R [your_username]:[your_username] /var/www/craft
Pour créer un nouveau projet Craft, exécutez cette commande :
composer create-project craftcms/craft .
Modifiez la propriété du répertoire /var/www/craft
en www-data :
sudo chown -R www-data:www-data /var/www/craft
Dans votre navigateur Web, accédez à http://
(en remplaçant
par le nom d'hôte de votre serveur Web) . Si vous avez tout fait correctement jusqu'à présent, vous devriez être accueilli par l'assistant de configuration de Craft.
Étape 7 - Terminez la configuration de Craft CMS
Après avoir ouvert votre URL d'installation, la page comme ci-dessous devrait apparaître. Cliquez sur le bouton \Installer Craft\ :

Acceptez la licence en cliquant sur le bouton \Je l'ai\ :

Remplissez les détails de la base de données et cliquez sur le bouton \Suivant\ :

Créez un compte Craft et cliquez sur le bouton \Suivant\:

Configurez votre site et cliquez sur le bouton \Terminer\:

Après cela, vous devriez être redirigé vers la page d'administration de Craft :

Liens
- https://craftcms.com/
- https://github.com/nystudio107/nginx-craft