Kako instalirati phpBB s Nginxom (LEMP) na Ubuntu 20.04

phpBB jedan je od najproširenijih open-source forumskih biltena na tržištu. S porastom platformi društvenih medija kao što su Reddit, Facebook, Twitter i online chat platformi kao što je Discord, vidjeli smo da se zajednice foruma na mreži s biltenom smanjuju. Osobno, čini se da se polako vraćaju u specifične nišne zajednice u odnosu na novije dodatke, kao što sam upravo spomenuo.

phpBB nije jedina opcija. Drugi kao što su VBulletin, Nodebb, Xenforo i tako dalje, ali većina njih se plaća različitim recenzijama. VBulletin je nekoć bio moćna kuća, ali sada je sjena svog nekadašnjeg sebe. Xenforo je jedan od najbolje plaćenih biltena softvera. Međutim, to je samo moje osobno mišljenje, ali uvijek ću prvo odabrati phpBB jer je besplatan, otvorenog koda i ima neke sjajne programere otvorenog koda trećih strana, kako nove tako i one koji postoje od samog početka.

Danas ćemo pogledati instalaciju phpBB-a na naš poslužitelj, zajedno s prvih nekoliko koraka u početnom postavljanju na upravljačkoj ploči administratora. Imajte na umu da donji vodič ne objašnjava kako instalirati NGINX, MariaDB ili PHP 7.4 i pretpostavlja se da ovo radi u ispravnom stanju. Objavit ćemo dodatne članke o tome kako instalirati LEMP na vrijeme s potpunim postavljanjem.

Korak 1. Instalacija prije phpBB-a

Prvo moramo provjeriti imamo li instalirane preduvjete za PHP-7.4. Preporučamo korištenje ondrej/PHP preko zadanog Ubuntu instaliranog spremišta jer je ažurniji, a ondrej je glavni dev koji radi na PHP-u i Debianu. Stoga su paketi prilično sigurna oklada za korištenje njegovog repozitorija jer je ažurnije.

sudo add-apt-repository ppa:ondrej/php
phpBB Ubuntu 20.04 instalirajte ondrey ppa pritisnite enter

Pritisnite enter da instalirate prilagođeni PPA.

Ako ga želite ukloniti u budućnosti, učinite to na sljedeći način:

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

Zatim instaliramo preduvjete.

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

Drugo, nakon instaliranja preduvjeta, moramo se pobrinuti da naš sustav bude ažuriran jer je mnogi ondrejev PPA više ispred Ubuntuovih zadanih u nekoliko drugih paketa podrške.

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

Glavna instalacija phpBB-a

Da biste instalirali phpBB, preporuča se izmijeniti /etc/php7.4/fpm/php.ini i prilagoditi sljedeće. Imajte na umu da možete imati veće brojeve, ali ovo se preporučuje kao minimum:

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

Neobvezno, dok uređujete svoj php.ini, možete uređivati, pronaći i mijenjati neke od ovih u nastavku kako biste ojačali svoj poslužitelj. Ne zaboravite ukloniti ; dekomentirati redak:

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

Kritični aspekt koji morate postaviti ako namjeravate koristiti dodatak za phpBB za automatske sigurnosne kopije je postavljanje vremenske zone u PHP FPM i PHP CLI. Možete kopirati i zalijepiti sve ove postavke i one iznad između obje php.ini datoteke:

php lemp vremenska zona

Sada nastavljamo s izradom baze podataka za vaše forume koristeći unos MariaDB terminala:

sudo mysql -u root -p

Zatim kreirajte naziv baze podataka. Preporuča se da ne koristite phpbb kao ime ako ćete potencijalno dodati dodatne forume ovoj bazi podataka, ime baze podataka jedinstveno:

CREATE DATABASE phpbb;

Napravite korisnika baze podataka pod nazivom phpbbuser s novom lozinkom:

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

Zatim korisniku dopuštamo puni pristup bazi na sljedeći način:

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

Konačno, spremamo naše promjene i izlazimo:

FLUSH PRIVILEGES;
EXIT;

Prelazimo na sljedeći dio, idemo na preuzmite najnovije izdanje phpBB-a. Od datuma 24/05/2021, stabilna verzija phpBB-a je 3.3.4, objavljena u travnju 2021. Stabilna izdanja variraju od 3 do 6 mjeseci. Mi preuzimamo phpBB na sljedeći način:

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

Dok izvodite premještanje, možete imenovati mapu kako god želite, koristili smo, na primjer, samo /www/html/phpbb, ali to može biti /www/html/bytesboss-forums.

Sada moramo izmijeniti dopuštenje direktorija za NGINX:

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

Konfigurirajte NGINX

Sada prelazimo na uređivanje konfiguracije stranice NGINX foruma:

Dodajte upstream utičnicu za PHP7.4-FPM prvo prije dijela poslužitelja:

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

Zatim, na kartici Server, dodajemo sljedeće:

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

Primjer u uređivanju Microsoft Visual Studio kako će otprilike izgledati, ovo nije cijela konfiguracijska datoteka, već je samo za ilustraciju:

phpBB Ubuntu 20.04 instalirajte samo primjer konfiguracije poslužitelja microsoft vizualni nginx

Zatim omogućujemo web mjesto u NGINX-u:

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

Testirajte NGINX prije potpunog ponovnog pokretanja:

sudo nginx -t

Nema pogrešaka, tada možete nastaviti s ponovnim pokretanjem NGINX instance:

sudo systemctl restart nginx

Konfigurirajte phpBB i konačnu instalaciju.

Ako je sve radilo kako treba, sada prelazimo na imenovanu adresu vaših svježe instaliranih phpBB foruma. Za naš primjer, to je https://forums.bytesboss.com, a ako bude uspješan, vidjet ćete sljedeći ekran:

phpBB Ubuntu 20.04 instalirajte prvu stranicu

Ako vidite ovo, pritisnite install i nastavite na sljedeći zaslon, koji će biti vrlo sličan, a također ćete ponovno pritisnuti install, primjer u nastavku:

phpBB Ubuntu 20.04 instalirajte drugu stranicu

Sada ulazimo u našu prvu stranicu, gdje trebamo unijeti neke vjerodajnice. Prvo moramo napraviti vlasnika/administratora web-lokacije kao što je istaknuto u nastavku. Provjerite jeste li zaštitili lozinku i pritisnite Pošalji:

phpBB Ubuntu 20.04 install unesite podatke administratora, kreirajte i pritisnite Pošalji

Nakon što uspješno unesete svoje administratorske podatke, prelazimo na detalje baze podataka. U našem primjeru nazvali smo našu bazu podataka bbforums i prefiks baze podataka bbforums_, međutim, zadani phpbb i phpbb_ će to učiniti, ali kao što je ranije rečeno, preporučujemo da to promijenite.

Ime hosta baze podataka je jednostavno localhost za većinu instalacija na istom poslužitelju, ako nije, stavili biste IP udaljenu bazu podataka i unijeli korisničko ime/lozinku baze podataka koju smo napravili ranije u vodiču.

phpBB Ubuntu 20.04 instalacija unesite podatke baze podataka napravljene pomoću mariadb-a

Postavite konfiguraciju poslužitelja. Zadane postavke ne bi se trebale mijenjati trenutno za većinu instalacija osim ako ne koristite SSL. Pritisnite sljedeće:

phpBB Ubuntu 20.04 instalirajte kolačiće i ssl postavke ako je potrebno

Na sljedećoj stranici možete postaviti SMTP ako želite. Ako ne, ostavite zadane postavke i pritisnite sljedeći.

phpBB Ubuntu 20.04 instalirajte postavke smtp ako je potrebno

Postavite naziv/naslov i jezik svoje ploče. Ako niste sigurni kako imenovati svoje forume, ostavite zadane postavke i pritisnite Pošalji. Te postavke možete promijeniti kasnije.

phpBB Ubuntu 20.04 instalirajte set naslova ploče, opisa i zadanog jezika

Nakon što pritisnete Submit, trebali biste vidjeti završni zaslon sličan donjem s instaliranim forumima i vezom koja vas vodi na ACP ploču. Ako imate grešaka, pogledajte ovaj vodič, posebno u vezi s dopuštenjima:

phpBB Ubuntu 20.04 stranica o konačnom uspjehu instalacije

Konfiguracija nakon postavljanja

Čestitam što ste došli do ovog dijela. Nakon što se prvi put prijavite na svoju ACP ploču, vidjet ćete prijateljsko veliko crveno upozorenje koje vam govori da uklonite ili preimenujete svoj instalacijski direktorij. BytesBoss preporučuje da ga izbrišete sljedećom naredbom u terminalu:

sudo rm -R /var/www/html/phpbb/install
phpBB Ubuntu 20.04 upozorenje nakon konfiguracije za brisanje ili preimenovanje instalacijskog direktorija

Dok ste aktivni izvršavate naredbe terminala za svoju phpBB mapu, to je ključno nakon instalacije. Postavili smo ispravne chmod dozvole. The Službeni phpBB vodič o tome možete pronaći ovdje. Preskakanje ovoga može ostaviti otvorene neke značajne sigurnosne rizike, stoga slijedite ovo precizno ili na svoj način ako imate bolju tehniku, ali ne ostavi zadana dopuštenja!!

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

Nakon toga, nekim mapama/datotekama trebamo dati neka posebna dopuštenja samo na sljedeći način:

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

Ako to ne učinite, pokvarit će se funkcije vaše ploče. Pobrinite se da striktno slijedite ove putove ili ponovno dajte cijelom svom phpBB direktoriju puni pristup za čitanje i pisanje natrag javnosti, što će ponovno uzrokovati sigurnosni problem.

Posljednji posljednji korak u našem vodiču je postavljanje cronjoba. Cronjobs se preporuča na užurbanim i sporim forumima za postavljanje cron poslova za pokretanje svakih 5 minuta prema phpBB standardima. To možemo učiniti na dva načina

Pokrenite crontab:

sudo crontab -e

Prva cronjob opcija:

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

Ovo može doći u sukob i možda neće raditi, rješenje je CD u /bin/phpbbcli.php i dodati chmod +x, ili sam vidio neke teme na phpBB forumu koji predlažu postavljanje na 755 chmod dopuštenje, ali to ostavlja sigurnost puškarnica. Ako to ne želite učiniti, učinite sljedeće:

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

Primjer kako to može izgledati u nastavku:

phpBB Ubuntu 20.04 post config cronjab, primjer crontab

Ne zaboravite to omogućiti u postavkama poslužitelja kao primjer u nastavku:

phpBB Ubuntu 20.04 post config set pokrenuti periodične zadatke u cron na stranici postavki poslužitelja u acp panelu

Čestitamo, uspješno ste instalirali phpBB forume, postavili cronjob i spremni ste za dizajniranje svojih foruma i unošenje promjena.

Preporučio bih da provjerite službenu web stranicu i wiki phpBB-a jer sadrži mnogo informacija o prilagodbi vaših foruma koje bi bilo previše za staviti u ovaj vodič koji smo ovdje napravili.
Primjer zadanog izgleda nakon instalacije:

Prvi pogled na phpBB Ubuntu 20.04 nakon konfiguracije

Komentari i zaključak:

phpBB je isprobani i testirani besplatni softver otvorenog koda za koji se ne čini da će uskoro nestati. Što se tiče sigurnosti, phpBB tim ukazuje da godinama nije imao CVE-ove i, istražujući moguće povrede, otkrio je da se korisnici ne fokusiraju na “sigurne” instalacije, kao što su neki od koraka koje smo naveli u vodiču kao što su chmod dozvole. Nikada nisam imao problema s robusnim, ojačanim poslužiteljem, početnim postavljanjem phpBB-a.

Zajednica treće strane je prilično dobra. Nekoliko od ovih za pogledati su SplickerSnap i DMZX, ali mogao bih nabrojati 20-ak vrijednijih spomena.

Znam da je ovaj vodič bio dug, ali nadam se da je pomogao. Ažurirati ću ovaj vodič sa svim povratnim informacijama koje dobijem. Molim vas, javite mi kako idete u postavci phpBB-a. Sretno!

Pretplati me
Obavijesti o
0 Komentari
Umetne povratne informacije
Pogledajte sve komentare
0
Volio bih vaše misli, molim vas komentirajte.x