Website-Suche

So installieren Sie phpBB unter Alma Linux


phpBB ist eine kostenlose Open-Source-Software und eine der umfassendsten Forum-Bulletin-Software. Es ist vollständig skalierbar und anpassbar und basiert auf PHP und MySQL. Es bietet Benutzern einen Raum, in dem sie sich treffen und miteinander kommunizieren können. Es bietet Hunderte von Stil- und Bildpaketen, mit denen Sie Ihr Forum nach Ihren Wünschen anpassen können. Es wird täglich von Millionen Menschen genutzt und ist damit das weltweit am weitesten verbreitete Open-Source-Bulletin-Board-System. Es ist ein großartiges Tool für Leute, die Diskussionsforen im Forum-Stil erstellen möchten.

In diesem Beitrag zeigen wir Ihnen, wie Sie das phpBB-Forum auf Alma Linux 8 installieren.

Anforderungen

  • Ein Server, auf dem Alma Linux 8 läuft.
  • Ein gültiger Domänenname, der auf die IP Ihres Servers verweist.
  • Auf dem Server ist ein Root-Passwort eingerichtet.

Installieren Sie Nginx, MariaDB und PHP

Installieren Sie zunächst den Nginx-Webserver, den MariaDB-Datenbankserver, PHP und andere erforderliche PHP-Erweiterungen, indem Sie den folgenden Befehl ausführen:

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

Sobald alle Pakete installiert sind, bearbeiten Sie die PHP-Konfigurationsdatei und ändern Sie einige Standardeinstellungen:

nano /etc/php.ini

Ändern Sie die folgenden Zeilen:

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

Speichern und schließen Sie die Datei, bearbeiten Sie dann die PHP-FPM-Konfigurationsdatei und ändern Sie den Benutzer und die Gruppe in Nginx:

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

Ändern Sie die folgenden Zeilen:

user = nginx
group = nginx

Speichern und schließen Sie die Datei. Anschließend starten und aktivieren Sie den Nginx-, MariaDB- und PHP-FPM-Dienst mit dem folgenden Befehl:

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

Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Erstellen Sie eine Datenbank für phpBB

phpBB verwendet MariaDB als Datenbank-Backend. Sie müssen also eine Datenbank und einen Benutzer für phpBB erstellen.

Melden Sie sich zunächst mit dem folgenden Befehl bei MariaDB an:

mysql

Sobald Sie angemeldet sind, erstellen Sie mit dem folgenden Befehl eine Datenbank und einen Benutzer für phpBB:

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

Als nächstes erteilen Sie der phpBB-Datenbank alle Berechtigungen mit dem folgenden Befehl:

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

Als nächstes löschen Sie die Berechtigungen und beenden MariaDB mit dem folgenden Befehl:

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

Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Laden Sie phpBB herunter

Laden Sie zunächst die neueste Version von phpBB von der offiziellen Website herunter, indem Sie den folgenden Befehl eingeben:

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

Sobald der Download abgeschlossen ist, entpacken Sie die heruntergeladene Datei mit dem folgenden Befehl:

unzip phpBB-3.3.7.zip

Als nächstes verschieben Sie phpBB in das Nginx-Webstammverzeichnis:

mv phpBB3 /var/www/html/phpbb

Verwenden Sie dann den folgenden Befehl, um die richtigen Berechtigungen und Besitzer festzulegen:

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

Sobald Sie damit fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Konfigurieren Sie Nginx für phpBB

Als Nächstes müssen Sie eine Konfigurationsdatei für den virtuellen Nginx-Host für phpBB erstellen. Sie können es mit dem folgenden Befehl erstellen:

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

Fügen Sie die folgenden Zeilen ein:

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;
  }
}

Speichern und schließen Sie die Datei und überprüfen Sie die Nginx-Konfiguration mit dem folgenden Befehl:

nginx -t

Sie sollten die folgende Ausgabe erhalten:

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

Starten Sie abschließend den Nginx-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart nginx

Sie können den Status des Nginx-Dienstes auch mit dem folgenden Befehl überprüfen:

systemctl status nginx

Sie erhalten die folgende Ausgabe:

? 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.

Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Zugriff auf die phpBB-Weboberfläche

Öffnen Sie nun Ihren Webbrowser und greifen Sie über die URL http://phpbb.example.com auf die phpBB-Weboberfläche zu. Sie sehen die folgende Seite:

Klicken Sie auf die Registerkarte INSTALLIEREN. Sie sollten die Installationsseite sehen:

Klicken Sie auf die Schaltfläche Installieren. Sie sollten die folgende Seite sehen:

Geben Sie Ihren Administrator-Benutzernamen, Ihr Passwort und Ihre E-Mail-Adresse ein und klicken Sie auf die Schaltfläche Senden. Sie sollten die folgende Seite sehen:

Geben Sie Ihren MySQL-Datenbank-Benutzernamen und Ihr Passwort ein und klicken Sie auf die Schaltfläche Senden. Sie sollten die folgende Seite sehen:

Geben Sie Ihre Serverkonfigurationsdetails ein und klicken Sie auf die Schaltfläche Senden. Sie sollten die folgende Seite sehen:

Geben Sie Ihre E-Mail-Konfigurationsdetails ein und klicken Sie auf die Schaltfläche Senden. Sie sollten die folgende Seite sehen:

Geben Sie die Informationen zur Platinenkonfiguration ein und klicken Sie auf die Schaltfläche Senden. Sobald die Installation abgeschlossen ist, wird die folgende Seite angezeigt:

Klicken Sie auf die Schaltfläche Zum ACP bringen. Auf der folgenden Seite sollten Sie das phpBB-Dashboard sehen:

Abschluss

Glückwunsch! Sie haben das phpBB-Forum erfolgreich auf Alma Linux 8 installiert. Jetzt können Sie Ihre Foren entwerfen und Ihre Community einrichten. Weitere Informationen finden Sie auf der offiziellen phpBB-Website. Wenn Sie Fragen haben, können Sie mich gerne kontaktieren.