GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer ElkArte Forum avec Apache et Lets 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 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.


Cent OS
  1. Comment installer WonderCMS avec Nginx et Lets Encrypt SSL sur CentOS 7

  2. Comment installer WordPress avec Nginx et Lets Encrypt SSL sur CentOS 8

  3. Comment installer ElkArte Forum avec Apache et Lets Encrypt sur Debian 10

  4. Comment installer DokuWiki avec Nginx et chiffrer SSL sur CentOS 8

  5. Comment installer Flarum Forum avec Nginx et LE SSL sur CentOS 8

Comment installer Drupal avec Apache et Lets Encrypt SSL sur Debian 11

Installez TaskBoard avec Apache et laissez Encrypt SSL sur Debian 11

Comment installer SuiteCRM avec Apache et Lets Encrypt SSL gratuit sur Debian 11

Comment installer InvoicePlane avec Apache et Free Lets Encrypt SSL Certificate sur Debian 11

Comment installer Lighttpd avec PHP, MariaDB et Lets Encrypt SSL sur Debian 10

Comment installer Let's Encrypt SSL avec Apache sur CentOS 7