Créer un forum avec phpBB3 sur Debian
Dans ce guide, nous allons vous montrer comment installer et configurer la dernière version de la plateforme phpBB3 sur Debian 11 pour créer un site Web de forum en ligne gratuit.
phpBB3 est une plate-forme logicielle de tableau d'affichage open source puissante et flexible écrite principalement dans le langage de programmation PHP et couramment utilisée sous Linux avec les serveurs Web Apache/Nginx, PHP et le système de gestion de base de données MySQL/MariaDB, également connu sous le nom de LAMP ou LEMP. empiler.
La plateforme logicielle de forum en ligne phpBB3 est largement utilisée en ligne pour les forums en ligne et les forums de discussion.
Exigences
- Installation minimale de Debian 11 sur une machine serveur bare metal ou sur un serveur privé virtuel
- Privilèges sudo root pour un compte local ou distant, ou accès direct au compte root
- Une adresse IP statique configurée pour l'une des cartes réseau de votre système
- Un nom de domaine privé ou public, selon votre déploiement, avec les enregistrements DNS corrects pour les services Web. Si vous n'avez pas de nom de domaine valide ou enregistré, vous pouvez installer et accéder au site en utilisant l'adresse IP de votre serveur
- Si vous souhaitez utiliser l'inscription sur le site Web, la modération des sujets et d'autres fonctionnalités du forum, vous devez disposer d'un serveur de messagerie en cours d'exécution dans vos locaux, correctement configuré et fournissant un accès à distance à ses services IMAP et SMTP.
Conditions préalables
Avant de commencer à installer et à configurer phpBB3t à partir des sources de votre propre serveur, vous devez vous assurer que le système répond à toutes les exigences logicielles pour la compilation et l'installation de l'application.
La première étape consiste à mettre à jour les référentiels et les packages logiciels de votre système en exécutant la commande suivante avec les privilèges root.
su -
apt update
apt upgrade
L'étape suivante consiste à exécuter la commande suivante pour installer certains utilitaires nécessaires pour gérer davantage votre système à partir de la ligne de commande.
apt install wget bash-completion zip unzip
Une fois le système entièrement mis à niveau et les utilitaires nécessaires à la gestion de votre serveur installés, définissez le nom de votre système en exécutant la commande suivante. Remplacez votre variable de nom d'hôte en conséquence.
hostnamectl set-hostname www.myforum.com
Vérifiez le nom d'hôte de la machine et le fichier hosts en exécutant les commandes suivantes.
hostnamectl
cat /etc/hostname
hostname –s
hostname –f
Enfin, vous devrez redémarrer le serveur Debian afin que les mises à jour du noyau et les modifications du nom d'hôte soient appliquées correctement.
systemctl reboot
phpBB3 est une plate-forme de bulletins CMS basée sur le Web écrite dans le langage de programmation côté serveur PHP. Afin d'exécuter les scripts de fichiers PHP de l'application, un serveur Web tel que le serveur HTTP Apache et un interpréteur PHP doivent être installés et opérationnels dans le système.
Pour installer le serveur Web Apache et l'interpréteur PHP ainsi que tous les modules PHP nécessaires au bon fonctionnement de l'application, entrez la commande suivante dans la console de votre serveur.
apt install apache2 libapache2-mod-php7.4 php7.4 php7.4-gd php7.4-opcache php7.4-json php7.4-mbstring php-imagick php7.4-xml
Après avoir installé Apache et PHP, vérifiez que le serveur Web est en cours d'exécution et écoute les connexions réseau sur le port 80 en entrant la commande suivante avec les privilèges root.
netstat –tlpn
Si l'utilitaire réseau netstat n'est pas installé par défaut sur votre système Debian, exécutez la commande suivante pour l'installer.
apt install net-tools
À partir du résultat de la commande netstat, vous pouvez voir que le serveur Web Apache écoute les connexions réseau entrantes sur le port 80. Vous pouvez également utiliser la commande ss pour la même tâche, qui est automatiquement installée dans Debian.
ss- tulpn
Si un pare-feu est activé sur votre système, tel que l'application de pare-feu UFW, vous devez ajouter une nouvelle règle pour autoriser le trafic HTTP à travers le pare-feu en tapant la commande suivante.
ufw allow WWW
ou
ufw allow 80/tcp
Si vous utilisez les règles brutes iptables pour gérer les règles de pare-feu sur votre serveur Debian, ajoutez la règle suivante pour autoriser le trafic entrant sur le port 80 afin de permettre aux visiteurs de parcourir la boutique en ligne
apt-get install -y iptables-persistent
iptables -I INPUT -p tcp --destination-port 80 -j ACCEPT
iptables -I INPUT -p tcp --destination-port 22 -j ACCEPT
netfilter-persistent save
systemctl restart netfilter-persistent
systemctl status netfilter-persistent
systemctl enable netfilter-persistent.service
Ensuite, activez les modules Apache suivants dont l'application a besoin pour fonctionner correctement et appliquez-les en tapant la commande suivante
a2enmod rewrite
systemctl restart apache2
Enfin, testez si la page Web Apache par défaut peut être affichée dans les navigateurs de vos clients en appelant l'adresse IP de votre machine Debian ou le FQDN de votre domaine ou serveur à l'aide du protocole HTTP, comme le montre la figure suivante. Si vous ne connaissez pas l'adresse IP de votre machine, vous pouvez exécuter les commandes ifconfig ou ip a pour connaître l'adresse IP de votre serveur.
http://votre_domaine.tld
Pour installer et accéder au panneau d'administration Web phpBB3 et au site Web frontal à l'aide du protocole HTTPS qui sécurise le trafic pour vos clients, entrez la commande suivante pour activer le module SSL du serveur Web Apache et le fichier de configuration du site SSL.
a2enmod ssl
a2ensite default-ssl.conf
Ensuite, ouvrez le fichier de configuration du site SSL par défaut d'Apache avec un éditeur de texte et activez les règles de réécriture d'URL en insérant les lignes de code suivantes après la directive DocumentRoot, comme indiqué dans le exemple suivant :
nano /etc/apache2/sites-enabled/default-ssl.conf
Extrait du fichier de configuration du site SSL :
<Directory /var/www/html>
Options +FollowSymlinks
AllowOverride All
Require all granted
</Directory>
Modifiez également la ligne VirtualHost pour qu'elle ressemble à l'extrait suivant :
<VirtualHost *:443>
Fermez le fichier SSL Apache et ouvrez le fichier /etc/apache2/sites-enabled/000-default.conf pour le modifier et ajoutez les mêmes règles de réécriture d'URL que pour le fichier de configuration SSL. Ajoutez les lignes de code après l'instruction DocumentRoot, comme indiqué dans l'exemple suivant.
<Directory /var/www/html>
Options +FollowSymlinks
AllowOverride All
Require all granted
</Directory>
Enfin, vous redémarrez le démon Apache pour appliquer toutes les règles configurées jusqu'à présent et visitez votre domaine en utilisant le protocole HTTP. Étant donné que vous utilisez les paires de certificats auto-signés émises automatiquement par Apache lors de l'installation, qui ne sont pas approuvées par le navigateur, un avertissement d'erreur doit s'afficher dans le navigateur.
systemctl restart apache2
https://votredomaine.tld
Acceptez l'avertissement pour accepter le certificat non fiable et continuez à être redirigé vers le site Web Apache par défaut, comme indiqué dans l'image suivante.
Si l'application de pare-feu UFW bloque les connexions réseau entrantes vers le port HTTPS, vous devez ajouter une nouvelle règle pour autoriser le trafic HTTPS via le pare-feu en entrant la commande suivante.
ufw allow ‘WWW Full’
ou
ufw allow 443/tcp
Si iptables est l'application de pare-feu par défaut installée pour protéger votre système Debian au niveau du réseau, ajoutez la règle suivante pour autoriser le trafic entrant via le port 443 du pare-feu afin de permettre aux visiteurs de parcourir votre nom de domaine.
iptables -I INPUT -p tcp --destination-port 443 -j ACCEPT
netfilter-persistent save
systemctl restart netfilter-persistent
systemctl status netfilter-persistent
Dans l'étape suivante, nous devons apporter quelques modifications supplémentaires au fichier de configuration PHP par défaut pour garantir que les variables PHP suivantes sont activées et que le paramètre PHP timezone est configuré correctement et correspond à l'emplacement géographique de votre système. . Ouvrez le fichier /etc/php/7.4/apache2/php.ini pour le modifier et assurez-vous que les lignes suivantes sont définies. Créez également d’abord une sauvegarde du fichier de configuration PHP.
cp /etc/php/7.4/apache2/php.ini{,.backup}
nano /etc/php/7.4/apache2/php.ini
Recherchez, modifiez et modifiez les variables suivantes dans le fichier de configuration php.ini :
file_uploads = On
default_charset = UTF-8
memory_limit = 128M
max_execution_time = 18000
upload_max_filesize = 100M
date.timezone = Europe/London
Augmentez la variable upload_max_file_size pour prendre en charge les pièces jointes volumineuses et remplacez la variable time.zone en fonction de votre heure physique en consultant la liste des fuseaux horaires fournie. par PHP Docs au lien suivant http://php.net/manual/en/timezones.php
Si vous souhaitez augmenter la vitesse de chargement de vos pages Web via le plugin OPCache disponible pour PHP7, ajoutez les paramètres OPCache suivants à la fin du fichier de configuration de l'interpréteur PHP sous le [opcache]< déclaration :
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1
Fermez le fichier de configuration php.ini et vérifiez la fin du fichier de configuration PHP pour voir si les variables ont été ajoutées correctement en tapant la commande suivante
tail /etc/php/7.0/apache2/php.ini
Après avoir effectué toutes les modifications décrites ci-dessus, redémarrez le démon Apache pour appliquer les nouvelles modifications en entrant la commande suivante.
systemctl restart apache2
Enfin, créez un fichier d'informations PHP en exécutant la commande suivante et vérifiez que le fuseau horaire PHP est correctement configuré en accédant au fichier d'informations PHP dans un navigateur à l'URL suivante, comme indiqué dans la figure suivante. Faites défiler jusqu'au paramètre Date pour vérifier la configuration du fuseau horaire PHP.
echo '<?php phpinfo(); ?>'| tee /var/www/html/info.php
https://domain.tld/info.php
L'application Web phpBB3 stocke diverses configurations, telles que les utilisateurs, les sessions, les contacts, les produits, les catalogues et autres, dans une base de données SGBDR. Ce tutoriel configurera l'application forum phpBB3 pour utiliser la base de données MariaDB comme backend. Entrez la commande suivante pour installer la base de données MariaDB et le module PHP nécessaire pour accéder à la base de données mysql
apt install mariadb-server php7.4-mysql mariadb-client
Après avoir installé MariaDB, vérifiez que le démon est en cours d'exécution et écoute les connexions sur localhost, port 3306, en exécutant la commande netstat.
netstat –tlpn | grep mysql
Connectez-vous ensuite à la console MySQL et sécurisez le compte root MariaDB en entrant les commandes suivantes
mysql -h localhost
Welcome to MariaDB Monitor. Commands end with ; or \g.
Your MariaDB connection identifier is 2
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab et autres.
Tapez « aide ; » ou '\h' pour obtenir de l'aide. Tapez '\c' pour supprimer l'instruction d'entrée actuelle.
MariaDB [(aucun)]> Utiliser MySQL ;
Lire les informations du tableau pour compléter les noms des tableaux et des colonnes
Vous pouvez utiliser cette fonction pour un démarrage plus rapide avec -A
Base de données modifiée
MariaDB [mysql]>
update user set plugin='' where user='root';
Query OK, 1 line affected (0.00 sec)
Rows matched: 1 Modified: 1 Warnings: 0
MariaDB [mysql]> vider les autorisations ;
Requête OK, 0 ligne affectée (0,00 s)
MariaDB [mysql]> quitter
Au revoir
À l'étape suivante, vous sécurisez MariaDB en exécutant le script mysql_secure_installation inclus dans les packages d'installation des référentiels Debian Stretch. Lors de l'exécution du script, il pose une série de questions pour sécuriser la base de données MariaDB, telles que : modifier le mot de passe root MySQL, supprimer les utilisateurs anonymes, désactiver les connexions root à distance et supprimer la base de données de test. Exécutez le script à l'aide de la commande suivante et assurez-vous de répondre oui à toutes les questions pour sécuriser complètement le démon MySQL. Utilisez l’extrait suivant du script comme guide.
mysql_secure_installation
Si le mot de passe est fourni, le processus de connexion à la console MySQL doit être autorisé, comme indiqué dans l'exemple de commande :
mysql -h localhost -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection identifier is 15
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to delete the current input statement.
MariaDB [(none)]> exit
Bye
Ensuite, connectez-vous à la console de base de données MariaDB, créez une base de données pour l'application et un utilisateur avec un mot de passe qui sera utilisé pour gérer la base de données de l'application en entrant les commandes suivantes. Remplacez le nom de la base de données, l'utilisateur et le mot de passe en conséquence.
mysql –u root -p
MariaDB [(none)]> create database myphpbb;
MariaDB [(none)]> grant all privileges on myphpbb.* to 'phpbb_user'@'localhost' identified by 'password1234';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit
Pour appliquer toutes les modifications apportées jusqu'à présent, redémarrez MySQL et les démons Apache et vérifiez que les démons sont en cours d'exécution en entrant les commandes suivantes.
systemctl restart mysql apache2
systemctl status mysql apache2
Installer phpBB
Une fois que toutes les exigences système pour l'installation de l'application forum sont remplies, visitez la page de téléchargement officielle de phpBB3 à l'adresse https://www.phpbb.com/downloads/ et récupérez le dernier package zip compressé dans votre système à l'aide de la commande suivante.
wget https://www.phpbb.com/files/release/phpBB-3.2.1.zip
--2017-12-04 19:43:17-- https://www.phpbb.com/files/release/phpBB-3.2.1.zip
Resolution www.phpbb.com (www.phpbb.com)... 140.211.15.244
Connection to www.phpbb.com (www.phpbb.com)|140.211.15.244|:443... Established
HTTP request sent, awaiting response.... 200 OK
Length: 7767156 (7.4M) [application/zip]
Save in: ‘phpBB-3.2.1.zip’
phpBB-3.2.1.zip 100%[========================================= =========>] 7,41 M 2,12 Mo/s en 3,5 s
Après avoir terminé le téléchargement de l'archive zip, décompressez le fichier d'archive zip phpBB3 dans votre répertoire de travail actuel et répertoriez les fichiers décompressés à l'aide des commandes suivantes. Supprimez également le fichier index.html installé par défaut par le serveur Web Apache du chemin webroot et supprimez le fichier info.php créé précédemment.
extract phpBB-3.2.1.zip
ls
rm /var/www/html/index.html
rm /var/www/html/info.php
Les fichiers d'installation de phpBB3 se trouvent dans votre répertoire de travail actuel dans le répertoire phpBB3/. Exécutez la commande ls pour répertorier les fichiers de ce répertoire. Copiez l'intégralité du contenu du répertoire décompressé à la racine de votre serveur Web en exécutant la commande suivante. Assurez-vous également de copier le fichier .htaccess caché sur le chemin de la racine Web.
cp -rf phpBB3/* /var/www/html/
cp -rf phpBB3/.htaccess /var/www/html/
Ensuite, exécutez les commandes suivantes pour accorder à l'utilisateur d'exécution Apache des autorisations d'écriture complètes sur le chemin racine Web. Utilisez la commande ls pour répertorier les autorisations pour les fichiers installés de l'application dans le répertoire /var/www/html/.
chown -R www-data:www-data /var/www/html/
ls –al /var/www/html/
Procédez ensuite à l'installation de l'application forum phpBB3 en ouvrant un navigateur et en cliquant sur l'adresse IP ou le nom de domaine de votre serveur ou le FQDN du serveur utilisant le protocole HTTPS. Sur le premier écran d'installation, le programme d'installation de phpBB3 affichera un message d'introduction contenant des informations générales sur la plateforme. Cliquez sur l'onglet Installer en haut pour démarrer le processus d'installation, comme indiqué dans l'exemple ci-dessous.
https://votredomaine.tld
Ensuite, le programme d'installation vérifiera la configuration système requise et affichera un message de bienvenue avec une liste des bases de données prises en charge par phpBB3. Pour démarrer la configuration Web, cliquez sur le bouton Installer dans la capture d'écran ci-dessous.
Sur l'écran suivant, ajoutez un nom d'utilisateur administrateur et une adresse e-mail du compte administrateur, et définissez un mot de passe sécurisé pour le compte administrateur du forum. Lorsque vous avez terminé, cliquez sur le bouton « Soumettre » pour continuer.
Sur l'écran d'installation suivant, sélectionnez MySQL avec l'extension MySQLi comme type de base de données et spécifiez l'adresse du serveur de base de données MySQL, le numéro de port, le nom d'utilisateur et le mot de passe nécessaires pour accéder à la base de données phpBB3, ainsi que le nom de la base de données créée pour l'installation de phpBB3. Ajoutez également un préfixe pour la table de base de données et cliquez sur le bouton Suivant pour passer à l'écran d'installation suivant. Utilisez la capture d'écran suivante comme guide pour configurer cette étape.
Ensuite, définissez les options "Cookie" et "Forcer l'URL du serveur" sur NON, utilisez https:// comme protocole de serveur, vérifiez la variable "Nom de domaine", utilisez 443 comme port de serveur et le chemin du script pointant vers l'arborescence Webroot de votre serveur («/»). Cliquez sur le bouton Soumettre pour terminer cette étape d'installation, comme indiqué dans l'image suivante.
Sur l'écran suivant, vous pouvez sélectionner l'option « Activer les e-mails à l'échelle du forum » et les détails du serveur SMTP de votre site Web de forum. Cette étape suppose qu'un serveur de messagerie de domaine a été correctement configuré et mis en service sur votre site. Si vous n'avez pas encore configuré de serveur de messagerie pour votre domaine, sélectionnez l'option « Désactiver les e-mails à l'échelle du forum » et « Ne pas utiliser le serveur SMTP pour les e-mails » et cliquez sur « Soumettre ».
Sur l'écran d'installation suivant, vous choisirez la langue par défaut du forum de votre site Web, le titre du forum et une brève description du forum. Une fois cette étape terminée, cliquez sur le bouton Soumettre pour démarrer le processus d'installation.
Le processus d'installation est terminé une fois la structure de la base de données importée et tous les paramètres du forum écrits dans le fichier de configuration de l'application. Le programme d'installation affichera un lien Me rediriger vers l'APC, que vous pourrez utiliser pour accéder au Cool Panel d'administration soutenu par phpBB3 afin de gérer votre tableau d'affichage en ligne.
Avant de vous connecter au panneau d'administration de votre forum, retournez à la console du serveur et entrez les commandes suivantes pour supprimer le répertoire d'installation et sécuriser le fichier de configuration du système phpBB3.
rm -rf /var/www/html/install/
chown root:root /var/www/html/configure.php
Pour gérer votre forum, cliquez sur le lien Amenez-moi vers l'APC pour accéder au backend d'administration du forum, comme indiqué dans l'image suivante.
Vous pouvez également visiter le panneau de contrôle du forum en accédant au lien URL /adm/ vers l'adresse IP ou le nom de domaine de votre serveur à l'aide du protocole HTTPS. Utilisez les informations d'identification que vous avez définies lors de l'installation pour vous connecter au backend du forum, comme indiqué dans la capture d'écran ci-dessous.
https://votredomaine.tld/adm/
Pour visiter le front-end de votre application de forum en ligne, accédez à l'adresse IP ou au nom de domaine de votre serveur à l'aide du protocole HTTPS. La page principale frontend de votre forum devrait s'afficher correctement dans le navigateur.
https://votredomaine.tld
Pour forcer les visiteurs à visiter la page Web frontale du forum et à accéder en toute sécurité à l'interface back-end à l'aide du protocole HTTPS, qui crypte le trafic entre le serveur et les navigateurs clients, revenez au terminal de votre serveur et modifiez le .htaccess situé dans le répertoire racine de votre document de page Web en entrant la commande suivante.
nano /var/www/html/.htaccess
Ci-dessous dans le fichier, vous pouvez modifier les paramètres du serveur PHP natif avec les configurations ci-dessous. Modifiez les paramètres PHP pour les adapter à vos propres ressources et configurations de serveur.
Extrait du fichier .htaccess :
Change PHP settings
php_value session.use_trans_sid 0
php_value register_globals 1
php_value upload_max_filesize 100M
php_value post_max_size 100M
Enfin, ajoutez les règles suivantes au fichier .htaccess pour rediriger automatiquement le trafic du domaine vers HTTPS.
# Redirect to HTTPS
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L]
Options -Indexes
</IfModule>
C'est tout! Vous avez installé et configuré avec succès l'application de forum phpBB3 dans Debian 9.2. Cependant, comme le serveur HTTP Apache utilise des certificats auto-signés pour chiffrer le trafic entre le serveur et les navigateurs des visiteurs, un message d'avertissement est toujours généré et affiché dans leurs navigateurs. Cet avertissement est mauvais pour le référencement et la réputation de votre forum. Dans ce cas, vous devez acheter un certificat émis par une autorité de certification de confiance ou obtenir une paire de certificats gratuite auprès de Let's Encrypt CA.
Vous pouvez trouver plus de configurations personnalisées pour l'application phpBB3 sur la page de documentation à l'adresse suivante : https://www.phpbb.com/support/docs/en/