Comment installer Craft CMS sur Ubuntu 18.04 LTS

Craft est un CMS open source écrit en PHP. Craft te permet de créer et de gérer facilement du contenu de qualité, et de concevoir et construire exactement ce dont tu as besoin. C’est un CMS sécurisé et évolutif avec un grand écosystème de plugins et le code source de Craft est hébergé sur GitHub. Ce tutoriel te guidera à travers la procédure d’installation de Craft CMS sur un serveur Ubuntu 18.04 LTS frais en utilisant Nginx comme serveur Web et nous sécuriserons le site Web avec un certificat SSL Let’s encrypt.

Exigences

Craft requiert les éléments suivants :

  • PHP version 7.0 ou supérieure avec les extensions PHP suivantes : (ctype, cURL, GD ou ImageMagick, iconv, JSON, Multibyte String, OpenSSL, PCRE, PDO MySQL Driver ou PDO PostgreSQL Driver, PDO, Reflection, SPL, Zip, Intl, DOM)
  • MySQL 5.5+ avec InnoDB, MariaDB 5.5+ ou PostgreSQL 9.5+.
  • Au moins 256MB de mémoire allouée à PHP
  • Au moins 200MB d’espace disque libre

Conditions préalables

  • Un système d’exploitation fonctionnant sous Ubuntu 18.04
  • Un utilisateur non-root avec des privilèges sudo.

Étapes initiales

Vérifie ta version d’Ubuntu :

lsb_release -ds
# Ubuntu 18.04.1 LTS

Configure le fuseau horaire :

sudo dpkg-reconfigure tzdata

Mets à jour les paquets (logiciels) de ton système d’exploitation. C’est une première étape importante car elle permet de s’assurer que tu disposes des dernières mises à jour et des derniers correctifs de sécurité pour les paquets logiciels par défaut de ton système d’exploitation :

sudo apt update && sudo apt upgrade -y

Installe certains paquets essentiels qui sont nécessaires à l’administration de base du système d’exploitation Ubuntu :

sudo apt install -y curl wget vim git unzip socat

Étape 1 – Installer PHP et les extensions PHP requises

Installe 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érifie 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écute sudo vim /etc/php/7.2/fpm/php.ini et règle memory_limit sur au moins 256MB:

memory_limit = 256M

Le service PHP-FPM est automatiquement lancé et activé au redémarrage sur le système Ubuntu 18.04, il n’est donc pas nécessaire de le lancer 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- Installe MySQL/MariaDB et crée 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.

Installe le serveur de base de données MySQL :

sudo apt install -y mysql-server

Vérifie la version de MySQL :

mysql --version
# mysql  Ver 14.14 Distrib 5.7.24, for Linux (x86_64) using  EditLine wrapper

Exécutemysql_secure installationscript pour améliorer la sécurité de MySQL et définir le mot de passe pour MySQLrootutilisateur :

sudo mysql_secure_installation

Réponds à 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

Connecte-toi au shell MySQL en tant qu'utilisateur root :

sudo mysql -u root -p
# Enter password

Crée une base de donnéesMySQL vide et un utilisateur pour Craft CMS et mémorise les informations d'identification :

mysql> CREATE DATABASE dbname;
mysql> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;

Quitte MySQL :

mysql> exit

Remplace dbname, username et password par tes propres noms.

Étape 3 - Installe leclientacme.shet obtiens le certificat Let's Encrypt (facultatif)

Il n'est pas nécessaire de sécuriser ton site Web avec HTTPS, mais c'est une bonne pratique pour sécuriser le trafic de ton site. Pour obtenir le certificat TLS de Let's Encrypt, nous allons utiliser le client Acme.sh. Acme.sh est un logiciel shell unix pur pour obtenir des certificats TLS de Let's Encrypt sans aucune dépendance.

Télécharge et installe 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 [email protected]
cd ~

Vérifie la version d'Acme.sh :

/etc/letsencrypt/acme.sh --version
# v2.8.0

Obtiens des certificats RSA etECC/ECDSApour ton domaine/nom d'hôte :

# 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, tescertificatsetclésseront dans :

  • PourRSA:/etc/letsencrypt/example.comrépertoire.
  • PourECC/ECDSA:/etc/letsencrypt/example.com_eccrépertoire.

Étape 4 - Installe et configure Nginx

Craft CMS peut fonctionner correctement avec de nombreux logiciels de serveur Web populaires. Dans ce tutoriel, nous avons choisi Nginx.

Télécharge et installe la dernière version mainline de Nginx depuis le dépôt officiel de Nginx.

Commence par télécharger la clé PGP du référentiel Nginx :

wget https://nginx.org/keys/nginx_signing.key

Ajoute la clé au trousseau de clés du programmeapt:

sudo apt-key add nginx_signing.key

Ajoute et configure le dépôt APT mainline 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

Mets à jour la liste des référentiels :

sudo apt update

Installe les derniers paquets Nginx mainline :

sudo apt install -y nginx nginx-module-geoip nginx-module-image-filter nginx-module-njs nginx-module-perl nginx-module-xslt

Démarre et active le service Nginx :

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

Vérifie la version de Nginx :

sudo nginx -v
# nginx version: nginx/1.15.8

Configure Nginx pour Craft CMS en exécutant :

sudo vim /etc/nginx/conf.d/craft.conf

Et remplis 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, visitehttps://github.com/nystudio107/nginx-craft.La configuration est intentionnellement simplifiée pour qu'elle reste dense et simple.

Ouvre le fichier nginx.conf et règle user sur www-data.

sudo vim /etc/nginx/nginx.conf
user www-data www-data;

Teste la configuration de Nginx :

sudo nginx -t

Recharge Nginx :

sudo systemctl reload nginx.service

Étape 5 - Installe Composer

Installe Composer, le gestionnaire de dépendances PHP de manière globale :

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érifie 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 consulte https://getcomposer.org/download/pour connaître les commandes les plus récentes si les commandes ci-dessus ne fonctionnent pas.

Étape 6 - Installe 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ée un répertoire racine de document dans lequel Craft CMS doit résider :

sudo mkdir -p /var/www/craft

Accède au répertoire racine du document :

cd /var/www/craft

Change la propriété du/var/www/craftpour pourde pour de pour dejohndoe.

sudo chown -R [your_username]:[your_username] /var/www/craft

Pour créer un nouveau projet Craft, exécute cette commande:

composer create-project craftcms/craft .

Change la propriété du répertoire/var/www/craftàwww-data:

sudo chown -R www-data:www-data /var/www/craft

Dans ton navigateur Web, va àhttp://<Hostname>/index.php?p=admin/install(en remplaçant<Hostname>par le nom d'hôte de ton serveur Web). Si tu as tout fait correctement jusqu'à présent, tu devrais être accueilli par l'assistant de configuration de Craft.

Étape 7 - Termine l'installation de Craft CMS

Après avoir ouvert ton URL d'installation, la page comme ci-dessous devrait apparaître. Clique sur le bouton"Installer Craft":

Lance l'installation de l'artisanat

Accepte la licence en cliquant sur le bouton"J'ai compris":

Accepte la licence

Remplis les détails de la base de données et clique sur le bouton"Suivant":

Connecte-toi à la base de données

Crée un compte Craft et clique sur le bouton "Suivant":

Créer un utilisateur

Configure ton site et clique sur le bouton "Terminer":

Ajoute des informations sur le site

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

Tableau de bord du CMS Craft

Liens

Vous aimerez aussi...