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

Comment installer Vanila Forum et le sécuriser avec Lets Encrypt sur CentOS 8

Vanilla est un logiciel de forum communautaire gratuit, open source et flexible qui peut être utilisé pour créer votre propre site de forum. Il s'agit d'une solution de forum légère et multilingue qui vous aide à créer une communauté en ligne en quelques minutes. Il est écrit en PHP et est livré avec de nombreux add-ons et thèmes. Il regorge de fonctionnalités haut de gamme et est utilisé par les plus grandes marques pour engager les clients, les fidéliser et réduire les coûts d'assistance.

Dans ce tutoriel, nous allons apprendre à installer le forum Vanilla sur CentOS 8 et à le sécuriser avec Let's Encrypt SSL.

Prérequis

  • Un serveur exécutant CentOS 8.
  • Un mot de passe root est configuré sur votre serveur.

Installer le serveur LEMP

Tout d'abord, vous devrez installer le serveur Web Nginx, le serveur de base de données MariaDB, PHP et les autres extensions PHP requises sur votre système. Vous pouvez exécuter la commande suivante pour tous les installer :

dnf install nginx mariadb-server php php php-mysqlnd php-opcache php-xml php-xmlrpc php-gd php-mbstring php-json php-fpm php-curl php-pear php-openssl php-intl unzip -y

Après avoir installé tous les packages, démarrez les services Nginx, PHP-FPM et MariaDB et autorisez-les à démarrer après le redémarrage du système avec la commande suivante :

systemctl start nginx
systemctl start php-fpm
systemctl start mariadb
systemctl enable nginx
systemctl enable php-fpm
systemctl enable mariadb

Configurer la base de données MariaDB

Avant de commencer, c'est une bonne idée de sécuriser votre MariaDB. Vous pouvez le sécuriser avec le script suivant :

mysql_secure_installation

Répondez à toutes les questions comme indiqué ci-dessous :

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

Après avoir sécurisé MariaDB, connectez-vous au shell MariaDB avec la commande suivante :

mysql -u root -p

Fournissez votre mot de passe root MariaDB et créez une base de données et un utilisateur pour Vanilla avec la commande suivante :

MariaDB [(none)]> CREATE DATABASE vanilladb CHARACTER SET utf8 COLLATE utf8_general_ci;
MariaDB [(none)]> CREATE USER 'vanilla'@'localhost' IDENTIFIED BY 'password';

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

MariaDB [(none)]> GRANT ALL PRIVILEGES ON vanilladb.* TO 'vanilla'@'localhost';

Ensuite, videz les privilèges et quittez le shell MariaDB avec la commande suivante :

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

Télécharger le forum Vanille

Vous pouvez télécharger la dernière version stable du forum Vanilla depuis son site officiel avec la commande suivante :

wget https://open.vanillaforums.com/get/vanilla-core-3.3.zip

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

unzip vanilla-core-3.3.zip

Ensuite, déplacez le répertoire extrait vers le répertoire racine Web de Nginx avec la commande suivante :

mv package /var/www/html/vanilla

Ensuite, changez la propriété du répertoire vanilla en Nginx :

chown -R nginx:nginx /var/www/html/vanilla

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Configurer le pool PHP-FPM

Par défaut, PHP-FPM est configuré pour Apache. Ici, nous utiliserons Nginx comme serveur Web. Vous devrez donc configurer PHP-FPM pour Nginx. Vous pouvez le faire en éditant le fichier /etc/php-fpm.d/www.conf :

nano /etc/php-fpm.d/www.conf

Modifiez les lignes suivantes :

user = nginx
group = nginx

Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, créez un répertoire de session pour PHP et changez son propriétaire :

mkdir -p /var/lib/php/session
chown -R nginx:nginx /var/lib/php/session

Ensuite, redémarrez le service PHP-FPM pour appliquer les modifications :

systemctl restart php-fpm

Configurer Nginx pour Vanilla

Ensuite, créez un nouveau fichier d'hôte virtuel Nginx pour servir le forum Vanilla.

nano /etc/nginx/conf.d/vanilla.conf

Ajoutez les lignes suivantes :

server {

  listen 80;
  server_name vanilla.linuxbuz.com;
  root /var/www/html/vanilla;
  index index.php;

  location ~* /\.git { deny all; return 403; }
  location /build/ { deny all; return 403; }
  location /cache/ { deny all; return 403; }
  location /cgi-bin/ { deny all; return 403; }
  location /uploads/import/ { deny all; return 403; }
  location /conf/ { deny all; return 403; }
  location /tests/ { deny all; return 403; }
  location /vendor/ { deny all; return 403; }

  location ~* ^/index\.php(/|$) {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    try_files $fastcgi_script_name =404;
    set $path_info $fastcgi_path_info;
    fastcgi_param PATH_INFO $path_info;
    fastcgi_index index.php;
    include fastcgi.conf;
    fastcgi_param SCRIPT_NAME /index.php;
    fastcgi_param SCRIPT_FILENAME $realpath_root/index.php;
    fastcgi_param X_REWRITE 1;
    fastcgi_pass unix:/var/run/php-fpm/www.sock;
  }

  location ~* \.php(/|$) {
    rewrite ^ /index.php$uri last;
  }
  location / {
    try_files $uri $uri/ @vanilla;
  }

  location @vanilla {
    rewrite ^ /index.php$uri last;
  }

}

Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, redémarrez le service Nginx pour appliquer les modifications :

systemctl restart nginx

Sécuriser Vanilla avec Let's Encrypt SSL

Ensuite, vous devrez installer l'utilitaire Certbot sur votre système pour télécharger et installer Let's Encrypt SSL pour votre site Web Vanilla.

Vous pouvez installer le client 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

Ensuite, obtenez et installez un certificat SSL pour votre site Web Vanilla avec la commande suivante :

certbot-auto --nginx -d vanilla.linuxbuz.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 :

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
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 vanilla.linuxbuz.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/vanilla.conf

Sélectionnez si vous souhaitez rediriger le trafic HTTP vers HTTPS ou non, comme indiqué ci-dessous :

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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 continuer. Une fois l'installation terminée avec succès, vous devriez obtenir le résultat suivant :

Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/vanilla.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://vanilla.linuxbuz.com

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

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/vanilla.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/vanilla.linuxbuz.com/privkey.pem
   Your cert will expire on 2020-06-11. 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"
 - 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

Configurer SELinux et le pare-feu

Par défaut, SELinux est activé dans CentOS 8. Vous devrez donc le configurer pour votre site Web de forum Vanilla.

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/vanilla

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 au forum Vanilla

Ouvrez votre navigateur Web et visitez l'URL https://vanilla.linuxbuz.com. Vous serez redirigé vers la page suivante :

Fournissez les détails de votre base de données, le titre de l'application, l'adresse e-mail, le nom d'utilisateur de l'administrateur, le mot de passe et cliquez sur Continuer bouton. Une fois l'installation terminée, vous devriez voir le tableau de bord Vanilla sur la page suivante :

Conclusion

Toutes nos félicitations! vous avez installé avec succès le forum Vanilla sur CentOS 8 avec Let's Encrypt SSL. Vous pouvez désormais héberger facilement votre propre site Web de forum communautaire. N'hésitez pas à me demander si vous avez des questions.


Cent OS
  1. Sécurisez Nginx avec Lets Encrypt sur CentOS 7

  2. Comment installer ownCloud 9.1 avec Nginx et MariaDB sur CentOS 7

  3. Comment installer WordPress avec HHVM et Nginx sur CentOS 7

  4. Comment installer OwnCloud 8 avec Nginx et MariaDB sur CentOS 7

  5. Comment installer Shopware avec NGINX et Lets Encrypt sur CentOS 7

Comment installer Drupal avec Nginx et Lets Encrypt SSL sur Ubuntu 20.04 LTS

Comment installer Shopware 6 avec Nginx et Lets Encrypt SSL sur Ubuntu 20.04

Comment installer ElkArte Forum avec Apache et Lets Encrypt SSL sur CentOS 8

Comment installer Shopware 6 avec NGINX et Lets Encrypt sur CentOS 8

Comment installer MyBB Forum avec Nginx et Lets Encrypt sur Debian 10

Comment installer Vanila Forum sur CentOS 8