ElkArte est un logiciel de forum gratuit et open-source basé sur Simple Machine Forum. Il est écrit en PHP et utilise MariaDB comme backend de base de données. Il fournit 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 adaptés à tout navigateur, smartphone ou tablette moderne.
Caractéristiques
- Interface simple et conviviale
- Gestionnaire de modules complémentaires personnalisable et intégré
- Fonctionnalité anti-spam améliorée
- Glisser et déposer les pièces jointes
- Intégration vidéo intégrée pour youtube, vimeo et dailymotion
Dans ce tutoriel, nous allons vous montrer comment installer ElkArte avec Let's Encrypt SSL sur CentOS 8.
Prérequis
- Un serveur exécutant CentOS 8.
- Un nom de domaine valide pointé vers l'adresse IP de votre serveur.
- Un mot de passe root est configuré sur le serveur.
Installer le serveur LAMP
Tout d'abord, vous devrez installer Apache, MariaDB, PHP et d'autres extensions sur votre système. Vous pouvez 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 tous les packages installés, modifiez le fichier php.ini et apportez les modifications souhaitées :
nano /etc/php.ini
Modifiez les valeurs suivantes :
memory_limit = 256M upload_max_filesize = 100M max_execution_time = 360 date.timezone = America/Chicago
Enregistrez et fermez le fichier puis démarrez le service Apache et MariaDB et autorisez-les à démarrer 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 vous avez terminé, vous pouvez passer à l'étape suivante.
Configurer MariaDB
Par défaut, le mot de passe root de MariaDB n'est pas défini. Vous devrez donc le configurer dans votre système. Vous pouvez le faire en exécutant le script suivant :
mysql_secure_installation
Répondez à 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 MariaDB sécurisée, connectez-vous au shell MariaDB avec la commande suivante :
mysql -u root -p
Fournissez votre mot de passe root lorsque vous y êtes invité, puis créez 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, accordez 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, videz les privilèges et quittez le shell MariaDB avec la commande suivante :
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Télécharger ElkArte
Tout d'abord, vous devrez télécharger la dernière version d'ElkArte à partir du référentiel Git. Vous pouvez le télécharger avec la commande suivante :
wget https://github.com/elkarte/Elkarte/archive/master.zip
Une fois téléchargé, décompressez le fichier téléchargé avec la commande suivante :
unzip master.zip
Ensuite, déplacez le répertoire extrait vers le répertoire racine d'Apache avec la commande suivante :
mv Elkarte-master /var/www/html/elkarte
Ensuite, modifiez 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 vous avez terminé, vous pouvez passer à l'étape suivante.
Configurer Apache pour ElkArte
Ensuite, vous devrez créer un fichier de configuration d'hôte virtuel apache pour ElkArte. Vous pouvez le créer avec la commande suivante :
nano /etc/httpd/conf.d/elkarte.conf
Ajoutez 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. Vous pouvez maintenant passer à l'étape suivante.
Configurer Selinux et le pare-feu
Par défaut, SELinux est activé dans CentOS 8. Vous devrez donc le configurer pour votre site Web ElkArte.
Vous pouvez configurer le SELinux avec 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, autorisez les ports 80 et 443 à traverser 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 vous avez terminé, vous pouvez passer à l'étape suivante.
Accéder à ElkArte
Maintenant, ouvrez votre navigateur Web et accédez à ElkArte en utilisant l'URL http://elk.example.com . Vous serez redirigé vers la page suivante :
Cliquez sur Continuer bouton pour lancer l'installation. Vous devriez voir la page suivante :
Fournissez les détails de votre base de données et cliquez sur Continuer bouton. Vous devriez voir la page suivante :
Indiquez le nom de votre forum, l'URL et cliquez sur Continuer bouton. Vous devriez voir la page suivante :
Maintenant, cliquez sur Continuer bouton pour remplir la base de données. Vous devriez voir la page suivante :
Fournissez votre nom d'utilisateur administrateur, votre mot de passe, votre adresse e-mail et cliquez sur Continuer bouton. Vous devriez voir la page suivante :
Cliquez sur votre forum nouvellement installé bouton. Vous devriez voir la page suivante :
Indiquez votre nom d'utilisateur et votre mot de passe d'administrateur et cliquez sur Journal dans bouton. Vous devriez voir le tableau de bord ElkArte sur la page suivante :
Sécuriser Elkarte avec Let's Encrypt SSL
À ce stade, ElkArte est installé et configuré. Ensuite, il est recommandé de sécuriser votre site ElkArte avec Let's Encrypt SSL. Tout d'abord, vous devrez installer le client Certbot sur votre système. Le Certbot est un client Let's Encrypt qui peut être utilisé pour télécharger le SSL à partir du site Web Let's Encrypt et configurer le serveur Web Apache pour utiliser le SSL téléchargé.
Vous pouvez 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écutez la commande suivante pour obtenir et installer un certificat SSL pour votre site Web ElkArte.
certbot-auto --apache -d elk.example.com
La commande ci-dessus installera d'abord toutes les dépendances requises sur votre serveur. Une fois installé, il vous sera demandé de fournir une adresse e-mail et d'accepter les conditions d'utilisation comme indiqué ci-dessous :
Remarque :Si vous rencontrez une erreur liée à SSL, redémarrez le service httpd et exécutez à 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, choisissez 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
Tapez 2 et appuyez sur Entrée pour démarrer le processus d'installation. Une fois l'installation terminée avec succès, vous devriez obtenir le résultat suivant :
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
Vous pouvez désormais accéder à votre ElkArte en toute sécurité à l'aide de l'URL https://elk.example.com.
Conclusion
Toutes nos félicitations! vous avez installé avec succès ElkArte avec Apache et Let's Encrypt SSL sur CentOS 8. Vous pouvez maintenant commencer à créer votre propre forum en ligne. N'hésitez pas à me demander si vous avez des questions.