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. C'est un CMS sécurisé et évolutif avec un grand écosystème de plug-ins et le code source de Craft est hébergé sur GitHub. Ce tutoriel vous guidera tout au long de la procédure d'installation de Craft CMS sur un nouveau système Fedora 29 utilisant Nginx comme serveur Web et nous sécuriserons le site Web avec un certificat SSL Let's 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 disponible
Prérequis
- Un système d'exploitation exécutant Fedora 29.
- Un utilisateur non root avec des privilèges sudo.
Étapes initiales
Vérifiez la version de votre système Fedora :
cat /etc/fedora-release
# Fedora release 29 (Twenty Nine)
Configurez le fuseau horaire :
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
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 dnf upgrade -y
Installez certains packages essentiels 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
Installez 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é en modules, vous pouvez exécuter :
php -m
ctype
curl
exif
fileinfo
. . .
. . .
Vérifiez 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écutez sudo vim /etc/php.ini
et définissez memory_limit
à au moins 256MB
:
memory_limit = 256M
Démarrez et activez 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- Installez 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 MariaDB comme serveur de base de données.
Installez le serveur de base de données MariaDB :
sudo dnf install -y mariadb-server
Vérifiez la version de MariaDB :
mysql --version
# mysql Ver 15.1 Distrib 10.3.12-MariaDB, for Linux (x86_64) using readline 5.1
Démarrez et activez le service MariaDB :
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Exécutez l'mysql_secure installation
script pour améliorer la sécurité de MariaDB et définir le mot de passe pour MariaDB root
utilisateur :
sudo mysql_secure_installation
Répondez à 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
Connectez-vous au shell MariaDB en tant qu'utilisateur racine :
sudo mysql -u root -p
# Enter password
Créez une base de données MariaDB vide et un utilisateur pour Craft CMS et mémorisez les informations d'identification :
mariadb> CREATE DATABASE dbname;
mariadb> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mariadb> FLUSH PRIVILEGES;
Quitter MariaDB :
mariadb> exit
Remplacez dbname
, username
et password
avec vos propres noms.
Étape 3 – Installer acme.sh
client et obtenir le certificat Let's 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 Let's Encrypt, nous utiliserons le client Acme.sh. Acme.sh est un logiciel shell UNIX pur permettant d'obtenir des certificats TLS de Let's 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 [email protected]
cd ~
Vérifiez la version d'Acme.sh :
/etc/letsencrypt/acme.sh --version
# v2.8.0
Obtenir RSA et ECC/ECDSA certificats pour votre 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, vos certificats et les clés sera dans :
- 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 sélectionné Nginx.
Installez le serveur Web NGINX :
sudo dnf install -y nginx
Vérifiez la version de NGINX :
nginx -v
# nginx version: nginx/1.14.2
Démarrez et activez le service NGINX :
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
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(/|$) {
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 "";
}
}
Remplacez example.com par votre propre nom de domaine dans le fichier ci-dessus.
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.
Tester la configuration 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') === '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érifiez 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 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 un .zip
ou tar.gz
archive. 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
Changer le propriétaire du /var/www/craft
répertoire vers {votre_nom d'utilisateur}.
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 .
Changer le propriétaire du /var/www/craft
répertoire vers nginx:
sudo chown -R nginx:nginx /var/www/craft
Exécutez sudo vim /etc/php-fpm.d/www.conf
et définissez l'utilisateur et le groupe sur nginx
. Initialement, ils seront définis sur apache:
sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx
Créer /var/lib/php/session/
répertoire et changez la propriété en nginx
.
sudo mkdir -p /var/lib/php/session && sudo chown -R nginx:nginx /var/lib/php/session
Redémarrez le service PHP-FPM :
sudo systemctl restart php-fpm.service
Dans votre navigateur Web, accédez à http://<Hostname>/index.php?p=admin/install
(en remplaçant <Hostname>
avec 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 "Installer Craft" bouton :
Acceptez la licence en cliquant sur "Je l'ai" bouton :
Remplissez les détails de la base de données et cliquez sur "Suivant" bouton :
Créez un compte Craft et cliquez sur "Suivant" bouton :
Configurez votre site et cliquez sur "Terminer" bouton :
Après cela, vous devriez être redirigé vers la page d'administration de Craft :
Liens
- https://craftcms.com/
- https://github.com/craftcms/cms
- https://github.com/nystudio107/nginx-craft