Hur man installerar phpBB med LEMP (Nginx, MariaDB och PHP) på Rocky Linux 8

Med framväxten av sociala medieplattformar som Reddit, Facebook, Twitter och onlinechattplattformar som discord, har vi sett onlinebulletinforum minska. Personligen, som jag nyss nämnde, gör de sakta comeback i specifika nischcommunities över de nyare tilläggen. phpBB är en av de mest utökade open-source forumbulletinprogramvaran på marknaden.

phpBB är inte det enda alternativet. Andra som VBulletin, Nodebb, Xenforo och så vidare, men de flesta av dessa betalas med blandade recensioner. VBulletin brukade vara ett kraftpaket, men nu är det en skugga av sitt forna jag. Xenforo är en av de bäst betalda bulletinprogramvaran. Det är dock bara min personliga åsikt, men jag kommer alltid att välja phpBB först eftersom det är gratis, öppen källkod och har några fantastiska tredjepartsutvecklare med öppen källkod, både nya utvecklare och sådana som har funnits sedan starten.

I följande handledning kommer du att lära dig hur du installerar LEMP med standardpaketen från Rocky Linux 8 App-ström eller alternativa paket från EPEL-förvaret, tillsammans med att ställa in phpBB för förstagångsanvändning på Rocky Linux 8.

Förutsättningar

  • Rekommenderat OS: Rocky Linux 8.+.
  • Användarkonto: Ett användarkonto med sudo- eller root-åtkomst.

Uppdatera operativsystem

Uppdatera din Rocky linux operativsystem för att se till att alla befintliga paket är uppdaterade:

sudo dnf upgrade --refresh -y

Handledningen kommer att använda sudo kommando och förutsatt att du har sudo-status.

Så här verifierar du sudo-status på ditt konto:

sudo whoami

Exempel på utdata som visar sudo-status:

[joshua@rockylinux ~]$ sudo whoami
root

För att konfigurera ett befintligt eller nytt sudo-konto, besök vår handledning på Hur man lägger till en användare till Sudoers på Rocky Linux.

Att använda root-konto, använd följande kommando med root-lösenordet för att logga in.

su

Frivillig. Installera EPEL Repository

Det första steget är att importera förvaret från EPEL (Extra paket för Enterprise Linux). Detta förråd ger dig chansen att installera olika paket till Rocky Linux 8 App Stream valfritt. Ofta är några av dessa nyare samtidigt som de är otroligt stabila jämfört med att installera de kompletta banbrytande paketen direkt från källan.

sudo dnf install epel-release

Exempel utmatning:

Hur man installerar phpBB med LEMP (Nginx, MariaDB och PHP) på Rocky Linux 8

Skriv "Y", tryck sedan på "ENTER-TANGENT" för att fortsätta med installationen. Observera att du eventuellt kommer att uppmanas att importera GPG-nyckel om du installerar från EPEL eller ett alternativt arkiv, skriv "Y" om detta inträffar.

Det är alltid en bra idé att verifiera om förvaret har lagts till framgångsrikt; detta kan göras med dnf repolist kommando som nedan:

sudo dnf repolist

Exempel utmatning:

Hur man installerar phpBB med LEMP (Nginx, MariaDB och PHP) på Rocky Linux 8

Som du kan se har EPEL-förvaret lagts till korrekt. Praktiskt tips, du kan återanvända det här kommandot för att se eventuella framtida förvarsimporter.

Installera Nginx – (LEMP Stack)

Frivillig. Ändra Nginx Version Stream till EPEL

För att kickstarta installationen av LEMP-stacken måste du installera nginx webbserver. Handledningen skulle visa det valfria valet av vilken Nginx-ström som ska installeras, vilket är praktiskt om du installerade EPEL-förvaret.

Lista först de tillgängliga Nginx-profilerna med hjälp av dnf modullista kommando i din terminal:

sudo dnf module list nginx

Exempel utmatning:

Hur man installerar phpBB med LEMP (Nginx, MariaDB och PHP) på Rocky Linux 8

Eftersom handledningen fokuserar på att använda EPEL-utgåvan kommer Nginx-huvudlinjen att väljas. Men först måste du återställa Nginx-modulerna för att ändra.

sudo dnf module reset nginx

Exempel utmatning:

Hur man installerar phpBB med LEMP (Nginx, MariaDB och PHP) på Rocky Linux 8

Skriv "Y", tryck sedan på "ENTER-TANGENT" för att fortsätta med att återställa modullistan.

Aktivera sedan den Nginx-modul du föredrar. För handledningen kommer EPEL att väljas, och om du vill använda Nginx mainline anger du "nginx:mainline," om du föredrar den stabila versionen, då skulle det vara "nginx.1:20".

Så här installerar du EPEL mainline:

sudo dnf module enable nginx:mainline

För att installera EPEL stabil:

sudo dnf module enable nginx:1.20

Installera Nginx

Nu är det dags att installera Nginx som en del av LEMP-installationen. Oavsett om du har installerat EPEL och använder en Nginx-build baserat på det förvaret eller använder standarden Rocky Linux 8 App-ström, kommandona kommer att vara desamma; bara några av utgångarna som bara är exempel kommer att skilja sig åt.

För att installera Nginx, använd följande kommando i din terminal:

sudo dnf install nginx

Exempel utmatning:

Hur man installerar phpBB med LEMP (Nginx, MariaDB och PHP) på Rocky Linux 8

Skriv "Y", tryck sedan på "ENTER-TANGENT" för att fortsätta med installationen.

Bekräfta installationen genom att kontrollera byggversionen:

nginx -v

Exempel utmatning:

nginx version: nginx/1.14.1

Som standard är det inte aktiverat när du installerar Nginx på Rocky Linux. För att aktivera vid uppstart och för att starta, använd följande:

sudo systemctl enable nginx --now

Exempel på framgångsrik aktivering (symbollänk):

Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /usr/lib/systemd/system/nginx.service.

Kontrollera nu för att se statusen för din Nginx-tjänst med följande terminalkommando:

systemctl status nginx

Exempel på utdata som säger att allt är ok:

Hur man installerar phpBB med LEMP (Nginx, MariaDB och PHP) på Rocky Linux 8

Nu kan du bekräfta att din Nginx-webbserver fungerar genom att gå in HTTP://server-ip or HTTP://domännamn i din webbläsare och du bör få följande:

Hur man installerar phpBB med LEMP (Nginx, MariaDB och PHP) på Rocky Linux 8

Om du inte kan komma åt den här sidan kan du behöva konfigurera brandväggsinställningarna som beskrivs i nästa avsnitt.

Konfigurera brandväggsregler

Det lägger inte automatiskt till brandväggsregler till standardport 80- eller 443-portarna när du installerar Nginx. Innan du fortsätter bör du ställa in följande regler, detta beror på vilka portar du kommer att använda, men alla alternativ är listade.

Öppna port 80 eller HTTP:

sudo firewall-cmd --permanent --zone=public --add-service=http

Öppna port 443 eller HTTPS:

sudo firewall-cmd --permanent --zone=public --add-service=https

Ladda om brandväggen för att göra ändringar i kraft

sudo firewall-cmd --reload

Installera MariaDB (LEMP STACK)

Frivillig. Ändra till MariaDB 10.5

Rocky Linux App-ström installerar som standard MariaDB 10.3, en äldre men otroligt stabil version. Den senaste versionen av MariaDB vid tidpunkten för denna handledning som klassas som en stabil version är MariaDB 10.6.4. Som du kan föreställa dig är skillnaden ganska betydande; Men eftersom de flesta användare av Rocky Linux föredrar att använda stabilitet framför banbrytande, kommer en lösning att vara att använda MariaDB 10.5 som är nyare samtidigt som den är otroligt stabil och fortfarande får buggfixar och säkerhetsuppdateringar.

Återställ först MariaDB-modullistan:

sudo dnf module reset mariadb

Exempel utmatning:

Hur man installerar phpBB med LEMP (Nginx, MariaDB och PHP) på Rocky Linux 8

Skriv "Y", tryck sedan på "ENTER-TANGENT" för att fortsätta med modulåterställningen.

Aktivera sedan MariaDB 10.5 att vara den primära källan när du installerar MariaDB.

sudo dnf module enable mariadb:10.5

Exempel utmatning:

Hur man installerar phpBB med LEMP (Nginx, MariaDB och PHP) på Rocky Linux 8

Skriv "Y", tryck sedan på "ENTER-TANGENT" för att fortsätta med modulbytet till MariaDB 10.5.

Installera MariaDB

Nu är det dags att installera MariaDB; beroende på vilken version du väljer kan utgångarna skilja sig åt, men kommandona kommer att vara exakt desamma.

sudo dnf install mariadb-server mariadb

Exempel utmatning:

Hur man installerar phpBB med LEMP (Nginx, MariaDB och PHP) på Rocky Linux 8

Skriv "Y", tryck sedan på "ENTER-TANGENT" för att fortsätta med installationen.

För att bekräfta installationen av MariaDB och för att kontrollera vilken build som är installerad, skriv följande kommando:

mysql --version

Exempel utmatning:

mysql  Ver 15.1 Distrib 10.5.9-MariaDB, for Linux (x86_64) using  EditLine wrapper

Kontrollera MariaDB-serverstatus

Nu har du installerat MariaDB, och du kan verifiera statusen för databasprogramvaran genom att använda följande systemctl-kommando:

systemctl status mariadb

Som standard ser du att MariaDB-status är avstängd. För att starta MariaDB, använd följande kommando:

sudo systemctl enable mariadb --now

Kontrollera nu statusen igen och du bör få följande:

Hur man installerar phpBB med LEMP (Nginx, MariaDB och PHP) på Rocky Linux 8

För att stoppa MariaDB:

sudo systemctl stop mariadb

För att aktivera MariaDB vid systemstart:

sudo systemctl enable mariadb

För att inaktivera MariaDB vid systemstart:

sudo systemctl disable mariadb

Så här startar du om MariaDB-tjänsten:

sudo systemctl restart mariadb

Säkra MariaDB med säkerhetsskript

När du installerar mariadb nya, standardinställningar anses vara svaga enligt de flesta standarder och orsakar oro för att potentiellt tillåta intrång eller utnyttja hackare. En lösning är att köra installationssäkerhetsskriptet som medföljer mariadb installation.

Använd först följande kommando för att starta (mysql_secure_installation):

sudo mysql_secure_installation

Därefter kommer du att få en uppmaning som ber dig att ange ditt (MariaDB root-lösenord). För nu, tryck på (STIGA PÅ) nyckel eftersom root-lösenordet inte är inställt ännu enligt nedan:

Skriv sedan (Y) och tryck på enter för att ställa in (rot) lösenord enligt nedan:

Nästa serie frågor kan du säkert slå (STIGA PÅ), som kommer att svara (Y) på alla efterföljande frågor som ber dig att göra (ta bort anonyma användare, inaktivera fjärrrotinloggning och ta bort testdatabasen). Notera (Y) är versaler, vilket betyder att det är standardsvaret när du trycker på (STIGA PÅ) nyckel.

Exempel nedan:

Hur man installerar phpBB med LEMP (Nginx, MariaDB och PHP) på Rocky Linux 8

Översikt över vad som borde ha gjorts ovan:

  • Ställer in lösenordet för rot konton.
  • Ta bort root-konton som är tillgängliga utanför den lokala värden.
  • Ta bort anonyma användarkonton.
  • Ta bort testdatabasen, som som standard kan nås av anonyma användare.

Det här steget är viktigt för MariaDB databassäkerhet och bör inte ändras eller hoppas över om du inte vet vad du gör.

Installera PHP och PHP-FPM (LEMP STACK)

Frivillig. Importera PHP 8.0 Repository

Den sista delen att installera i din LEMP-installation är PHP. Du måste installera (PHP-FPM) vilket är förkortning för (FastCGI Process Manager). Det rekommenderas starkt att installera PHP (Remi) förvaret. För de omedvetna är Remi underhållare för PHP-utgåvor på Rhel-familjen.

För handledningen kommer vi att installera den senaste PHP 8.0. Det måste dock noteras att även om phpBB fungerar bra med PHP 8.0 och högre, kan vissa av plugin-program stöta på problem, så se till att du bara installerar aktiva och uppdaterade plugins som borde vara standarden i alla CMS. Om du stöter på problem, avinstallera PHP 8.0 och använd PHP 7.4.

För att installera PHP från Remis repository måste du ha installerat EPEL-förvaret i början av handledningen. Som standard är PHP 7.2 standardvalet för PHP för standardinstallation på Rocky Linux. Ett snabbt tips är att använda (lista php) kommandot för att se de tillgängliga alternativen och standardinställningarna.

möjliggöra (Remi repository) med följande:

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

Återigen som exempelutdata, skriv (Y) och skriv in för att fortsätta:

Hur man installerar phpBB med LEMP (Nginx, MariaDB och PHP) på Rocky Linux 8

Använd sedan (dnf) kommando för att uppdatera din förvarslista:

sudo dnf update

Lista nu de moduler som är tillgängliga för PHP med följande kommando:

sudo dnf module list php

Du kommer att få följande utdata enligt nedan. Notera (D) tagg för standard PHP som ska installeras:

Hur man installerar phpBB med LEMP (Nginx, MariaDB och PHP) på Rocky Linux 8

Som du kan se ovan, (D) taggen finns bredvid PHP 7.2, som du måste återställa och ändra för att fortsätta installera PHP 8.0 på Rocky Linux. Att återställa PHP-listan är enkelt med följande kommando:

sudo dnf module list reset php

Aktivera sedan PHP 8.0 med följande kommando:

sudo dnf module enable php:remi-8.0 

Notera, du kan aktivera PHP-7.4 genom att följa dnf-modulens återställningskommando och använda dnf-modul aktivera kommandot php:remi-7.4 istället. Välj version du behöver för applikationen, och detta var bara ett exempel på att ha den senaste PHP-versionen av vilket PHP-val du än väljer.

Installera PHP och PHP-FPM

Installera sedan PHP på din server; beroende på vilken version av PHP kommer utgångarna att se olika ut; dock förblir kommandona desamma.

sudo dnf install php

Exempel utmatning:

Hur man installerar phpBB med LEMP (Nginx, MariaDB och PHP) på Rocky Linux 8

Skriv "Y", tryck sedan på "ENTER-TANGENT" för att fortsätta med installationen. Observera att du kan bli ombedd att skriva "Y."

Verifiera installationen och kontrollera version och build:

php -v

Exempel utmatning:

PHP 8.0.11 (cli) (built: Sep 21 2021 17:07:44) ( NTS gcc x86_64 )
Copyright (c) The PHP Group
Zend Engine v4.0.11, Copyright (c) Zend Technologies
    with Zend OPcache v8.0.11, Copyright (c), by Zend Technologies

Nu, som standard, är PHP-FPM avstängt och inte aktiverat vid uppstart. För att aktivera vid uppstart och starta tjänsten, använd följande systemctl-kommandon:

sudo systemctl enable php-fpm --now

För att bekräfta att PHP-FPM nu körs, använd följande systemctl kommando:

Exempel utmatning:

Hur man installerar phpBB med LEMP (Nginx, MariaDB och PHP) på Rocky Linux 8

Kom ihåg att du inte behöver använda PHP 8.0, gör lite research om du är osäker, eller ännu bättre, fråga i phpBB-gemenskapsforum, vilket fungerar bäst för närvarande; dock är processen densamma tillsammans med kommandon för att antingen använda standardversionen eller andra alternativa versioner i dnf-modullistan.

Nu när LEMP är inställt, fortsätt till den faktiska phpBB-installationen.

Del 1. phpBB Backend Installation

Nu när du har installerat LEMP-stacken kan du nu fortsätta att installera phpBB-forum. Vid tidpunkten för den här handledningen är phpBB 3.3.4 den senaste versionen, och med tiden kommer detta dock att ändras, som de flesta andra saker, eftersom de släpps ungefär var sjätte månad. Kolla nedladdningar sida för att verifiera att versionslänken fortfarande är giltig.

Ladda ner och kataloginställningar

Handledningen kommer att hitta phpbb-rotkatalogen på platsen /var/www/html/phpbb. Som standard finns den här platsen inte på Rocky Linux 8, så du måste skapa platsen först med följande kommando.

sudo mkdir -p /var/www/html/phpbb

Fortsätt sedan med att ladda ner phpBB och flytta filerna till phpbb-katalogen:

cd /tmp && wget https://download.phpbb.com/pub/release/3.3/3.3.4/phpBB-3.3.4.zip
unzip phpBB-3.3.4.zip
sudo mv phpBB3 /var/www/html/phpbb

Nu måste vi ändra katalogbehörigheten för NGINX:

sudo chown -R $user:$user /var/www/html/phpbb
sudo chmod -R 755 /var/www/html/phpbb

MariaDB-konfiguration

Nu fortsätter du med att skapa en databas för din phpBB-installation och framtida anslagstavla.

Ta först fram MariaDB-terminalinstansen som root:

sudo mysql -u root -p

Skapa databasen för dina forum:

CREATE DATABASE phpbb;

Skapa en databasanvändare som heter phpbbuser med ett nytt lösenord:

CREATE USER 'phpbbuser'@'localhost' IDENTIFIED BY 'new_password_here';

Ge sedan användaren full åtkomst till databasen genom att göra följande:

GRANT ALL ON phpbb.* TO 'phpbbuser'@'localhost' IDENTIFIED BY 'user_password_here' WITH GRANT OPTION;

Rensa privilegierna för att aktivera ändringarna:

FLUSH PRIVILEGES;

Avsluta nu:

EXIT;

Din databas för phpBB är nu klar, och du kommer att ange detaljerna när du får installationsdelen för webbgränssnittet av handledningen.

PHP-konfiguration

För att framgångsrikt installera phpBB och använda den långt in i framtiden, bör du utöka några alternativ i php.ini-konfigurationsfilen.

Öppna först filen php.ini:

sudo nano /etc/php.ini

Därefter hittar du rekommenderade inställningar för att fungera med phpBB. Du måste hitta inställningarna och raderna och ändra dem till enligt följande:

max_execution_time = 180 (located on line 338)
max_input_time = 90 (located on line 398)
memory_limit = 256M (located on line 409)
upload_max_filesize = 64M (located on line 846)

Valfritt, några ökade säkerhetsinställningar, detta kan hoppas över:

cgi.fix_pathinfo=0 
session.use_strict_mode = 1
session.use_cookies = 1
session.cookie_secure = 1
session.use_only_cookies = 1
session.name = LCCookies (Change the name, example: POPme)
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain = example.com (example only)
session.cookie_httponly = 1
session.cookie_samesite = Strict

När gjort, CTRL + O att spara då CTRL + X för att avsluta filen.

Till skillnad från LEMP-installationer på Debian/Ubuntu som använder (www-data) användare, detta är inte fallet med Rhel/Rocky Linux-installationer. Som standard på Rocky Linux är PHP-FPM-tjänsten designad för att köras (Apache) användare, vilket är felaktigt eftersom vi använder Nginx, och detta behövde korrigeras.

Först, öppna följande (www.conf) konfigurationsfil:

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

Byt sedan ut (Apache) användare och grupp med (Nginx) användare och grupp:

hur man installerar lemp stack på rocky linux 8 med nginx, mariadb och PHP

För att spara, tryck (CTRL+O) avsluta sedan (CTRL+X).

Du måste starta om PHP för att ändringarna ska vara aktiva:

sudo systemctl restart php-fpm

Nginx-konfiguration

I ditt Nginx-serverblock måste du deklarera PHP uppströms och sedan PHP-platserna.

Det bästa sättet att skapa ett nytt serverblock med hjälp av en underdomän som forum eller community.

Ett exempel på detta är nedan, modifiera för att passa dina behov:

Skapa först serverblocket:

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

Kopiera och klistra in följande i serverblocket, ändra domännamnet, SSL, rotsökvägen och allt annat för att passa dina behov. Platserna och själva PHP bör inte röras om du inte vet vad du gör.

Endast exempel:

server {
   listen 80;
   listen [::]:80;

   server_name forums.example.com;
   root /var/www/html/phpbb;
   index index.php index.html index.htm;

    access_log /var/log/nginx/forums-access.log;
    error_log /var/log/nginx/forums-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;
  }
}

Obs, raden med "fastcgi_pass unix:/run/php-fpm/www.sock;" är viktigt, utan det kommer FPM inte att kunna kommunicera.

Därefter kan du göra ett snabbt torrkörningstest av din Nginx-tjänst för att se till att allt fungerar korrekt:

sudo nginx -t 

Exempel på utdata om allt fungerar korrekt:

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

Starta nu om Nginx-tjänsten för att phpBB ska vara tillgänglig via webbgränssnittet:

sudo systemctl restart nginx

Valfritt – Säker Nginx med Let's Encrypt SSL Free Certificate

Helst skulle du vilja köra din Nginx på HTTPS med ett SSL-certifikat. Det bästa sättet att göra detta är att använda Låt oss kryptera, en gratis, automatiserad och öppen certifikatutfärdare som drivs av ideell Internet Security Research Group (ISRG).

Först installerar du EPEL förvaret och mod_ssl paket för bättre uppdaterade paket och säkerhet.

sudo dnf install epel-release mod_ssl -y

Installera sedan certbot-paket enligt följande:

sudo dnf install python3-certbot-nginx -y

När det är installerat, kör följande kommando för att starta skapandet av ditt certifikat:

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d forums.example.com

Detta är den idealiska installationen som inkluderar forcerad HTTPS 301-omdirigeringar, Strict-Transport-Security-huvud och OCSP-häftning. Se bara till att anpassa e-post och domännamn efter dina krav.

Nu blir din URL https://forums.example.com istället för HTTP://forum.example.com.

Observera om du använder den gamla HTTP URLkommer den automatiskt att omdirigera till HTTPS.

Alternativt kan du ställa in ett cron-jobb för att förnya certifikaten automatiskt. Certbot erbjuder ett skript som gör detta automatiskt, och du kan först testa för att säkerställa att allt fungerar genom att utföra en torrkörning.

sudo certbot renew --dry-run

Om allt fungerar, öppna ditt crontab-fönster genom att använda följande terminalkommando.

sudo crontab -e

Ange sedan när den ska förnyas automatiskt. Detta bör kontrolleras minst dagligen, och om certifikatet behöver förnyas kommer skriptet inte att uppdatera certifikatet. Om du behöver hjälp med att hitta en bra tid att ställa in, använd crontab.guru gratis verktyg.

00 00 */1 * * /usr/sbin/certbot-auto renew

Save (CTRL+O) avsluta sedan (CTRL+X), och cronjob aktiveras automatiskt.

Del 2. Installation av phpBB Web UI

Om allt har fungerat korrekt, flyttar vi nu till den nominerade adressen till dina nyinstallerade phpBB-forum. För vårt exempel är det https://forum.linuxcapable.com för handledningsexemplet, och om det lyckas kommer du till huvudinstallationssidan för phpBB.

När du kommer till sidan klickar du på knappen Installera till vänster för att påbörja den grafiska installationen.

Exempelvis:

Hur man installerar phpBB med LEMP (Nginx, MariaDB och PHP) på Rocky Linux 8

Därefter kommer du att tas till nästa skärm som informerar dig om minimispecifikationer och annan teknisk information. Efter att ha läst och dubbelkollat, klicka på Installera-knappen längst ner på sidan.

Exempelvis:

Hur man installerar phpBB med LEMP (Nginx, MariaDB och PHP) på Rocky Linux 8

På nästa skärm måste du skapa administratörskontot för phpBB. Se till att detta är korrekt ifyllt och med ett starkt lösenord eftersom detta bland annat är viktigt för återställning.

Exempelvis:

Hur man installerar phpBB med LEMP (Nginx, MariaDB och PHP) på Rocky Linux 8

Nu när du har skrivit in din Administration information framgångsrikt, kommer databasinformationsskärmen att visas för att fyllas i. Behåll först standardinställningen MySQL med MySQLi Extension och skriv in lokalvärd såvida inte din databas finns på en separat server, placera sedan serverns IP istället tillsammans med porten om den ändrades från standarden.

Nästa i handledningsexemplet namngavs exempeldatabasen phpbb, med phpbbuser är användarnamnet som har åtkomst förutom root för att komma åt phpBB databas. Slutligen är prefixet som standard phpbb_, som du kan behålla detsamma, men om du ska installera flera forum, skulle det rekommenderas att ändra detta för att hålla prefixet rent och separat.

Ange dessa och klicka skicka att fortsätta.

Exempelvis:

Hur man installerar phpBB med LEMP (Nginx, MariaDB och PHP) på Rocky Linux 8

Ställ in din serverkonfiguration. Om du inte kör SSL bör standardinställningarna vara tillräckliga. Om du kör SSL, ändra dem så att de passar dina behov.

Exempelvis:

Hur man installerar phpBB med LEMP (Nginx, MariaDB och PHP) på Rocky Linux 8

Nästa sida kan du ställa in SMTP- om du har en inställning att gå in. Om inte, lämna standardinställningarna och tryck på nästa.

Exempelvis:

Hur man installerar phpBB med LEMP (Nginx, MariaDB och PHP) på Rocky Linux 8

Ställ in din Styrelsens namn/titel och språk. Om du är osäker på vad du ska namnge dina forum, lämna standardinställningarna och tryck på skicka. Du kan ändra dessa inställningar senare.

Exempelvis:

Hur man installerar phpBB med LEMP (Nginx, MariaDB och PHP) på Rocky Linux 8

Efter att ha tryckt på submit bör du se en sista skärm som liknar nedan med forumen installerade och en länk som tar dig till ACP-panelen. Om du har fel hänvisa tillbaka som ett steg, tillstånd kan ha missats.

Posta phpBB-installation

Ta bort installationskatalogen

Grattis till den här delen. Efter att ha loggat in på din ACP-panel för första gången, kommer du att se en vänlig stor röd varning som talar om för dig att ta bort eller byta namn på din installationskatalog. Det rekommenderas att ta bort, inte flytta, katalogen. För att göra detta, använd följande kommando i din terminal:

sudo rm -R /var/www/html/phpbb/install

Fixa CHMOD-behörigheter (kritiskt steg)

Medan du är aktiv med terminalkommandon är det viktigt att ställa in rätt chmod-behörigheter efter installationen. De officiella phpBB-guide om detta finns här. Om du hoppar över detta kan vissa betydande säkerhetsrisker öppnas, så följ detta exakt eller på ditt sätt om du har en bättre teknik men inte lämna standardbehörigheterna!!

sudo find /var/www/html/phpbb -type d -exec chmod 755 {} \;
sudo find /var/www/html/phpbb -type f -exec chmod 644 {} \;

Efteråt behöver vi bara ge vissa mappar/filer några speciella behörigheter enligt följande:

sudo chmod 777 -R /var/www/html/phpbb/files
sudo chmod 777 -R /var/www/html/phpbb/cache
sudo chmod 777 -R /var/www/html/phpbb/store
sudo chmod 777 -R /var/www/html/phpbb/images/avatars/upload

Underlåtenhet att göra detta kommer att bryta funktionerna på din bräda. Se till att du följer dessa vägar strikt, annars kan du av misstag ge hela din phpBB-katalog full läs- och skrivåtkomst till allmänheten, vilket åter orsakar ett säkerhetsproblem.

Ställ in Cronjob för phpBB (rekommenderas)

Det sista sista steget i vår guide är att ställa in ett cronjob. Cronjobs rekommenderas på upptagna och långsamma forum för att ställa in cron-jobb som körs var 5:e minut enligt phpBB-standarder.

Ta fram crontab:

sudo crontab -e

Första cronjob-alternativet:

*/5 * * * * /usr/bin/php /var/www/html/phpbb/bin/phpbbcli.php cron:run > /dev/null 2>&1

Exempelvis:

Hur man installerar phpBB med LEMP (Nginx, MariaDB och PHP) på Rocky Linux 8

Att spara, CTRL + O avslutas sedan med CTRL + X. Om korrekt, kommer du att se följande utdata tillbaka i din terminal:

crontab: installing new crontab

Detta betyder att den är installerad och fungerar, och det rekommenderas att köra cronjobs var 5:e minut med phpBB; Du kan dock anpassa tiderna för att passa dina behov om du vill.

Navigera nu tillbaka din adminpanel i phpBB och aktivera serverns cron-jobb i dina serverinställningar.

Exempelvis:

Hur man installerar phpBB med LEMP (Nginx, MariaDB och PHP) på Rocky Linux 8

Grattis, du har framgångsrikt installerat phpBB-forum och du är redo att designa dina forum och få igång ditt community. Det rekommenderas starkt att kolla in phpBB:s officiella hemsida och wiki eftersom den innehåller mycket information om anpassning av dina forum, vilket skulle vara för mycket att lägga i den här guiden som vi har skapat här.


Exempelvis:

Hur man installerar phpBB med LEMP (Nginx, MariaDB och PHP) på Rocky Linux 8

Kommentarer och slutsats

När det gäller säkerheten indikerar phpBB-teamet att de inte har några CVE:s på flera år och, när de undersökte möjliga intrång, fann de användare som inte fokuserade på "säkra" installationer, till exempel några av stegen vi påpekade i guiden som chmod-behörigheter. phpBB är en beprövad och testad fri programvara med öppen källkod som inte verkar försvinna när som helst snart. Jag har aldrig haft problem med en robust, härdad server, phpBB initial setup.

Tredjepartsgemenskapen är ganska bra. Några av dessa att titta på är SplickerSnap och DMZX, men jag skulle kunna lista ett 20-tal mer värda att nämnas.


Inte vad du letade efter? Försök att söka efter ytterligare tutorials.

Lämna en kommentar