Comment installer Anchor CMS sur Fedora 29
Anchor est un CMS de blog open source léger écrit en PHP. Le code source d’Anchor est hébergé sur GitHub. Dans ce tutoriel, nous allons installer le CMS Anchor en utilisant PHP, Nginx, MariaDB et Composer sur le système Fedora 29.
Configuration requise
Assure-toi que ton système répond aux exigences suivantes.
- MySQL 5.6 ou supérieur (MySQL 5.7 recommandé).
- PHP 5.6 ou plus avec les extensions PHP suivantes : (
curl,
mcrypt,
gd,
mbstring,
pdo_mysql
oupdo_sqlite
). - Apache ou Nginx. Dans ce tutoriel, nous utiliserons Nginx.
Conditions préalables
- Système d’exploitation Fedora 29.
- Un utilisateurnon-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 check-upgrade || 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 vim wget curl git socat unzip bash-completion
Étape 1 – Installer PHP
Le CMS d’Anchor nécessite PHP version 5.6 ou supérieure.
Installe PHP, ainsi que les extensions PHP nécessaires :
sudo dnf install -y php-cli php-fpm php-common php-mbstring php-curl php-mysql php-sqlite3 php-gd php-mcrypt php-dom
Pour afficher PHP compilé dans des modules, tu peux exécuter :
php -m
ctype
curl
exif
fileinfo
. . .
. . .
Vérifier la version de PHP :
php --version
# PHP 7.2.12 (cli) (built: Nov 11 2018 14:54:16) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
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 pour le CMS Anchor
Anchor prend en charge les bases de données MySQL/MariaDB et SQLite. Dans ce tutoriel, nous utiliserons MariaDBcomme serveur de base de données.
Installe MariaDB :
sudo dnf install -y mariadb-server
Vérifie la version de MariaDB :
mysql --version
# mysql Ver 15.1 Distrib 10.2.19-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écute le script mysql_secure installation
pour améliorer la sécurité de MariaDB et définir le mot de passe de l’utilisateur MariaDBroot
:
sudo mysql_secure_installation
Réponds à toutes les questions comme indiqué ci-dessous :
Enter current password for root (enter for none):
Set root password? [Y/n]: Y
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 :
mysql -u root -p
# Enter password
Crée une base de données et un utilisateur MariaDB que tu utiliseras pour ton installation d'Anchor CMS, et retiens les informations d'identification :
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
Quitte le shell MariaDB :
quit
Remplacedbname
,username
etpassword
avec tes propres noms.
Étape 3 - Installe le client Acme.sh et 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 su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install --accountemail [email protected]
source ~/.bashrc
cd ~
Vérifie la version d'acme.sh :
acme.sh --version
# v2.8.1
Obtiens des certificats RSA et ECC/ECDSA pour ton domaine/nom d'hôte :
# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256
Si tu veux de faux certificats pour les tester, tu peux ajouter le drapeau --staging
aux commandes ci-dessus.
Après avoir exécuté les commandes ci-dessus, tes certificats et tes clés seront dans :
- Pour RSA:
/home/username/example.com
répertoire. - Pour ECC/ECDSA:
/home/username/example.com_ecc
répertoire.
Pour répertorier tes certs émis, tu peux exécuter :
acme.sh --list
Crée un répertoire pour stocker tes certs. Nous utiliserons le répertoire /etc/letsencrypt
.
mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc
Installe/copie les certificats dans le répertoire /etc/letsencrypt
Répertoire.
# RSA
acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"
# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"
Tous les certificats seront automatiquement renouvelés tous les 60 jours.
Après avoir obtenu les certificats, quitte l'utilisateur root et retourne à l'utilisateur normal sudo :
exit
Étape 4 - Installer et configurer 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
Exécut e sudo vim /etc/nginx/conf.d/anchor.conf
et remplis le fichier avec la configuration suivante :
server { listen 80;
listen 443 ssl;
ssl_certificate /etc/letsencrypt/status.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/status.example.com/private.key;
ssl_certificate /etc/letsencrypt/status.example.com_ecc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/status.example.com_ecc/private.key; server_name example.com; root /var/www/anchor; index index.php index.html; location / { try_files $uri $uri/ /index.php; } location ~ \.php$ { try_files $uri =404; include fastcgi_params; fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
Teste la configuration de NGINX:
sudo nginx -t
Recharge NGINX:
sudo systemctl reload nginx.service
Étape 5 - Télécharger et installer Composer
Pour réussir à installer Anchor, nous devons installer Composer, le gestionnaire de dépendances pour les applications PHP :
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
Étape 6 - Télécharge et installe Anchor CMS
Crée un répertoire racine de document dans lequel Anchor doit résider :
sudo mkdir -p /var/www/anchor
Change la propriété du répertoire /var/www/limesurvey
à {jour_user}:
sudo chown -R {your_user}:{your_user} /var/www/anchor
NOTE:Remplace {jour_user}
par ton nom d'utilisateur non-root créé initialement.
Navigue dans le répertoire racine du document :
cd /var/www/anchor
Télécharge la dernière version d'Anchor CMS en utilisant Composer :
composer create-project anchorcms/anchor-cms .
Change la propriété du répertoire /var/www/anchor
en nginx:
sudo chown -R nginx:nginx /var/www/anchor
Crée le répertoire/var/lib/php/session
et définit la propriété de nginx
.
sudo mkdir -p /var/lib/php/session && sudo chown -R nginx:nginx /var/lib/php
Exécute sudo vim /etc/php-fpm.d/www.conf
et configure l'utilisateur et le groupe à nginx
. Initialement, ils seront définis sur apache:
sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx
Redémarre le service PHP-FPM :
sudo systemctl restart php-fpm.service
Étape 7 - Termine la configuration du CMS d'Anchor
Ouvre ton navigateur Web et tape l'URL "http://example.com". Tu seras redirigé vers la page suivante :
Clique sur le bouton"Exécuter le programme d'installation " , pour lancer le programme d'installation Web d'Anchor CMS. Ensuite, la page de la langue et du fuseau horaire devrait apparaître :
Sélectionne les paramètres que tu veux et clique sur le bouton"Étape suivante " pour passer à la page de configuration de la base de données :
Saisis les détails de ta base de données, et clique sur le bouton"Étape suivante " pour passer à la page de configuration des métadonnées du site :
Tu peux définir le nom ou la description du site ici, ou laisser les valeurs par défaut et les modifier plus tard via l'interface backend d'Anchor. Clique sur le bouton"Étape suivante " pour l'étape suivante qui est la configuration de ton premier compte :
Après avoir configuré ton premier compte, clique sur le bouton"Complete " pour terminer le processus d'installation.
Une fois que tu as terminé l'installation, assure-toi de supprimer le dossierinstall
par mesure de sécurité.
sudo rm -rf /var/www/anchor/install