Recherche de site Web

Comment installer phpBB sur Alma Linux


phpBB est un logiciel de bulletin de forum gratuit, open source et l'un des plus complets. Il est entièrement évolutif et personnalisable et repose sur PHP et MySQL. Il offre un espace permettant aux utilisateurs de se rencontrer et de communiquer entre eux. Il propose des centaines de packs de styles et d'images qui vous permettent de personnaliser votre forum à votre guise. Il est utilisé par des millions de personnes chaque jour, ce qui en fait le système de babillard open source le plus utilisé au monde. C'est un excellent outil pour les personnes qui souhaitent créer des forums de discussion de type forum.

Dans cet article, nous allons vous montrer comment installer le forum phpBB sur Alma Linux 8.

Exigences

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

Installez Nginx, MariaDB et PHP

Tout d'abord, installez le serveur Web Nginx, le serveur de base de données MariaDB, PHP et les autres extensions PHP requises en exécutant la commande suivante :

dnf install nginx mariadb-server php php-mysqli php-json php-gd php-curl php-mbstring php-fpm unzip -y

Une fois tous les packages installés, éditez le fichier de configuration PHP et modifiez certains paramètres par défaut :

nano /etc/php.ini

Modifiez les lignes suivantes :

max_execution_time = 180
max_input_time = 90
memory_limit = 256M
upload_max_filesize = 64M

Enregistrez et fermez le fichier, puis modifiez le fichier de configuration PHP FPM et modifiez l'utilisateur et le groupe dans Nginx :

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

Modifiez les lignes suivantes :

user = nginx
group = nginx

Enregistrez et fermez le fichier. Démarrez et activez ensuite le service Nginx, MariaDB et PHP-FPM avec la commande suivante :

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

Lorsque vous avez terminé, vous pouvez passer à l'étape suivante.

Créer une base de données pour phpBB

phpBB utilise MariaDB comme backend de base de données. Vous devez donc créer une base de données et un utilisateur pour phpBB.

Tout d'abord, connectez-vous à MariaDB avec la commande suivante :

mysql

Une fois connecté, créez une base de données et un utilisateur pour phpBB en utilisant la commande suivante :

MariaDB [(none)]> CREATE DATABASE phpbbdb;
MariaDB [(none)]> CREATE USER 'phpbbuser'@'localhost' IDENTIFIED BY 'password';

Ensuite, accordez toutes les autorisations à la base de données phpBB avec la commande suivante :

MariaDB [(none)]> GRANT ALL ON phpbbdb.* TO 'phpbbuser'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Ensuite, supprimez les autorisations et quittez MariaDB avec la commande suivante :

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

Lorsque vous avez terminé, vous pouvez passer à l'étape suivante.

Télécharger phpBB

Tout d’abord, téléchargez la dernière version de phpBB depuis le site officiel en entrant la commande suivante :

wget https://download.phpbb.com/pub/release/3.3/3.3.7/phpBB-3.3.7.zip

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

unzip phpBB-3.3.7.zip

Ensuite, déplacez phpBB vers le répertoire racine Web de Nginx :

mv phpBB3 /var/www/html/phpbb

Utilisez ensuite la commande suivante pour définir les autorisations et les propriétaires corrects :

chown -R nginx:nginx /var/www/html/phpbb
chmod -R 755 /var/www/html/phpbb

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

Configurer Nginx pour phpBB

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

nano /etc/nginx/conf.d/phpbb.conf

Collez les lignes suivantes :

server {
   listen 80;
   server_name phpbb.exampledomain.com;
   root /var/www/html/phpbb;
   index index.php index.html index.htm;

    access_log /var/log/nginx/phpbb-access.log;
    error_log /var/log/nginx/phpbb-error.log;

location / {
	try_files $uri $uri/ @rewriteapp;

	# Pass the php scripts to FastCGI server specified in upstream declaration.
	location ~ \.php(/|$) {
		include fastcgi.conf;
                fastcgi_pass unix:/run/php-fpm/www.sock;
		fastcgi_split_path_info ^(.+\.php)(/.*)$;
		fastcgi_param PATH_INFO $fastcgi_path_info;
		fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
		fastcgi_param DOCUMENT_ROOT $realpath_root;
		try_files $uri $uri/ /app.php$is_args$args;
		fastcgi_intercept_errors on;	
	}

	# Deny access to internal phpbb files.
	location ~ /(config\.php|common\.php|cache|files|images/avatars/upload|includes|(?<!ext/)phpbb(?!\w+)|store|vendor) {
		deny all;
		# deny was ignored before 0.8.40 for connections over IPv6.
		# Use internal directive to prohibit access on older versions.
		internal;
	}
}

location @rewriteapp {
	rewrite ^(.*)$ /app.php/$1 last;
}

Correctly pass scripts for installer
location /install/ {
	try_files $uri $uri/ @rewrite_installapp =404;

	# Pass the php scripts to fastcgi server specified in upstream declaration.
	location ~ \.php(/|$) {
		include fastcgi.conf;
                fastcgi_pass unix:/run/php-fpm/www.sock;
		fastcgi_split_path_info ^(.+\.php)(/.*)$;
		fastcgi_param PATH_INFO $fastcgi_path_info;
		fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
		fastcgi_param DOCUMENT_ROOT $realpath_root;
		try_files $uri $uri/ /install/app.php$is_args$args =404;
		fastcgi_intercept_errors on;	
	}
}

location @rewrite_installapp {
	rewrite ^(.*)$ /install/app.php/$1 last;
}

Deny access to version control system directories.
location ~ /\.svn|/\.git {
	deny all;
	internal;
}

 gzip on; 
 gzip_comp_level 6;
 gzip_min_length 1000;
 gzip_proxied any;
 gzip_disable "msie6";
 gzip_types
     application/atom+xml
     application/geo+json
     application/javascript
     application/x-javascript
     application/json
     application/ld+json
     application/manifest+json
     application/rdf+xml
     application/rss+xml
     application/xhtml+xml
     application/xml
     font/eot
     font/otf
     font/ttf
     image/svg+xml
     text/css
     text/javascript
     text/plain
     text/xml;

  # assets, media
  location ~* \.(?:css(\.map)?|js(\.map)?|jpe?g|png|gif|ico|cur|heic|webp|tiff?|mp3|m4a|aac|ogg|midi?|wav|mp4|mov|webm|mpe?g|avi|ogv|flv|wmv)$ {
      expires    90d;
      access_log off;
  }
  
  # svg, fonts
  location ~* \.(?:svgz?|ttf|ttc|otf|eot|woff2?)$ {
      add_header Access-Control-Allow-Origin "*";
      expires    90d;
      access_log off;
  }
}

Enregistrez et fermez le fichier et vérifiez la configuration de Nginx avec la commande suivante :

nginx -t

Vous devriez obtenir le résultat suivant :

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Enfin, redémarrez le service Nginx pour appliquer les modifications :

systemctl restart nginx

Vous pouvez également vérifier l'état du service Nginx avec la commande suivante :

systemctl status nginx

Vous obtiendrez le résultat suivant :

? nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/nginx.service.d
           ??php-fpm.conf
   Active: active (running) since Sat 2022-04-02 11:50:20 UTC; 4s ago
  Process: 4558 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 4556 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 4554 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 4560 (nginx)
    Tasks: 2 (limit: 11412)
   Memory: 3.8M
   CGroup: /system.slice/nginx.service
           ??4560 nginx: master process /usr/sbin/nginx
           ??4561 nginx: worker process

Apr 02 11:50:20 linux systemd[1]: nginx.service: Succeeded.
Apr 02 11:50:20 linux systemd[1]: Stopped The nginx HTTP and reverse proxy server.
Apr 02 11:50:20 linux systemd[1]: Starting The nginx HTTP and reverse proxy server...
Apr 02 11:50:20 linux nginx[4556]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Apr 02 11:50:20 linux nginx[4556]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Apr 02 11:50:20 linux systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Apr 02 11:50:20 linux systemd[1]: Started The nginx HTTP and reverse proxy server.

Lorsque vous avez terminé, vous pouvez passer à l'étape suivante.

Accéder à l'interface Web de phpBB

Ouvrez maintenant votre navigateur Web et accédez à l'interface Web de phpBB via l'URL http://phpbb.example.com. Vous verrez la page suivante :

Cliquez sur l'onglet INSTALLER. Vous devriez voir la page d'installation :

Cliquez sur le bouton Installer. Vous devriez voir la page suivante :

Entrez votre nom d'utilisateur administrateur, votre mot de passe et votre adresse e-mail et cliquez sur le bouton Soumettre. Vous devriez voir la page suivante :

Entrez le nom d'utilisateur et le mot de passe de votre base de données MySQL et cliquez sur le bouton Soumettre. Vous devriez voir la page suivante :

Saisissez les détails de configuration de votre serveur et cliquez sur le bouton Soumettre. Vous devriez voir la page suivante :

Saisissez les détails de votre configuration de messagerie et cliquez sur le bouton Soumettre. Vous devriez voir la page suivante :

Saisissez les informations de configuration de la carte et cliquez sur le bouton Soumettre. Une fois l'installation terminée, la page suivante s'affichera :

Cliquez sur le bouton Me diriger vers l'ACP. Sur la page suivante, vous devriez voir le tableau de bord phpBB :

Conclusion

Toutes nos félicitations! Vous avez installé avec succès le forum phpBB sur Alma Linux 8. Vous pouvez maintenant concevoir vos forums et configurer votre communauté. Vous pouvez trouver plus d’informations sur le site officiel de phpBB. Si vous avez des questions, n'hésitez pas à me contacter.