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

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

Flarum est un logiciel de forum gratuit, open-source et de nouvelle génération qui vous permet de démarrer et de développer plus facilement une communauté en ligne réussie. C'est un logiciel simple, léger, rapide et adapté aux mobiles basé sur PHP. Il est livré avec un riche ensemble de fonctionnalités, notamment une interface utilisateur élégante, une interface à deux volets, un défilement infini, un compositeur flottant, entièrement réactif et bien d'autres.

Dans ce tutoriel, nous allons vous expliquer comment installer le forum Flarum sur le serveur CentOS 8.

Exigences

  • Un serveur exécutant CentOS 8.
  • Un nom de domaine valide pointé vers l'IP de votre serveur
  • Un mot de passe root est configuré sur le serveur.

Mise en route

Avant de commencer, vous devrez installer EPEL et le référentiel Remi sur votre système. Tout d'abord, installez le référentiel EPEL avec la commande suivante :

dnf install epel-release -y

Ensuite, téléchargez et installez le référentiel Remi avec la commande suivante :

wget http://rpms.remirepo.net/enterprise/remi-release-8.rpm
rpm -Uvh remi-release-8.rpm

Installer Nginx, MariaDB et PHP

Tout d'abord, installez le serveur Web Nginx et le serveur MariaDB avec la commande suivante :

dnf installer nginx mariadb-server -y

Une fois les deux packages installés, vous devrez activer le module php:remi-7.3 pour installer PHP 7.3. Vous pouvez l'activer avec la commande suivante :

activer le module dnf php:remi-7.3

Ensuite, installez PHP avec les autres dépendances requises avec la commande suivante :

installation dnf php php-fpm php-common php-opcache php-pecl-apcu php-cli php-pear php-pdo php-mysqlnd php-pgsql php-pecl-mongodb php-pecl-redis php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml -y

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

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

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

Configurer la base de données MariaDB

Par défaut, MariaDB n'est pas sécurisée. Vous pouvez le sécuriser avec le script suivant :

mysql_secure_installation

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

Entrez le mot de passe actuel pour root (entrez pour aucun) :Set root password ? [O/n] YNouveau mot de passe :Saisir à nouveau le nouveau mot de passe :Supprimer les utilisateurs anonymes ? [O/n] YInterdire la connexion root à distance ? [O/n] Supprimer la base de données de test et y accéder ? [O/n] YRecharger les tables de privilèges maintenant ? [O/n] O

Une fois que vous avez terminé, 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 pour Flarum avec la commande suivante :

MariaDB [(aucun)]> CRÉER UNE BASE DE DONNÉES flarumdb ;
MariaDB [(aucun)]> ACCORDER TOUS LES PRIVILÈGES sur flarumdb.* à 'flarum'@'localhost' identifié par 'mot de passe' ;

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

MariaDB [(none)]> PRIVILÈGES FLUSH ;
MariaDB [(none)]> EXIT ;

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

Configurer PHP-FPM pour Nginx

Ensuite, vous devrez configurer PHP-FPM pour qu'il fonctionne avec Nginx. Vous pouvez le faire en éditant le fichier www.conf :

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

Changez le nom d'utilisateur et de groupe d'apache en nginx comme indiqué ci-dessous :

user =nginxgroup =nginxlisten.owner =nginxlisten.group =nginx

Ensuite, recherchez la ligne suivante :

;listen =/run/php-fpm/www.sock

Et remplacez-le par la ligne suivante :

écouter =127.0.0.1:9000

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

systemctl redémarrer php-fpm

Installer Flarum

Avant d'installer Flarum, vous devrez installer Composer sur votre système.

Vous pouvez l'installer avec la commande suivante :

curl -sS https://getcomposer.org/installer | php

Une fois installé, vous devriez obtenir le résultat suivant :

Tous les paramètres sont corrects pour utiliser ComposerDownloading...Composer (version 1.9.2) a été installé avec succès sur :/root/composer.pharUtilisez-le :php composer.phar

Ensuite, déplacez le fichier binaire Composer dans le répertoire /usr/local/bin et donnez les autorisations appropriées :

mv composer.phar /usr/local/bin/composer
chmod 755 /usr/local/bin/composer

Ensuite, changez le répertoire à la racine du document Nginx et créez un projet Flarum avec la commande suivante :

cd /var/www/html
composer create-project flarum/flarum . --stability=beta

Ensuite, donnez les autorisations appropriées sur le répertoire racine Web de Nginx avec la commande suivante :

chown -R nginx:nginx /var/www/html
chmod -R 755 /var/www/html
chown -R nginx:nginx /var/lib/php

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

Configurer Nginx pour Flarum

Ensuite, vous devrez créer un fichier de configuration d'hôte virtuel Nginx pour Nginx. Vous pouvez le créer avec la commande suivante :

nano /etc/nginx/conf.d/flarum.conf

Ajoutez les lignes suivantes :

serveur { écoute 80 ; server_name flarum.example.com;# notez que ces lignes proviennent à l'origine de la racine de bloc "location /" /var/www/html/public;index index.php index.html index.htm;location / { try_files $uri $uri/ /index.php?$query_string; }location /api { try_files $uri $uri/ /api.php?$query_string; }location /admin { try_files $uri $uri/ /admin.php?$query_string; }location /flarum { tout nier ; return 404;}emplacement ~ \.php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php ; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name ; inclure fastcgi_params ;}emplacement ~* \.html$ { expire -1 ;}emplacement ~* \.(css|js|gif|jpe?g|png)$ { expire 1M ; add_header Pragma public ; add_header Cache-Control "public, must-revalidate, proxy-revalidate" ;}gzip on ;gzip_http_version 1.1 ;gzip_vary on ;gzip_comp_level 6 ;gzip_proxied any ;gzip_types application/atom+xml application/javascript application/json application/vnd.ms- fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/svg+xml image/x-icon text/css #text/html -- text /html est gzippé par défaut par nginx text/plain text/xml;gzip_buffers 16 8k;gzip_disable "MSIE [1-6]\.(?!.*SV1)"; } 

Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, vous devrez augmenter la taille du hash_bucket dans le fichier nginx.conf.

Vous pouvez le faire en éditant le fichier /etc/nginx/nginx.conf :

nano /etc/nginx/nginx.conf

Ajoutez la ligne suivante exactement au-dessus de la dernière ligne :

server_names_hash_bucket_size 64 ;

Enregistrez et fermez le fichier. Ensuite, vérifiez Nginx pour toute erreur de syntaxe avec la commande suivante :

nginx -t

Vous devriez voir le résultat suivant :

nginx :la syntaxe du fichier de configuration /etc/nginx/nginx.conf est oknginx :le test du fichier de configuration /etc/nginx/nginx.conf est réussi

Enfin, redémarrez le service Nginx et PHP-FPM pour appliquer les modifications :

systemctl redémarrer php-fpm
systemctl redémarrer nginx

Configurer SELinux et le pare-feu

Tout d'abord, vous devrez créer une règle de pare-feu pour autoriser les services HTTP et HTTPS à partir de réseaux externes. Vous pouvez l'autoriser avec la commande suivante :

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

Par défaut, SELinux est activé dans CentOS 8. Vous devrez donc configurer SELinux pour que Flarum fonctionne correctement. Vous pouvez configurer SELinux à l'aide de la commande suivante :

setsebool httpd_can_network_connect sur -P

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

Accéder à l'interface Web de Flarum

Maintenant, ouvrez votre navigateur Web et tapez l'URL http://flarum.example.com. Vous serez redirigé vers la page suivante :

Indiquez le nom de votre forum, les détails de la base de données, le nom d'utilisateur de l'administrateur, le mot de passe et cliquez sur Installer Flarum bouton. Une fois l'installation terminée avec succès, vous devriez voir le tableau de bord Flarum sur la page suivante :

Sécuriser Flarum avec Let's Encrypt SSL

Flarum est maintenant installé et configuré. Il est temps de le sécuriser avec Let's Encrypt SSL gratuit.

Pour ce faire, vous devrez télécharger le client certbot sur votre serveur. Vous pouvez télécharger et définir l'autorisation appropriée en exécutant 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 flarum.

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

Enregistrement du journal de débogage dans /var/log/letsencrypt/letsencrypt.logPlugins sélectionnés :Authenticator apache, Installer apacheEntrez l'adresse e-mail (utilisée pour les renouvellements urgents et les avis de sécurité) (Entrez 'c' pour annuler) :[email protected]- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Veuillez lire les conditions d'utilisation sur https://letsencrypt.org /documents/LE-SA-v1.2-15-novembre-2017.pdf. Vous devez accepter afin de vous inscrire auprès du serveur ACME sur https://acme-v02.api.letsencrypt.org/directory- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(A)gree/(C)ancel:A- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Seriez-vous prêt à partager votre adresse e-mail avec l'Electronic FrontierFoundation, un partenaire fondateur du projet Let's Encrypt et l'organisation à but non lucratif qui développe Certbot ? Nous aimerions vous envoyer un e-mail sur notre travail de cryptage du Web, les actualités de l'EFF, les campagnes et les moyens de soutenir la liberté numérique.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(O)es/(N)o :O Obtention d'un nouveau certificatRéalisation des défis suivants :Challenge http-01 pour flarum.exemple.comEn attente de vérification... Nettoyage des défisDéploiement d'un certificat sur VirtualHost /etc/nginx/conf.d/flarum.conf

Ensuite, vous devrez choisir de rediriger ou non le trafic HTTP vers HTTPS comme indiqué ci-dessous :

Veuillez choisir de rediriger ou non le trafic HTTP vers HTTPS, en supprimant l'accès HTTP.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1 :Pas de redirection - N'apporter aucune autre modification à la configuration du serveur Web.2 :Redirection - Rediriger toutes les requêtes vers un accès HTTPS sécurisé. Choisissez ceci pour les nouveaux sites ou si vous êtes sûr que votre site fonctionne sur HTTPS. Vous pouvez annuler cette modification en modifiant la configuration de votre serveur Web.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Sélectionnez le numéro approprié [1-2] puis [enter] (appuyez sur 'c' pour annuler) :2

Tapez 2 et appuyez sur Entrée pour continuer. Une fois l'installation terminée, vous devriez voir la sortie suivante :

Redirection de tout le trafic sur le port 80 vers SSL dans /etc/nginx/conf.d/flarum.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Toutes nos félicitations! Vous avez activé avec succès https://flarum.example.comVous devriez tester votre configuration sur :https://www.ssllabs.com/ssltest/analyze.html?d=flarum.example.com- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - REMARQUES IMPORTANTES :- Félicitations ! Votre certificat et votre chaîne ont été enregistrés sur :/etc/letsencrypt/live/flarum.example.com/fullchain.pem Votre fichier de clé a été enregistré sur :/etc/letsencrypt/live/flarum.example.com/privkey.pem Votre cert expirera le 2020-03-23. Pour obtenir une nouvelle version ou une version modifiée de ce certificat à l'avenir, exécutez simplement certbot-auto à nouveau avec l'option "certonly". Pour renouveler *tous* vos certificats de manière non interactive, exécutez "certbot-auto refresh" - Si vous aimez Certbot, veuillez envisager de soutenir notre travail en :faisant un don à ISRG / Let's Encrypt :https://letsencrypt.org/donate FEP :https://eff.org/donate-le

C'est ça! Vous pouvez maintenant accéder à votre site Web Flarum en utilisant l'URL sécurisée https://flarum.example.com.


Cent OS
  1. Comment installer Nextcloud avec Nginx et PHP 7.3 sur CentOS 8

  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 Nextcloud avec Nginx et PHP7-FPM sur CentOS 7

  5. Comment installer et configurer Varnish Cache 6 avec Nginx sur CentOS 8

Comment installer WonderCMS avec Apache et Lets Encrypt SSL sur CentOS 8

Comment installer Askbot avec Nginx et sécuriser avec Lets Encrypt sur CentOS 8

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

Comment installer PrestaShop avec Apache et Lets Encrypt SSL sur CentOS 8

Comment installer OwnCloud 8 avec Nginx et PHP-FPM sur CentOS 6

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