Hvernig á að setja upp phpBB með LEMP (Nginx, MariaDB og PHP) á Rocky Linux 8

Með aukningu á samfélagsmiðlum eins og Reddit, Facebook, Twitter og spjallkerfum á netinu eins og ósamræmi, höfum við séð samfélögum spjallborða á netinu minnka. Persónulega, eins og ég minntist á, eru þeir hægt og rólega að snúa aftur í sérstökum sesssamfélögum yfir nýrri viðbæturnar. phpBB er einn stærsti opinn uppspretta spjallforritahugbúnaður á markaðnum.

phpBB er ekki eini kosturinn. Aðrir eins og VBulletin, Nodebb, Xenforo og svo framvegis, en flestir þeirra eru greiddir með misjöfnum umsögnum. VBulletin var áður orkuver, en nú er það skuggi af fyrra sjálfi sínu. Xenforo er einn af best borguðu bulletin hugbúnaðinum. Hins vegar er það bara mín persónulega skoðun, en ég mun alltaf velja phpBB fyrst þar sem það er ókeypis, opinn uppspretta og hefur nokkra frábæra þriðja aðila opinn uppspretta forritara, bæði nýja dev og þá sem hafa verið til frá upphafi.

Í eftirfarandi kennslu muntu læra hvernig á að setja upp LEMP með því að nota sjálfgefna pakka frá Rocky Linux 8 App straumnum eða aðra pakka frá EPEL geymslunni, ásamt því að setja upp phpBB til notkunar í fyrsta skipti á Rocky Linux 8.

Forsendur

  • Mælt með stýrikerfi: Rocky Linux 8.+.
  • Notendareikningur: Notendareikningur með sudo eða rót aðgang.

Uppfærðu stýrikerfi

Uppfærðu þína Rocky linux stýrikerfi til að tryggja að allir núverandi pakkar séu uppfærðir:

sudo dnf upgrade --refresh -y

Kennsluefnið mun nota sudo skipun og að því gefnu að þú sért með sudo stöðu.

Til að staðfesta sudo stöðu á reikningnum þínum:

sudo whoami

Dæmi um úttak sem sýnir sudo stöðu:

[joshua@rockylinux ~]$ sudo whoami
root

Til að setja upp núverandi eða nýjan sudo reikning skaltu fara á kennsluna okkar á Hvernig á að bæta notanda við Sudoers á Rocky Linux.

Til að nota rótarreikningur, notaðu eftirfarandi skipun með rót lykilorðinu til að skrá þig inn.

su

Fáðu


Valfrjálst. Settu upp EPEL geymslu

Fyrsta skrefið er að flytja inn geymsluna frá EPEL (Auka pakkar fyrir Enterprise Linux). Þessi geymsla mun gefa þér tækifæri til að setja upp mismunandi pakka á Rocky Linux 8 App Stream valfrjálst. Oft eru sumar þessara nýrri en á sama tíma ótrúlega stöðugar miðað við að setja upp fullkomna nýjustu pakkana beint frá upprunanum.

sudo dnf install epel-release

Dæmi úttak:

Hvernig á að setja upp phpBB með LEMP (Nginx, MariaDB og PHP) á Rocky Linux 8

Sláðu inn "Y," ýttu síðan á „SLAÐA LYKILL“ til að halda áfram með uppsetninguna. Athugaðu, þú verður hugsanlega beðinn um að flytja inn GPG lykill ef þú setur upp frá EPEL eða annarri geymslu skaltu slá inn „Y“ ef þetta gerist.

Það er alltaf góð hugmynd að sannreyna hvort geymslunni hafi verið bætt við; þetta er hægt að gera með dnf repolist skipun og hér að neðan:

sudo dnf repolist

Dæmi úttak:

Hvernig á að setja upp phpBB með LEMP (Nginx, MariaDB og PHP) á Rocky Linux 8

Eins og þú sérð er EPEL geymslunni rétt bætt við. Handhægar vísbending, þú getur endurnotað þessa skipun til að sjá hvers kyns innflutning á geymslum í framtíðinni.

Settu upp Nginx - (LEMP Stack)

Valfrjálst. Breyttu Nginx útgáfustraumi í EPEL

Til að hefja uppsetningu LEMP stafla þarftu að setja upp Nginx vefþjónn. Kennslan myndi sýna valfrjálst val um hvaða Nginx straum á að setja upp, sem er vel ef þú settir upp EPEL geymsluna.

Fyrst skaltu skrá Nginx sniðin sem eru tiltæk með því að nota skipun dnf einingalista í flugstöðinni þinni:

sudo dnf module list nginx

Dæmi úttak:

Hvernig á að setja upp phpBB með LEMP (Nginx, MariaDB og PHP) á Rocky Linux 8

Þar sem kennslan beinist að því að nota EPEL útgáfuna verður Nginx aðallínan valin. En fyrst þarftu að endurstilla Nginx einingarnar til að breytast.

sudo dnf module reset nginx

Dæmi úttak:

Hvernig á að setja upp phpBB með LEMP (Nginx, MariaDB og PHP) á Rocky Linux 8

Sláðu inn "Y," ýttu síðan á „SLAÐA LYKILL“ til að halda áfram að endurstilla einingalistann.

Næst skaltu virkja Nginx eininguna sem þú kýst. Fyrir kennsluna verður EPEL valið og ef þú vilt nota Nginx mainline muntu slá inn "nginx:mainline," ef þú vilt frekar stöðugu útgáfuna, þá væri það „nginx.1:20“.

Til að setja upp EPEL mainline:

sudo dnf module enable nginx:mainline

Til að setja upp EPEL stöðugt:

sudo dnf module enable nginx:1.20

Setjið Nginx

Nú er kominn tími til að setja upp Nginx sem hluta af LEMP uppsetningunni. Hvort sem þú hefur sett upp EPEL og notar Nginx build byggt á þeirri geymslu eða notar sjálfgefið Rocky Linux 8 App straumur, skipanirnar verða þær sömu; bara sumir af the framleiðsla sem eru aðeins dæmi mun vera mismunandi.

Til að setja upp Nginx skaltu nota eftirfarandi skipun í flugstöðinni þinni:

sudo dnf install nginx

Dæmi úttak:

Hvernig á að setja upp phpBB með LEMP (Nginx, MariaDB og PHP) á Rocky Linux 8

Sláðu inn "Y," ýttu síðan á „SLAÐA LYKILL“ til að halda áfram með uppsetninguna.

Staðfestu uppsetninguna með því að athuga smíðaútgáfuna:

nginx -v

Dæmi úttak:

nginx version: nginx/1.14.1

Sjálfgefið, þegar Nginx er sett upp á Rocky Linux, er það ekki virkt. Til að virkja við ræsingu og til að byrja skaltu nota eftirfarandi:

sudo systemctl enable nginx --now

Dæmi um að virkja með góðum árangri (sammerki):

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

Athugaðu nú til að sjá stöðu Nginx þjónustunnar þinnar með eftirfarandi flugstöðvarskipun:

systemctl status nginx

Dæmi um úttak sem segir að allt sé í lagi:

Hvernig á að setja upp phpBB með LEMP (Nginx, MariaDB og PHP) á Rocky Linux 8

Nú geturðu staðfest að Nginx vefþjónninn þinn sé starfhæfur með því að slá inn HTTP://server-ip or HTTP://lén í netvafranum þínum og þú ættir að fá eftirfarandi:

Hvernig á að setja upp phpBB með LEMP (Nginx, MariaDB og PHP) á Rocky Linux 8

Ef þú hefur ekki aðgang að þessari síðu gætirðu þurft að stilla eldveggstillingarnar sem fjallað er um í næsta kafla.


Fáðu


Stilla eldveggsreglur

Það bætir ekki eldveggsreglum sjálfkrafa við staðlaða 80 eða 443 tengi þegar Nginx er sett upp. Áður en þú heldur áfram ættirðu að setja eftirfarandi reglur, þetta fer eftir því hvaða höfn þú munt nota, en allir valkostir eru skráðir.

Opna port 80 eða HTTP:

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

Opnaðu port 443 eða HTTPS:

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

Endurhlaða eldvegg til að gera breytingar í gildi

sudo firewall-cmd --reload

Settu upp MariaDB (LEMP STACK)

Valfrjálst. Breyta í MariaDB 10.5

Rocky Linux App straumur setur sjálfgefið upp MariaDB 10.3, eldri en ótrúlega stöðuga útgáfu. Hins vegar er nýjasta byggingin af MariaDB á þeim tíma sem þessi kennsluefni sem er flokkuð sem stöðug útgáfa MariaDB 10.6.4. Eins og þú getur ímyndað þér er munurinn ansi verulegur; Hins vegar, þar sem flestir notendur Rocky Linux kjósa að nota stöðugleika fram yfir fremstu röð, mun lausnin vera að nota MariaDB 10.5 sem er nýrri á sama tíma og hún er ótrúlega stöðug og fær enn villuleiðréttingar og öryggisuppfærslur.

Fyrst skaltu endurstilla MariaDB einingalistann:

sudo dnf module reset mariadb

Dæmi úttak:

Hvernig á að setja upp phpBB með LEMP (Nginx, MariaDB og PHP) á Rocky Linux 8

Sláðu inn "Y," ýttu síðan á „SLAÐA LYKILL“ til að halda áfram með endurstillingu einingarinnar.

Næst skaltu gera MariaDB 10.5 kleift að vera aðaluppspretta þegar MariaDB er sett upp.

sudo dnf module enable mariadb:10.5

Dæmi úttak:

Hvernig á að setja upp phpBB með LEMP (Nginx, MariaDB og PHP) á Rocky Linux 8

Sláðu inn "Y," ýttu síðan á „SLAÐA LYKILL“ til að halda áfram með mátskipta yfir í MariaDB 10.5.

Settu upp MariaDB

Nú er kominn tími til að setja upp MariaDB; eftir því hvaða útgáfu þú velur, getur úttakið verið mismunandi, en skipanirnar verða nákvæmlega þær sömu.

sudo dnf install mariadb-server mariadb

Dæmi úttak:

Hvernig á að setja upp phpBB með LEMP (Nginx, MariaDB og PHP) á Rocky Linux 8

Sláðu inn "Y," ýttu síðan á „SLAÐA LYKILL“ til að halda áfram með uppsetninguna.

Til að staðfesta uppsetningu MariaDB og athuga hvaða smíði er uppsett skaltu slá inn eftirfarandi skipun:

mysql --version

Dæmi úttak:

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

Athugaðu MariaDB netþjónsstöðu

Nú hefurðu sett upp MariaDB og þú getur staðfest stöðu gagnagrunnshugbúnaðarins með því að nota eftirfarandi systemctl skipun:

systemctl status mariadb

Sjálfgefið er að MariaDB staða sé slökkt. Til að ræsa MariaDB, notaðu eftirfarandi skipun:

sudo systemctl enable mariadb --now

Athugaðu stöðuna aftur og þú ættir að fá eftirfarandi:

Hvernig á að setja upp phpBB með LEMP (Nginx, MariaDB og PHP) á Rocky Linux 8

Til að stöðva MariaDB:

sudo systemctl stop mariadb

Til að virkja MariaDB við ræsingu kerfisins:

sudo systemctl enable mariadb

Til að slökkva á MariaDB við ræsingu kerfisins:

sudo systemctl disable mariadb

Til að endurræsa MariaDB þjónustuna:

sudo systemctl restart mariadb

Öruggt MariaDB með öryggisskriftu

Þegar þú setur upp MariaDB ferskar, sjálfgefnar stillingar eru taldar veikar samkvæmt flestum stöðlum og valda áhyggjum af því að leyfa hugsanlega innrás eða misnota tölvuþrjóta. Lausn er að keyra uppsetningaröryggishandritið sem fylgir MariaDB uppsetning.

Notaðu fyrst eftirfarandi skipun til að ræsa (mysql_secure_installation):

sudo mysql_secure_installation

Næst muntu fá leiðbeiningar þar sem þú ert beðinn um að slá inn (MariaDB rót lykilorðið). Í bili, ýttu á (KOMA INN) lykilorð þar sem rótarlykilorðið er ekki enn stillt eins og hér að neðan:

Næst skaltu slá inn (Y) og ýttu á enter til að setja upp (Root) lykilorð eins og hér að neðan:

Næsta röð spurninga sem þú getur örugglega snert (KOMA INN), sem mun svara (Y) við öllum síðari spurningum sem biðja þig um (fjarlægðu nafnlausa notendur, slökktu á ytri rótarinnskráningu og fjarlægðu prófunargagnagrunninn). Takið eftir (Y) er stór, sem þýðir að það er sjálfgefið svar þegar þú ýtir á (KOMA INN) lykillinn.

Dæmi hér að neðan:

Hvernig á að setja upp phpBB með LEMP (Nginx, MariaDB og PHP) á Rocky Linux 8

Yfirlit yfir það sem hefði átt að gera hér að ofan:

  • Að setja lykilorð fyrir rót reikninga.
  • Fjarlægir rótarreikninga sem eru aðgengilegir utan staðbundins hýsils.
  • Fjarlægir nafnlausa notendareikninga.
  • Fjarlægir prófunargagnagrunninn, sem nafnlausir notendur geta sjálfgefið nálgast.

Þetta skref er nauðsynlegt fyrir MariaDB gagnagrunnsöryggi og ætti ekki að breyta eða sleppa því nema þú vitir hvað þú ert að gera.


Fáðu


Settu upp PHP og PHP-FPM (LEMP STACK)

Valfrjálst. Flytja inn PHP 8.0 geymslu

Síðasti hlutinn til að setja upp í LEMP uppsetningunni þinni er PHP. Þú þarft að setja upp (PHP-FPM) sem er stytting á (FastCGI Process Manager). Það er mjög mælt með uppsetningu PHP (Remi) geymsla. Fyrir þá sem ekki vita þá er Remi umsjónarmaður PHP útgáfur á Rhel fjölskyldunni.

Fyrir kennsluna munum við setja upp nýjasta PHP 8.0. Hins vegar verður að hafa í huga á meðan phpBB virkar vel með PHP 8.0 og nýrri, sum viðbótin gætu átt í vandræðum, svo vertu viss um að þú sért aðeins að setja upp virkar og uppfærðar viðbætur sem ættu að vera staðallinn í hvaða CMS sem er. Ef þú lendir í vandræðum skaltu fjarlægja PHP 8.0 og nota PHP 7.4.

Til að setja upp PHP úr geymslu Remi þarftu að hafa sett upp EPEL geymsluna í upphafi kennslunnar. Sjálfgefið er PHP 7.2 sjálfgefið PHP val fyrir venjulega uppsetningu á Rocky Linux. Fljótleg ráð er að nota (listi php) skipun til að sjá valkostina sem eru í boði og sjálfgefna.

gera (Remi geymsla) með eftirfarandi:

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

Aftur sem dæmi framleiðsla, sláðu inn (Y) og sláðu inn til að halda áfram:

Hvernig á að setja upp phpBB með LEMP (Nginx, MariaDB og PHP) á Rocky Linux 8

Næst skaltu nota (dnf) skipun til að uppfæra geymslulistann þinn:

sudo dnf update

Skráðu nú einingarnar sem eru tiltækar fyrir PHP með því að nota eftirfarandi skipun:

sudo dnf module list php

Þú munt fá eftirfarandi úttak eins og hér að neðan. Athugið (D) merki fyrir sjálfgefið PHP sem á að setja upp:

Hvernig á að setja upp phpBB með LEMP (Nginx, MariaDB og PHP) á Rocky Linux 8

Eins og þú sérð hér að ofan, þá (D) merkið er við hliðina á PHP 7.2, sem þú þarft að endurstilla og breyta til að halda áfram að setja upp PHP 8.0 á Rocky Linux. Til að endurstilla PHP listann er auðvelt með eftirfarandi skipun:

sudo dnf module list reset php

Næst skaltu virkja PHP 8.0 með eftirfarandi skipun:

sudo dnf module enable php:remi-8.0 

Athugið, þú getur virkjað PHP-7.4 með því að fylgja dnf mát endurstilla skipun og nota dnf eining virkjaðu php:remi-7.4 skipunina í staðinn. Veldu útgáfu sem þú þarfnast fyrir forritið, og þetta var bara dæmi um að hafa nýjustu PHP útgáfuna af hvaða PHP vali sem þú ákveður.

Settu upp PHP og PHP-FPM

Næst skaltu setja upp PHP á netþjóninum þínum; eftir hvaða útgáfu af PHP mun úttakið líta öðruvísi út; skipanirnar eru hins vegar þær sömu.

sudo dnf install php

Dæmi úttak:

Hvernig á að setja upp phpBB með LEMP (Nginx, MariaDB og PHP) á Rocky Linux 8

Sláðu inn "Y," ýttu síðan á „SLAÐA LYKILL“ til að halda áfram með uppsetninguna. Athugaðu, þú gætir verið beðinn um að slá inn "J."

Staðfestu uppsetninguna og athugaðu útgáfuna og smíðina:

php -v

Dæmi úttak:

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

Nú, sjálfgefið er slökkt á PHP-FPM og ekki virkt við ræsingu. Til að virkja við ræsingu og ræsa þjónustuna skaltu nota eftirfarandi systemctl skipanir:

sudo systemctl enable php-fpm --now

Til að staðfesta að PHP-FPM sé í gangi skaltu nota eftirfarandi systemctl skipun:

Dæmi úttak:

Hvernig á að setja upp phpBB með LEMP (Nginx, MariaDB og PHP) á Rocky Linux 8

Mundu að þú þarft ekki að nota PHP 8.0, gerðu nokkrar rannsóknir ef þú ert ekki viss, eða betra, spyrðu á phpBB samfélagsspjallborðum, sem virkar best eins og er; Hins vegar er ferlið það sama ásamt skipunum um að nota annað hvort sjálfgefna eða aðrar aðrar útgáfur í dnf einingarlistanum.

Nú þegar LEMP er sett upp skaltu halda áfram að raunverulegu phpBB uppsetningunni.

Part 1. phpBB Backend Uppsetning

Nú þegar þú hefur sett upp LEMP stafla, geturðu nú haldið áfram að setja upp phpBB spjallborð. Frá og með þessum tíma er phpBB 3.3.4 nýjasta útgáfan, og með tímanum, eins og flest annað, mun þetta breytast þar sem þeir gefa út á um það bil sex mánaða fresti. Athugaðu niðurhals síðu til að staðfesta að útgáfutengillinn sé enn í gildi.

Niðurhal og uppsetning möppu

Kennslan mun finna phpbb rótarskrána á staðnum /var/www/html/phpbb. Sjálfgefið er að þessi staðsetning er ekki til á Rocky Linux 8, svo þú verður að búa til staðsetninguna fyrst með eftirfarandi skipun.

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

Næst skaltu halda áfram að hlaða niður phpBB og flytja skrárnar í phpbb möppuna:

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

Nú þurfum við að breyta möppuheimildinni fyrir NGINX:

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

MariaDB stillingar

Nú heldurðu áfram að búa til gagnagrunn fyrir phpBB uppsetninguna þína og framtíðar tilkynningatöflu.

Fyrst skaltu koma upp MariaDB flugstöðinni sem rót:

sudo mysql -u root -p

Búðu til gagnagrunninn fyrir spjallborðin þín:

CREATE DATABASE phpbb;

Búðu til gagnagrunnsnotanda sem heitir phpbbuser með nýju lykilorði:

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

Veittu síðan notandanum fullan aðgang að gagnagrunninum með því að gera eftirfarandi:

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

Skolaðu réttindin til að gera breytingarnar virkar:

FLUSH PRIVILEGES;

Farðu nú út:

EXIT;

Gagnagrunnurinn þinn fyrir phpBB er nú tilbúinn og þú munt slá inn upplýsingarnar þegar þú færð uppsetningarhlutann fyrir vefviðmótið af kennslunni.

PHP stillingar

Til að setja upp phpBB með góðum árangri og reka það langt fram í tímann, ættir þú að auka nokkra valkosti í php.ini stillingarskránni.

Fyrst skaltu opna php.ini skrána:

sudo nano /etc/php.ini

Næst muntu finna ráðlagðar stillingar til að vinna með phpBB. Þú þarft að finna stillingar og línur og breyta þeim í eftirfarandi:

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)

Valfrjálst, nokkrar auknar öryggisstillingar, hægt er að sleppa þessu:

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

Þegar búið er að gera CTRL + O að spara þá CTRL + X til að hætta í skránni.

Ólíkt LEMP uppsetningum á Debian/Ubuntu sem nota (www-gögn) notandi, þetta er ekki raunin með Rhel/Rocky Linux uppsetningar. Sjálfgefið er á Rocky Linux, PHP-FPM þjónustan er hönnuð til að keyra (Apache) notandi, sem er rangt þar sem við erum að nota Nginx, og þetta þurfti að leiðrétta.

Í fyrsta lagi, opna eftirfarandi (www.conf) stillingarskrá:

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

Næst skaltu skipta um (Apache) notandi og hópur með (Nginx) notandi og hópur:

hvernig á að setja upp Lemp Stack á Rocky Linux 8 með nginx, mariadb og PHP

Til að vista, ýttu á (CTRL+O) farðu síðan út (CTRL+X).

Þú þarft að endurræsa PHP til að breytingarnar verði virkar:

sudo systemctl restart php-fpm

Nginx stillingar

Í Nginx miðlarablokkinni þinni þarftu að lýsa PHP andstreymis og síðan PHP staðsetningunum.

Besta leiðin til að búa til nýja netþjónablokk með því að nota undirlén eins og spjallborð eða samfélag.

Dæmi um þetta er hér að neðan, breyttu til að henta þínum þörfum:

Fyrst skaltu búa til netþjónablokkina:

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

Afritaðu og límdu nú eftirfarandi inn í netþjónsblokkina, breyttu léninu, SSL, rótarslóðinni og öllu öðru til að henta þínum þörfum. Ekki ætti að snerta staðsetningarnar og PHP sjálft nema þú vitir hvað þú ert að gera.

Aðeins dæmi:

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

Athugið, línan með “fastcgi_pass unix:/run/php-fpm/www.sock;” er nauðsynlegt, án þess mun FPM ekki geta átt samskipti.

Næst geturðu gert fljótt þurrkunarpróf á Nginx þjónustunni þinni til að ganga úr skugga um að allt virki rétt:

sudo nginx -t 

Dæmi úttak ef allt virkar rétt:

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

Endurræstu nú Nginx þjónustuna til að phpBB sé aðgengileg í gegnum vefviðmótið:

sudo systemctl restart nginx

Fáðu


Valfrjálst – Öruggt Nginx með Let's Encrypt SSL Free Certificate

Helst myndirðu vilja keyra Nginx þinn á HTTPS með SSL vottorði. Besta leiðin til að gera þetta er að nota Við skulum dulkóða, ókeypis, sjálfvirkt og opið vottunaryfirvald rekið af Internet Security Research Group (ISRG) sem ekki er rekin í hagnaðarskyni.

Fyrst skaltu setja upp EPEL geymsla og mod_ssl pakki fyrir betur uppfærða pakka og öryggi.

sudo dnf install epel-release mod_ssl -y

Settu næst upp certbot pakki eins og hér segir:

sudo dnf install python3-certbot-nginx -y

Þegar það hefur verið sett upp skaltu keyra eftirfarandi skipun til að hefja gerð vottorðsins þíns:

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

Þetta er tilvalin uppsetning sem inniheldur þvingaða HTTPS 301 tilvísanir, Strict-Transport-Security haus og OCSP heftingu. Gakktu úr skugga um að aðlaga tölvupóstinn og lénið að þínum þörfum.

Nú verður vefslóðin þín https://forums.example.com Í stað þess að HTTP://forum.example.com.

Athugið, ef þú notar gamla HTTP vefslóð, mun það sjálfkrafa vísa til HTTPS.

Valfrjálst geturðu stillt cron starf til að endurnýja vottorðin sjálfkrafa. Certbot býður upp á handrit sem gerir þetta sjálfkrafa, og þú getur fyrst prófað til að ganga úr skugga um að allt virki með því að framkvæma þurrkeyrslu.

sudo certbot renew --dry-run

Ef allt virkar skaltu opna crontab gluggann þinn með því að nota eftirfarandi flugstöðvaskipun.

sudo crontab -e

Næst skaltu tilgreina tímann þegar það ætti að endurnýja sjálfkrafa. Þetta ætti að vera athugað daglega að lágmarki og ef endurnýja þarf vottorðið mun handritið ekki uppfæra vottorðið. Ef þú þarft hjálp við að finna góðan tíma til að stilla skaltu nota crontab.guru ókeypis tól.

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

Vista (CTRL+O) farðu síðan út (CTRL+X), og cronjob verður sjálfkrafa virkt.

Part 2. Uppsetning phpBB vefviðmóts

Ef allt hefur virkað rétt færum við okkur nú yfir á tilnefnt heimilisfang nýuppsettra phpBB spjallborðanna þinna. Fyrir dæmið okkar er það https://forums.linuxcapable.com fyrir kennsludæmið og ef vel tekst til kemurðu á aðaluppsetningarsíðuna fyrir phpBB.

Þegar þú ert kominn á síðuna skaltu smella á Setja upp hnappinn vinstra megin efst til að hefja myndræna uppsetningu.

Dæmi:

Hvernig á að setja upp phpBB með LEMP (Nginx, MariaDB og PHP) á Rocky Linux 8

Næst verðurðu fluttur á næsta skjá þar sem þú segir þér lágmarksupplýsingar og aðrar tæknilegar upplýsingar. Eftir að hafa lesið og tvítékkað skaltu smella á Setja upp hnappinn neðst á síðunni.

Dæmi:

Hvernig á að setja upp phpBB með LEMP (Nginx, MariaDB og PHP) á Rocky Linux 8

Á næsta skjá þarftu að búa til admin reikning fyrir phpBB. Gakktu úr skugga um að þetta sé rétt fyllt og með sterku lykilorði þar sem það er meðal annars mikilvægt fyrir endurheimt.

Dæmi:

Hvernig á að setja upp phpBB með LEMP (Nginx, MariaDB og PHP) á Rocky Linux 8

Nú þegar þú hefur slegið inn þinn admin upplýsingar tókst, mun gagnagrunnsupplýsingaskjárinn birtast til að fyllast út. Fyrst skaltu halda sjálfgefnu MySQL með MySQLi framlengingu og sláðu inn localhost nema gagnagrunnurinn þinn sé staðsettur á sérstökum netþjóni, settu þá IP-tölu netþjónsins í staðinn ásamt porti ef honum var breytt frá sjálfgefnu.

Næst í kennsludæminu var dæmigagnagrunnurinn nefndur phpbb, með phpbbuser vera notandanafnið sem hefur aðgang fyrir utan rót til að fá aðgang að phpBB gagnasafn. Að lokum er forskeytið sjálfgefið phpbb_, sem þú getur haldið óbreyttum, en ef þú ætlar að setja upp mörg spjallborð, þá væri ráðlagt að breyta þessu til að halda forskeytinu hreinu og aðskildu.

Sláðu inn þessar og smelltu leggja að halda áfram.

Dæmi:

Hvernig á að setja upp phpBB með LEMP (Nginx, MariaDB og PHP) á Rocky Linux 8

Stilltu netþjóninn þinn. Ef þú ert ekki að keyra SSL ættu sjálfgefnar stillingar að vera fullnægjandi. Ef þú ert að keyra SSL skaltu breyta þeim til að henta þínum þörfum.

Dæmi:

Hvernig á að setja upp phpBB með LEMP (Nginx, MariaDB og PHP) á Rocky Linux 8

Næsta síða geturðu sett upp SMTP ef þú ert með uppsetningu til að slá inn. Ef ekki, skildu eftir sjálfgefna stillingar og ýttu á næst.

Dæmi:

Hvernig á að setja upp phpBB með LEMP (Nginx, MariaDB og PHP) á Rocky Linux 8

Stilltu þinn Nafn stjórnar / titill og tungumál. Ef þú ert ekki viss um hvað þú átt að nefna spjallborðin þín skaltu skilja eftir sjálfgefna stillingar og ýta á Senda. Þú getur breytt þessum stillingum síðar.

Dæmi:

Hvernig á að setja upp phpBB með LEMP (Nginx, MariaDB og PHP) á Rocky Linux 8

Eftir að hafa smellt á Senda ættirðu að sjá lokaskjá svipað og hér að neðan með spjallborðunum uppsettum og hlekk sem fer með þig á ACP spjaldið. Ef þú ert með villur, vísaðu til baka sem skref, gæti verið misst af leyfi.


Fáðu


Sendu phpBB uppsetningu

Fjarlægðu uppsetningarskrá

Til hamingju með að hafa náð þessum hluta. Eftir að hafa skráð þig inn á ACP spjaldið þitt í fyrsta skipti muntu sjá vingjarnlega stóra rauða viðvörun sem segir þér að fjarlægja eða endurnefna uppsetningarskrána þína. Mælt er með því að eyða, ekki færa, möppuna. Til að gera þetta skaltu nota eftirfarandi skipun í flugstöðinni þinni:

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

Lagfærðu CHMOD heimildir (mikilvægt skref)

Á meðan þú ert virkur að gera flugstöðvarskipanir er mikilvægt að stilla rétta chmod heimildir eftir uppsetningu. Í opinbera phpBB leiðbeiningar um þetta má finna hér. Ef þú sleppir þessu getur það skilið eftir verulega öryggisáhættu, svo vinsamlegast fylgdu þessu nákvæmlega eða á þinn hátt ef þú hefur betri tækni en ekki skildu eftir sjálfgefnar heimildir!!

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

Síðan þurfum við aðeins að gefa sumum möppum/skrám sérstakar heimildir sem hér segir:

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

Ef þú gerir þetta ekki mun virkni borðsins þíns brjóta niður. Gakktu úr skugga um að þú fylgir þessum slóðum nákvæmlega, annars gætirðu óvart gefið allri phpBB skránni þinni fullan les- og skrifaðgang til almennings, sem veldur aftur öryggisvandamálum.

Stilltu Cronjob fyrir phpBB (mælt með)

Síðasta síðasta skrefið í handbókinni okkar er að setja upp cronjob. Mælt er með Cronjobs á uppteknum og hægum spjallborðum til að setja upp cron störf til að keyra á 5 mínútna fresti samkvæmt phpBB stöðlum.

Komdu upp crontab:

sudo crontab -e

Fyrsti cronjob valkostur:

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

Dæmi:

Hvernig á að setja upp phpBB með LEMP (Nginx, MariaDB og PHP) á Rocky Linux 8

Til að spara, CTRL + O fer síðan út með CTRL + X. Ef rétt, munt þú sjá eftirfarandi úttak aftur í flugstöðinni þinni:

crontab: installing new crontab

Þetta þýðir að það er uppsett og virkar, og það er ráðlagt að keyra cronjobs á 5 mínútna fresti með phpBB; þó geturðu stillt tímana að þínum þörfum ef þú vilt.

Farðu nú yfir stjórnborðið þitt aftur í phpBB og virkjaðu cron starfið á netþjóninum í stillingum netþjónsins.

Dæmi:

Hvernig á að setja upp phpBB með LEMP (Nginx, MariaDB og PHP) á Rocky Linux 8

Til hamingju, þú hefur sett upp phpBB spjallborð með góðum árangri og þú ert tilbúinn til að hanna spjallborðin þín og koma samfélaginu þínu af stað. Það er mjög mælt með því að skoða opinbera vefsíðu phpBB's og wiki þar sem hún inniheldur mikið af upplýsingum um sérsníða spjallborða, sem væri of mikið til að setja í þessa handbók sem við höfum búið til hér.


Dæmi:

Hvernig á að setja upp phpBB með LEMP (Nginx, MariaDB og PHP) á Rocky Linux 8

Athugasemdir og niðurstaða

Hvað öryggi varðar, þá gefur phpBB teymið til kynna að þeir hafi engin CVE's í mörg ár og, þegar verið var að rannsaka hugsanleg brot, fann notendur ekki að einblína á "öruggt" uppsetningar, eins og sum skrefin sem við bentum á í handbókinni eins og chmod heimildir. phpBB er reyndur og prófaður opinn hugbúnaður sem virðist ekki vera að hverfa í bráð. Ég átti aldrei í vandræðum með öflugan, hertan netþjón, upphafsuppsetningu phpBB.

Þriðja aðila samfélagið er nokkuð gott. Nokkrar af þessum til að skoða eru SplickerSnap og DMZX, en ég gæti talið upp 20 eða svo fleiri sem vert er að nefna.

Leyfi a Athugasemd