Comment installer ElkArte Forum avec Apache et Let’s Encrypt SSL sur CentOS 8

ElkArte est un logiciel de forum gratuit et open-source basé sur Simple Machine Forum. Il est écrit en PHP et utilise MariaDB comme base de données. Il offre toutes les fonctionnalités nécessaires pour créer un forum communautaire complet. Il est simple, léger et utilise des thèmes réactifs qui conviennent à tout navigateur moderne, smartphone ou tablette.

Caractéristiques

  • Interface simple et conviviale
  • Gestionnaire de modules complémentaires personnalisable et intégré
  • Fonctionnalité anti-spam améliorée
  • Glisse et dépose les pièces jointes des fichiers
  • Incorporation de vidéos intégrée pour youtube, vimeo et dailymotion

Dans ce tutoriel, nous allons te montrer comment installer ElkArte avec Let’s Encrypt SSL sur CentOS 8.

Conditions préalables

  • Un serveur fonctionnant sous CentOS 8.
  • Un nom de domaine valide pointé avec l’IP de ton serveur.
  • Un mot de passe root est configuré sur le serveur.

Installer le serveur LAMP

Tout d’abord, tu dois installer Apache, MariaDB, PHP et d’autres extensions dans ton système. Tu peux tous les installer en exécutant la commande suivante :

dnf install httpd mariadb-server php php-common php-json php-curl php-intl php-mbstring php-xmlrpc php-mysqlnd php-gd php-pgsql php-xml php-cli php-bcmath php-gmp php-zip unzip -y

Une fois que tous les paquets sont installés, édite le fichier php.ini et apporte les modifications souhaitées :

nano /etc/php.ini

Change les valeurs suivantes :

memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = America/Chicago

Enregistre et ferme le fichier puis démarre le service Apache et MariaDB et active leur démarrage au redémarrage du système avec la commande suivante :

systemctl start httpd
systemctl start mariadb
systemctl enable httpd
systemctl enable mariadb

Une fois que tu as terminé, tu peux passer à l’étape suivante.

Configurer MariaDB

Par défaut, le mot de passe de la racine de MariaDB n’est pas défini. Tu devras donc le définir dans ton système. Tu peux le faire en exécutant le script suivant :

mysql_secure_installation

Réponds à toutes les questions comme indiqué ci-dessous pour définir le mot de passe root :

Enter current password for root (enter for none):
OK, successfully used password, moving on...
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

Une fois que le système MariaDB est sécurisé, connecte-toi au shell MariaDB avec la commande suivante :

mysql -u root -p

Indique ton mot de passe root à l’invite puis crée une base de données et un utilisateur avec la commande suivante :

MariaDB [(none)]> CREATE DATABASE elkarte;
MariaDB [(none)]> CREATE USER 'elkarte'@'localhost' IDENTIFIED BY 'password';

Ensuite, accorde tous les privilèges à la base de données ElkArte avec la commande suivante :

MariaDB [(none)]> GRANT ALL ON elkarte.* TO 'elkarte'@'localhost' WITH GRANT OPTION;

Ensuite, vide les privilèges et quitte le shell MariaDB avec la commande suivante: :

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Une fois que tu as terminé, tu peux passer à l’étape suivante.

Télécharge ElkArte

Tout d’abord, tu dois télécharger la dernière version d’ElkArte depuis le dépôt Git. Tu peux la télécharger avec la commande suivante :

wget https://github.com/elkarte/Elkarte/archive/master.zip

Une fois téléchargé, décompresse le fichier téléchargé avec la commande suivante :

unzip master.zip

Ensuite, déplace le répertoire extrait dans le répertoire racine d’Apache avec la commande suivante :

mv Elkarte-master /var/www/html/elkarte

Ensuite, modifie la propriété et les autorisations avec la commande suivante :

chown -R apache:apache /var/www/html/elkarte
chmod -R 775 /var/www/html/elkarte

Une fois que tu as terminé, tu peux passer à l’étape suivante.

Configurer Apache pour ElkArte

Ensuite, tu devras créer un fichier de configuration d’hôte virtuel Apache pour ElkArte. Tu peux le créer avec la commande suivante :

nano /etc/httpd/conf.d/elkarte.conf

Ajoute les lignes suivantes :

<VirtualHost *:80>
     ServerAdmin [email protected]
     DocumentRoot /var/www/html/elkarte
     ServerName elk.example.com

     <Directory /var/www/html/elkarte/>
          Options FollowSymlinks
          AllowOverride All
          Require all granted
     </Directory>

     ErrorLog /var/log/httpd/error.log
     CustomLog /var/log/httpd//access.log combined

</VirtualHost>
systemctl restart httpd

À ce stade, le serveur Web Apache est configuré pour servir ElkArte. Tu peux maintenant passer à l’étape suivante.

Configurer Selinux et le pare-feu

Par défaut, SELinux est activé dans CentOS 8. Tu devras donc le configurer pour ton site Web ElkArte.

Tu peux configurer SELinux à l’aide de la commande suivante :

setsebool httpd_can_network_connect on -P
chcon -R -u system_u -t httpd_sys_rw_content_t -r object_r /var/www/html/elkarte

Ensuite, autorise les ports 80 et 443 à travers le pare-feu avec la commande suivante :

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

Une fois que tu as terminé, tu peux passer à l’étape suivante.

Accède à ElkArte

Maintenant, ouvre ton navigateur Web et accède à ElkArte en utilisant l’URL http://elk.example.com. Tu seras redirigé vers la page suivante :

ElkArte installateur

Clique sur le bouton Continuer pour lancer l’installation. Tu devrais voir la page suivante :

Paramètres de la base de données

Indique les détails de ta base de données et clique sur le bouton Continuer. Tu devrais voir la page suivante :

Paramètres du forum

Indique le nom de ton forum, l’URL et clique sur le bouton Continuer. Tu devrais voir la page suivante :

Remplir la base de données

Maintenant, clique sur le bouton Continuer pour remplir la base de données. Tu devrais voir la page suivante :

Créer compte administrateur

Indique ton nom d’utilisateur admin, ton mot de passe, ton e-mail et clique sur le bouton Continuer. Tu devrais voir la page suivante :

Finaliser l'installation

Clique sur le bouton de ton forum nouvellement installé. Tu devrais voir la page suivante :

Va sur le front-end du forum

Indique ton nom d’utilisateur admin, ton mot de passe et clique sur le bouton Se connecter. Tu devrais voir le tableau de bord d’ElkArte sur la page suivante :

ElkArte Forum

Sécurise Elkarte avec Let’s Encrypt SSL

À ce stade, ElkArte est installé et configuré. Ensuite, il est recommandé de sécuriser ton site ElkArte avec Let’s Encrypt SSL. Tout d’abord, tu dois installer le client Certbot sur ton système. Le Certbot est un client Let’s Encrypt qui peut être utilisé pour télécharger le SSL du site Web de Let’s Encrypt et configurer le serveur Web Apache pour utiliser le SSL téléchargé.

Tu peux installer le Certbot avec la commande suivante :

wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto

Maintenant, exécute la commande suivante pour obtenir et installer un certificat SSL pour ton site Web ElkArte.

certbot-auto --apache -d elk.example.com

La commande ci-dessus va d’abord installer toutes les dépendances requises sur ton serveur. Une fois installé, il te sera demandé de fournir une adresse e-mail et d’accepter les conditions de service comme indiqué ci-dessous :

Remarque : Si tu obtiens une erreur liée à SSL, redémarre le service httpd et exécute à nouveau la commande ci-dessus.

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

Obtaining a new certificate
Performing the following challenges:
http-01 challenge for elk.example.com
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/httpd/conf.d/elkarte-le-ssl.conf
Deploying Certificate to VirtualHost /etc/httpd/conf.d/elkarte-le-ssl.conf

Ensuite, choisis de rediriger ou non le trafic HTTP vers HTTPS, en supprimant l’accès HTTP.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Tape 2 et appuie sur Entrée pour lancer le processus d’installation. Une fois l’installation terminée avec succès, tu devrais obtenir la sortie suivante :

Redirecting vhost in /etc/httpd/conf.d/elkarte.conf to ssl vhost in /etc/httpd/conf.d/elkarte-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://elk.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=elk.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/elk.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/elk.example.com/privkey.pem
   Your cert will expire on 2020-05-10. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot-auto
   again with the "certonly" option. To non-interactively renew *all*
   of your certificates, run "certbot-auto renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Tu peux maintenant accéder à ton ElkArte en toute sécurité en utilisant l’URL https://elk.example.com.

Conclusion

Félicitations ! Tu as réussi à installer ElkArte avec Apache et Let’s Encrypt SSL sur CentOS 8. Tu peux maintenant commencer à créer ton propre forum en ligne. N’hésite pas à me demander si tu as des questions.

Vous aimerez aussi...