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 : (curlmcrypt,gd,mbstring,pdo_mysql ou pdo_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,usernameetpasswordavec 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 --stagingaux 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/letsencryptRé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.confet 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 :

Installateur web du CMS Anchor

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 la langue et le fuseau horaire

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 :

Paramètres 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 :

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 :

Créer compte administrateur

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

Liens

Vous aimerez aussi...