Comment installer Craft CMS sur Fedora 29

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 du CMS Craft sur un système frais Fedora 29 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 exécutant Fedora 29.
  • Un utilisateur non-root avec des privilèges sudo.

Étapes initiales

Vérifie la version de ton système Fedora :

cat /etc/fedora-release
# Fedora release 29 (Twenty Nine)

Configure le fuseau horaire :

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

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 dnf upgrade -y

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

sudo dnf install -y curl wget vim git sudo unzip socat bash-completion

Étape 1 – Installer PHP et les extensions PHP requises

Installe PHP, ainsi que les extensions PHP nécessaires :

sudo dnf install -y php-cli php-fpm php-common php-curl php-gd php-pecl-imagick php-json php-mbstring php-mysqlnd php-pgsql php-zip php-intl php-xml php-pdo

Pour afficher PHP compilé dans des modules, tu peux exécuter :

php -m

ctype
curl
exif
fileinfo
. . .
. . .

Vérifie la version de PHP :

php --version

# PHP 7.2.16 (cli) (built: Mar  5 2019 11:05:59) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

Exécutesudo vim /etc/php.iniet règlememory_limitsur au moins256MB:

memory_limit = 256M

Démarre et active le service PHP-FPM :

sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service

Nous pouvons passer à l'étape suivante, qui est l'installation et la configuration de la base de données.

Étape 2- Installe 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 MariaDB comme serveur de base de données.

Installe le serveur de base de données MariaDB :

sudo dnf install -y mariadb-server

Vérifie la version de MariaDB :

mysql --version
# mysql  Ver 15.1 Distrib 10.3.12-MariaDB, for Linux (x86_64) using readline 5.1

Démarre et active le service MariaDB :

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

Exécutemysql_secure installationscriptpour améliorer la sécurité de MariaDB et définir le mot de passe pour l'utilisateur MariaDBrootutilisateur :

sudo mysql_secure_installation

Réponds à chacune des questions :

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 MariaDB en tant qu'utilisateur root :

sudo mysql -u root -p
# Enter password

Crée une base de données MariaDB vide et un utilisateurpour Craft CMS et mémorise les informations d'identification :

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

Sors de MariaDB :

mariadb> exit

Remplacedbname,usernameetpasswordpar tes propres noms.

Étape 3 - Installe le clientacme.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. Afin d'obtenir un certificat TLS de Let's Encrypt, nous utiliserons 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 descertificats RSAet ECC/ECDSA pourton 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ésserontdans :

  • Pour RSA :/etc/letsencrypt/example.com répertoire.
  • Pour ECC/ECDSA:/etc/letsencrypt/example.com_ecc répertoire.

Étape 4 - Installer et configurer NGINX

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

Installe le serveur Web NGINX :

sudo dnf install -y nginx

Vérifie la version de NGINX :

nginx -v
# nginx version: nginx/1.14.2

Démarre et active le service NGINX :

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

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(/|$) {
include default.d/php.conf;
    try_files $uri $uri/ /index.php?$query_string;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/run/php-fpm/www.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 "";
  }

}

Remplace exemple.com par ton propre nom de domaine dans le fichier ci-dessus.

REMARQUE: Pour uneconfiguration Nginx complète et prête pour la production pour Craft, visitehttps://github.com/nystudio107/nginx-craft. La configuration est volontairement simplifiée pour qu'elle reste dense et simple.

Teste la configuration de NGINX :

sudo nginx -t

Recharge NGINX :

sudo systemctl reload nginx.service

Étape 5 - Installer 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') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { 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.4 2019-02-11 10:52:10

REMARQUE :Les commandes d'installation de Composer changeront à l'avenir, alors consultehttps://getcomposer.org/download/ pour connaître lescommandes les plus récentes si les commandes ci-dessus ne fonctionnent pas.

Étape 6 - Installe Craft CMS

Tu peux télécharger Craft CMS avec Composer ou en téléchargeant manuellement une archive.zipoutar.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/craftrépertoire à {votre_nom_d'utilisateur}.

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/var/www/craftrépertoire ànginx:

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

Exécutesudo vim /etc/php-fpm.d/www.confet configurel'utilisateur et le groupe ànginx. Au départ, ils seront définis surapache:

sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx

Créer/var/lib/php/session/et changer la propriété du répertoire ennginx.

sudo mkdir -p /var/lib/php/session && sudo chown -R nginx:nginx /var/lib/php/session

Redémarre le service PHP-FPM :

sudo systemctl restart php-fpm.service

Dans ton navigateur Web, va à l'adressehttp://<Hostname>/index.php?p=admin/install(en remplaçant<Hostname>par lenom 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

Vous aimerez aussi...