Comment installer le CMS Textpattern avec Nginx sur Debian 10

Textpattern est un système de gestion de contenu PHP gratuit et open-source. Il est plutôt léger, rapide et facile à utiliser tout en offrant une personnalisation décente grâce à des thèmes et des plugins. Dans ce guide, nous allons installer Textpattern sur une instance fraîche de Debian 10.

Exigences

  • Un système Debian 10 frais sur lequel tu as accès à l’utilisateur root ou à tout utilisateur ayant les privilèges sudo.
  • Un nom de domaine enregistré pointant vers ton serveur.

Si tu es connecté en tant qu’utilisateur sudo, passe en tant que root pour cette configuration :

sudo su -

Définis la variable d’environnement $VISUAL sur un éditeur de texte de ta préférence. Par exemple, pour utiliser nano :

echo "export VISUAL=nano" >> ~/.profile
. ~/.profile

Étape 1 : Installer les logiciels requis.

Mets à jour le cache des paquets sur ton système :

apt update

Puis installe Nginx, PHP-FPM, les extensions PHP requises, MariaDB et certbot :

apt install -y nginx mariadb-server php-fpm php-xml php-mysql php-json php-mbstring php-zip certbot

Assure-toi que les services Nginx et MariaDB sont activés et fonctionnent :

systemctl enable --now nginx.service mariadb.service

Étape 2 : Téléchargement de Textpattern

Copie le lien de téléchargement (au format .tar.gz) de la dernière version de textpattern à partir de leurs Releases sur Github et télécharge-le sur ton serveur avec wget comme suit :

wget https://github.com/textpattern/textpattern/releases/download/4.7.3/textpattern-4.7.3.tar.gz

Décompresse ensuite l’archive et déplace son contenu dans un emplacement situé dans le répertoire webroot :

tar -xzf textpattern*.tar.gz
rm textpattern*.tar.gz
mv textpattern* /var/www/html/textpattern

Étape 3 : Configuration de la base de données

Commence par exécuter le script mysql_secure_installation pour effectuer des améliorations de sécurité de base :

mysql_secure_installation

Réponds aux questions comme indiqué ci-dessous et assure-toi de choisir un mot de passe sécurisé pour l’utilisateur root :

Enter current password for root (enter for none): 
Set root password? [Y/n] y
New password: your_password
Re-enter new password: your_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

Ensuite, nous allons créer une base de données et un utilisateur qui seront utilisés par Textpattern. Connecte-toi au shell MySQL avec :

mysql -u root -p

Saisis ton mot de passe root, puis lance les instructions suivantes. Veille à remplacer textpattern_user_password par un mot de passe approprié.

MariaDB [(none)]> CREATE DATABASE textpattern_db;
MariaDB [(none)]> CREATE USER textpattern_user IDENTIFIED BY 'textpattern_user_password';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON textpattern_db.* TO textpattern_user;
MariaDB [(none)]> \q

Étape 4 : Configuration de Nginx

Tout d’abord, obtiens un certificat SSL pour ton domaine en exécutant la commande suivante :

certbot certonly --webroot --webroot-path /var/www/html -d "your_domain" -m "[email protected]"

En supposant que ton domaine est correctement configuré, certbot obtiendra automatiquement un certificat que nous utiliserons pour configurer HTTPS.

Ensuite, désactive le fichier de configuration du serveur Nginx par défaut :

rm /etc/nginx/sites-enabled/default

Puis ouvre un nouveau fichier de configuration sous /etc/nginx/sites-available:

$VISUAL /etc/nginx/sites-available/textpattern

Et entre la configuration sensible suivante, en remplaçant ton_domaine par ton nom de domaine :

server {
  listen 80;
  #replace your_domain below
  server_name your_domain;
  return 301 https://$server_name$request_uri;
}
server {
  listen 443 ssl;
  #replace your_domain below
  server_name your_domain;
  root /var/www/html/textpattern;
  index index.php;
  ssl on;
  #replace your_domain below
  ssl_certificate /etc/letsencrypt/live/your_domain/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/your_domain/privkey.pem;
  location ~* \.php$ {
    fastcgi_pass unix:/run/php/php7.3-fpm.sock;
    include         fastcgi_params;
    fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
    fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
  }
}

Note que cette configuration redirigera toutes les requêtes HTTP vers HTTPS. Tu voudras peut-être la modifier si tu as des préférences ou des exigences spécifiques. Une fois que tu en es satisfait, crée un lien symbolique dans le répertoire sites-enabled:

ln -s /etc/nginx/sites-available/textpattern /etc/nginx/sites-enabled/

Vérifie ensuite s’il y a des erreurs de syntaxe avec :

nginx -t

Enfin, lance la commande suivante pour charger la nouvelle configuration :

systemctl reload nginx.service

Étape 5 : Configuration de Textpattern

Ton installation Textpattern devrait maintenant être accessible mais n’est pas encore configurée. Accède à https://your_domain/textpattern/setup/ pour lancer le programme d’installation Web. Après avoir choisi une langue, entre les détails de la base de données :

  • Nom d’utilisateur MySQL : textpattern_user
  • Mot de passe MySQL : Entre le mot de passe choisi pour textpattern_user à l’étape 2.
  • Serveur MySQL : localhost
  • Base de données MySQL : textpattern_db
  • Préfixe de table : laisse vide

Le programme d’installation vérifiera les informations d’identification de la base de données saisies avant de générer la configuration correspondante. Crée le fichier requis :

$VISUAL /var/www/html/textpattern/textpattern/config.php

Colle la configuration générée, enregistre le fichier et quitte. Passe à l’étape suivante de l’installateur Web, où il te sera demandé d’entrer les informations pour le compte administrateur CMS et la configuration du site. Une fois que c’est fait, supprime le répertoire d’installation:

rm -rf /var/www/html/textpattern/textpattern/setup

Et donne à l’utilisateur système Nginx la propriété des répertoires auxquels Textpattern doit avoir accès en écriture :

chown -R www-data /var/www/html/textpattern/{files,images,themes}

Ton site Textpattern est maintenant prêt à être utilisé. L’interface d’administration est accessible à l’adresse https://your_domain/textpattern.

Plus d’informations

Vous aimerez aussi...