Hvernig á að setja upp phpBB með Nginx (LEMP) á Ubuntu 20.04

phpBB er einn stærsti opinn uppspretta spjallforritahugbúnaður á markaðnum. 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 virðist sem þeir séu smám saman að snúa aftur í sérstökum sesssamfélögum yfir nýrri viðbætur, eins og ég nefndi bara.

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.

Í dag munum við skoða uppsetningu phpBB á netþjóninum okkar, ásamt fyrstu skrefunum í fyrstu uppsetningu á stjórnborði stjórnanda. Vinsamlegast athugaðu að handbókin hér að neðan útskýrir ekki hvernig á að setja upp NGINX, MariaDB eða PHP 7.4 og gerir ráð fyrir að þú hafir þetta í lagi. Við munum gefa út fleiri greinar um hvernig á að setja upp LEMP í tíma með fullkominni uppsetningu.

Skref 1. Uppsetning fyrir phpBB

Í fyrsta lagi þurfum við að athuga að PHP-7.4 forsendurnar séu uppsettar. Við mælum með því að nota ondrej/PHP yfir sjálfgefna Ubuntu uppsettu geymslan þar sem hún er uppfærðari og ondrej er aðalframleiðandinn sem vinnur á PHP og Debian. Þess vegna eru pakkarnir nokkuð öruggt veðmál til að nota geymsluna hans þar sem hún er uppfærðari.

sudo add-apt-repository ppa:ondrej/php
phpBB Ubuntu 20.04 settu upp ondrey ppa ýttu á enter

Smelltu á enter til að setja upp sérsniðna PPA.

Ef þú vilt fjarlægja það í framtíðinni skaltu gera það með eftirfarandi hætti:

sudo apt install ppa-purge \
sudo ppa-purge ppa:ondrej/php

Næst setjum við upp forsendur.

sudo apt install php7.4-fpm php7.4-common php7.4-mbstring php7.4-xmlrpc php7.4-soap php7.4-gd php7.4-xml php7.4-intl php7.4-mysql php7.4-cli php7.4-ldap php7.4-zip php7.4-mcrypt php7.4-curl php7.4-json php7.4-opcach php7.4-readline php7.4-xml php7.4-gd unzip -y

Í öðru lagi, eftir að hafa sett upp forsendurnar, þurfum við að ganga úr skugga um að við höfum kerfið okkar uppfært þar sem mörg PPA frá ondrej er meira á undan sjálfgefna Ubuntu í nokkrum öðrum stuðningspakka.

sudo apt update && sudo apt full-upgrade -y

Aðal phpBB uppsetning

Til að setja upp phpBB er mælt með því að breyta /etc/php7.4/fpm/php.ini og stilla eftirfarandi. Vinsamlegast athugaðu að þú getur haft hærri tölur, en þetta er mælt með að lágmarki:

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

Valfrjálst, á meðan þú ert að breyta php.ini þínum geturðu breytt, fundið og breytt sumum af þeim hér að neðan til að herða netþjóninn þinn. Mundu að fjarlægja ; til að afskrifa línuna:

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

Mikilvægur þáttur sem þú verður að stilla ef þú ætlar að nota viðbótina fyrir phpBB fyrir sjálfvirka öryggisafrit er að stilla tímabelti í PHP FPM og PHP CLI. Þú getur afritað og límt allar þessar stillingar og þær hér að ofan á milli beggja php.ini skráa:

php lemp tímabelti

Nú höldum við áfram að búa til gagnagrunn fyrir spjallborðin þín með því að nota MariaDB flugstöðvarinntak:

sudo mysql -u root -p

Búðu síðan til nafn gagnagrunnsins. Mælt er með því að þú notir ekki phpbb sem nafn ef þú gætir bætt fleiri spjallborðum við þennan gagnagrunn, nefndu gagnagrunninn einstaklega:

CREATE DATABASE phpbb;

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

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

Síðan veitum við 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;

Að lokum vistum við breytingarnar okkar og hættum:

FLUSH PRIVILEGES;
EXIT;

Höldum áfram í næsta hluta, við erum að fara að hlaða niður nýjustu útgáfu phpBB. Frá og með dagsetningunni 24/05/2021 er stöðug útgáfa phpBB 3.3.4, gefin út í apríl 2021. Stöðugar útgáfur eru á bilinu 3 til 6 mánuðir. Við halum niður phpBB og gerum eins og hér að neðan:

cd /tmp && 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

Á meðan þú framkvæmir hreyfingu geturðu nefnt möppuna hvað sem þú vilt, við notuðum til dæmis /www/html/phpbb eingöngu, en það gæti verið /www/html/bytesboss-forums.

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

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

Stilla NGINX

Nú förum við yfir í að breyta stillingum NGINX spjallborðssíðunnar:

Bættu við andstreymisinnstungunni fyrir PHP7.4-FPM fyrst á undan miðlarahlutanum:

upstream phpbb {
server unix:/run/php/php7.4-fpm.sock;
}

Næst, í Server flipanum okkar, bætum við eftirfarandi við:

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

	# Pass the php scripts to FastCGI server specified in upstream declaration.
	location ~ \.php(/|$) {
		include fastcgi.conf;
		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_pass phpmmo;
		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_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_pass phpmmo;
		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;
}

Dæmi í Microsoft Visual Studio breytingu um hvernig það mun líta út í grófum dráttum, þetta er ekki öll stillingarskráin heldur aðeins til sýnis:

phpBB Ubuntu 20.04 setja aðeins upp microsoft visual nginx miðlara stillingar dæmi

Næst virkjum við síðuna í NGINX:

sudo ln -s /etc/nginx/sites-available/phpbb /etc/nginx/sites-enabled/

Prófaðu NGINX áður en algjörlega endurræst:

sudo nginx -t

Engar villur, þá geturðu haldið áfram að endurræsa NGINX tilvikið:

sudo systemctl restart nginx

Stilltu phpBB og endanlega uppsetningu.

Ef allt hefur virkað rétt færum við okkur nú á tilnefnt heimilisfang nýuppsettra phpBB spjallborðanna þinna. Fyrir dæmið okkar er það https://forums.bytesboss.com, og ef vel tekst til muntu sjá eftirfarandi skjá:

phpBB Ubuntu 20.04 setja upp fyrstu síðu

Ef þú sérð þetta, ýttu á install og farðu á næsta skjá, sem mun vera mjög svipaður, og þú ýtir líka á install aftur, dæmi hér að neðan:

phpBB Ubuntu 20.04 setja upp aðra síðu

Nú förum við inn á fyrstu síðuna okkar, þar sem við þurfum að setja inn nokkur skilríki. Í fyrsta lagi þurfum við að gera síðueiganda/stjórnanda eins og auðkennt er hér að neðan. Gakktu úr skugga um að þú tryggir lykilorðið og ýttu á senda:

phpBB Ubuntu 20.04 uppsetning sláðu inn upplýsingar um stjórnanda, búðu til og ýttu á senda

Þegar þú hefur slegið inn upplýsingar um stjórnanda með góðum árangri förum við yfir í upplýsingar um gagnagrunninn. Í dæminu okkar kölluðum við gagnagrunninn okkar bbforums og gagnagrunnsforskeyti bbforums_, hins vegar mun sjálfgefið phpbb og phpbb_ gera það, en eins og fyrr segir mælum við með því að breyta þessu.

Gagnagrunnshostname er einfaldlega localhost fyrir flestar uppsetningar á sama netþjóni, ef ekki, myndirðu setja ytri gagnagrunninn IP inn og slá inn notandanafn/lykilorð gagnagrunnsins sem við gerðum fyrr í handbókinni.

phpBB Ubuntu 20.04 uppsetning sláðu inn upplýsingar um gagnagrunn gerðar með mariadb

Stilltu netþjóninn þinn. Ekki ætti að þurfa að breyta sjálfgefnum stillingum núna fyrir flestar uppsetningar nema þú sért ekki að keyra á SSL. Smelltu næst:

phpBB Ubuntu 20.04 settu upp settar vafrakökur og ssl stillingar ef þörf krefur

Á næstu síðu geturðu sett upp SMTP ef þú vilt. Ef ekki, skildu eftir sjálfgefna stillingar og ýttu á næst.

phpBB Ubuntu 20.04 setja upp smtp stillingar ef þörf krefur

Stilltu nafn / titil og tungumál á borðinu þínu. 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.

phpBB Ubuntu 20.04 setja upp heiti borðs, lýsingu og sjálfgefið tungumál

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 skaltu vísa aftur í þessa handbók, sérstaklega varðandi heimildir:

phpBB Ubuntu 20.04 uppsetningarsíðu með lokaárangri

Post Set Up Config

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. BytesBoss mælir með að þú eyðir því með eftirfarandi skipun í flugstöðinni:

sudo rm -R /var/www/html/phpbb/install
phpBB Ubuntu 20.04 post config viðvörun um að eyða eða endurnefna uppsetningarskrá

Á meðan þú ert virkur að gera flugstöðvarskipanir fyrir phpBB möppuna þína, er það mikilvægt eftir uppsetninguna. Við stillum réttar chmod heimildir. The 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, eða gefðu aftur allri phpBB skránni þinni fullan les- og skrifaðgang til almennings, sem veldur aftur öryggisvandamálum.

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. Við getum gert þetta á tvo vegu

Komdu upp crontab:

sudo crontab -e

Fyrsti cronjob valkostur:

* * * * * cd "/path/to/board"; ./bin/phpbbcli.php cron:run

Þetta gæti stangast á og virkar ekki mögulega, lausnin er að geisladisk í /bin/phpbbcli.php og bæta við chmod +x, eða ég hef séð nokkra þræði í phpBB spjallborðinu sem bendir til þess að setja það á 755 chmod leyfi, en þetta skilur eftir öryggi glufu. Ef þú vilt ekki gera þetta skaltu gera eftirfarandi:

* * * * * curl -A=Mozilla/4.0 https://www.yourforum.com/forum/cron.php?cron_type=cron.task.cron_task

Dæmi um hvernig það gæti litið út hér að neðan:

phpBB Ubuntu 20.04 post config cronjab, crontab dæmi

Ekki gleyma að fara til að virkja þetta í stillingum netþjónsins eins og dæmið hér að neðan:

phpBB Ubuntu 20.04 post config set keyra reglubundin verkefni í cron á stillingasíðu miðlara í acp spjaldinu

Til hamingju, þú hefur sett upp phpBB spjallborð með góðum árangri, sett upp cronjob og þú ert tilbúinn til að fara að hanna spjallborðin þín og ýta undir breytingar þínar.

Ég myndi mæla með því að skoða opinbera vefsíðu phpBB 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 um sjálfgefið útlit þegar það hefur verið sett upp:

phpBB Ubuntu 20.04 post config fyrstu útlit

Athugasemdir og niðurstaða:

phpBB er reyndur og prófaður opinn hugbúnaður sem virðist ekki vera að hverfa í bráð. Hvað öryggi varðar, þá gefur phpBB teymið til kynna að hafa engin CVE í mörg ár og við rannsókn á hugsanlegum brotum fann notendur ekki að einblína á „öruggar“ uppsetningar, eins og sum skrefin sem við bentum á í handbókinni eins og chmod heimildir. É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.

Ég veit að þessi leiðarvísir var langur, en ég vona að hann hafi hjálpað. Ég mun uppfæra þessa handbók með öllum athugasemdum sem ég fæ. Vinsamlegast láttu mig vita hvernig þér gengur í phpBB uppsetningunni þinni. Gangi þér vel!

Gerast áskrifandi
Tilkynna um
0 Comments
Inline endurgjöf
Skoða allar athugasemdir
0
Vilt elska hugsanir þínar, vinsamlegast skrifaðu athugasemdir.x