Ki jan yo enstale phpBB ak Nginx (LEMP) sou Ubuntu 20.04

fpb se youn nan lojisyèl bilten fowòm sous louvri ki pi pwolonje sou mache a. Ak ogmantasyon nan platfòm medya sosyal tankou Reddit, Facebook, Twitter, ak platfòm chat sou entènèt tankou discord, nou te wè kominote fowòm bilten sou entènèt diminye. Pèsonèlman, li sanble yo tou dousman fè yon reaparisyon nan kominote nich espesifik sou adisyon yo plus, jan mwen jis mansyone.

phpBB se pa sèlman opsyon. Gen lòt tankou VBulletin, Nodebb, Xenforo, ak sou sa, men pi fò nan sa yo peye ak revize melanje. VBulletin te konn gen yon pisans mechanste, men kounye a li se yon lonbraj ansyen pwòp tèt li. Xenforo se youn nan moso lojisyèl ki pi byen peye. Sepandan, sa se jis opinyon pèsonèl mwen, men mwen pral toujou chwazi phpBB an premye paske li gratis, sous louvri, e li gen kèk gwo devlopè 3yèm pati ouvè, tou de nouvo devs ak sa yo ki te alantou depi kòmansman an.

Jodi a nou pral gade nan enstale phpBB sou sèvè nou an, ansanm ak premye etap yo nan konfigirasyon inisyal la nan panèl la kontwòl Administratè. Tanpri sonje gid ki anba a pa eksplike kijan pou enstale NGINX, MariaDB, oswa PHP 7.4 epi li sipoze ou gen sa a nan lòd. Nou pral pibliye atik adisyonèl sou kòman yo enstale LEMP alè ak yon konfigirasyon konplè.

Etap 1. Enstalasyon Pre-phpBB

Premyèman, nou bezwen tcheke nou gen PHP-7.4 kondisyon yo enstale. Nou rekòmande pou itilize ondrej/PHP sou depo Ubuntu enstale defo a paske li pi ajou epi ondrej se dev prensipal ki travay sou PHP ak Debian. Pakonsekan, pakè yo se yon parye trè an sekirite yo sèvi ak repozitwa li kòm li nan pi ajou.

sudo add-apt-repository ppa:ondrej/php
phpBB Ubuntu 20.04 enstale ondrey ppa frape antre

Frape antre pou enstale PPA koutim lan.

Si ou ta renmen retire li nan lavni, fè sa pa sa ki annapre yo:

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

Apre sa, nou enstale kondisyon yo.

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

Dezyèmman, apre yo fin enstale kondisyon yo, nou bezwen asire w ke nou gen sistèm nou an ajou kòm anpil PPA ondrej a pi devan default Ubuntu a nan plizyè lòt pakè sipò.

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

Enstalasyon prensipal phpBB

Pou enstale phpBB, li rekòmande pou modifye /etc/php7.4/fpm/php.ini epi ajiste sa ki annapre yo. Tanpri sonje ou ka gen nimewo ki pi wo, men sa a rekòmande kòm yon minimòm:

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

Si ou vle, pandan w ap modifye php.ini ou a, ou ka edite, jwenn ak chanje kèk nan sa ki anba a pou di sèvè ou a. Sonje retire ; dekomantè liy lan:

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

Yon aspè kritik ou dwe mete si ou pral sèvi ak ajoute pou phpBB pou backup oto se mete yon zòn tan nan PHP FPM ak PHP CLI. Ou ka kopye epi kole tout paramèt sa yo ak sa ki anwo yo ant tou de dosye php.ini:

php lemp zòn tan

Koulye a, nou kontinye fè yon baz done pou fowòm ou yo lè l sèvi avèk opinyon tèminal MariaDB:

sudo mysql -u root -p

Lè sa a, kreye non baz done a. Li rekòmande ou pa sèvi ak phpbb kòm non an si ou potansyèlman pral ajoute fowòm adisyonèl nan baz done sa a, non baz done a inikman:

CREATE DATABASE phpbb;

Kreye yon itilizatè baz done ki rele phpbbuser ak yon nouvo modpas:

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

Lè sa a, nou bay itilizatè a aksè konplè nan baz done a lè nou fè bagay sa yo:

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

Finalman, nou sove chanjman nou yo epi sòti:

FLUSH PRIVILEGES;
EXIT;

Deplase nan pwochen pati a, nou pral telechaje dènye lage phpBB a. Apati dat 24/05/2021, vèsyon ki estab phpBB a se 3.3.4, ki te pibliye nan mwa avril 2021. Version ki estab varye ant 3 ak 6 mwa. Nou telechaje phpBB fè jan pi ba a:

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

Pandan w ap fè mouvman an, ou ka nonmen katab la nenpòt bagay ou renmen, nou itilize /www/html/phpbb, pou egzanp sèlman, men li ta ka /www/html/bytesboss-forums.

Koulye a, nou bezwen modifye pèmisyon anyè pou NGINX:

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

Configured NGINX

Koulye a, nou deplase nan koreksyon konfigirasyon sit fowòm NGINX:

Ajoute priz en pou PHP7.4-FPM an premye anvan pati sèvè a:

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

Apre sa, nan tab sèvè nou an, nou ajoute sa ki annapre yo:

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

Egzanp nan Microsoft Visual Studio modifye ki jan li pral sanble apeprè, sa a se pa tout fichye a konfigirasyon men se pou ilistrasyon sèlman:

phpBB Ubuntu 20.04 enstale microsoft izyèl nginx sèvè konfigirasyon egzanp sèlman

Apre sa, nou pèmèt sit la nan NGINX:

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

Teste NGINX anvan yon rekòmanse konplè:

sudo nginx -t

Pa gen erè, Lè sa a, ou ka kontinye rekòmanse egzanp NGINX la:

sudo systemctl restart nginx

Konfigure phpBB ak enstalasyon final la.

Si tout bagay te travay kòrèkteman, kounye a nou ale nan adrès nominasyon fowòm phpBB ou ki fèk enstale yo. Pou egzanp nou an, li se https://forums.bytesboss.com, epi si yo reyisi, ou pral wè ekran sa a:

phpBB Ubuntu 20.04 enstale premye paj la

Si ou wè sa a, frape enstale epi ale nan pwochen ekran an, ki pral sanble anpil, epi ou tou frape enstale ankò, egzanp anba a:

phpBB Ubuntu 20.04 enstale dezyèm paj

Koulye a, nou antre nan premye paj nou an, kote nou bezwen antre kèk kalifikasyon. Premyèman, nou bezwen fè Pwopriyetè Sit la / Admin kòm make pi ba a. Asire w ou mete modpas la an sekirite epi klike sou soumèt:

phpBB Ubuntu 20.04 enstale antre detay admin, kreye epi frape soumèt

Yon fwa ou te antre nan detay Admins ou yo avèk siksè, nou deplase sou detay yo baz done. Nan egzanp nou an, nou te rele baz done nou an bbforums ak prefiks baz done bbforums_ sepandan, default phpbb ak phpbb_ ap fè, men jan sa te di pi bonè, nou rekòmande pou chanje sa a.

Database hostname se tou senpleman localhost pou pifò enstalasyon sou menm sèvè a, si se pa sa, ou ta mete IP baz done aleka epi antre non itilizatè/modpas baz done nou te fè pi bonè nan gid la.

phpBB Ubuntu 20.04 enstale antre detay baz done ki fèt ak mariadb

Mete konfigirasyon sèvè ou a. Anviwònman default yo pa ta dwe bezwen chanje kounye a pou pifò enstalasyon sof si ou pa kouri sou SSL. Frape pwochen:

phpBB Ubuntu 20.04 enstale seri bonbon ak paramèt ssl si sa nesesè

Paj pwochen, ou ka mete kanpe SMTP si ou ta renmen. Si ou pa, kite default epi frape pwochen.

phpBB Ubuntu 20.04 enstale mete paramèt smtp si sa nesesè

Mete Non Konsèy la / Tit ak Lang. Si w pa sèten kisa pou w bay non fowòm ou yo, kite default epi klike sou soumèt. Ou ka chanje paramèt sa yo pita.

phpBB Ubuntu 20.04 enstale mete tit tablo, deskripsyon ak lang default

Apre w fin frape soumèt, ou ta dwe wè yon ekran final ki sanble ak pi ba a ak fowòm yo enstale ak yon lyen ki mennen ou nan panèl ACP la. Si ou gen erè, al gade nan gid sa a, espesyalman konsènan otorizasyon:

phpBB Ubuntu 20.04 enstale dènye paj siksè

Post Set Up Config

Felisitasyon pou w rive nan pati sa a. Apre w fin konekte nan panèl ACP ou a pou premye fwa, w ap wè yon gwo alèt wouj amikal ki di w pou w retire oswa chanje non anyè enstalasyon w la. BytesBoss rekòmande ou efase li ak lòd sa a nan tèminal la:

sudo rm -R /var/www/html/phpbb/install
phpBB Ubuntu 20.04 poste avètisman konfigirasyon pou efase oswa chanje non anyè enstalasyon an

Pandan w ap aktif fè kòmandman tèminal pou katab phpBB ou a, li enpòtan apre enstalasyon an. Nou mete otorizasyon chmod kòrèk. La Ou ka jwenn gid ofisyèl phpBB sou sa a isit la. Sote sa a ka kite ouvè kèk risk sekirite enpòtan, kidonk tanpri swiv sa jisteman oswa nan fason ou si ou gen yon pi bon teknik men pa fè sa. kite otorizasyon default yo!!

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

Apre sa, nou bezwen bay kèk dosye/fichye kèk otorizasyon espesyal sèlman jan sa a:

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

Si w pa fè sa, sa pral kraze fonksyon tablo w la. Asire ou ke ou swiv chemen sa yo entèdi, oswa re-bay tout anyè phpBB ou a konplè aksè lekti ak ekri tounen nan piblik la, re-koze yon pwoblèm sekirite.

Dènye etap final la nan gid nou an se mete kanpe yon cronjob. Cronjobs yo rekòmande sou fowòm okipe ak dousman pou mete sou pye cron travay pou kouri chak 5 minit pa estanda phpBB. Nou ka fè sa de fason

Pote crontab:

sudo crontab -e

Premye opsyon cronjob:

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

Sa a ka antre nan konfli epi yo pa travay pètèt, yon solisyon se CD nan /bin/phpbbcli.php epi ajoute chmod +x, oswa mwen te wè kèk fil nan fowòm phpBB sijere mete li nan 755 pèmisyon chmod, men sa a kite yon sekirite. brèch. Si ou pa vle fè sa, Lè sa a, fè bagay sa yo:

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

Egzanp ki jan li ka gade anba a:

phpBB Ubuntu 20.04 pòs konfigirasyon cronjab, egzanp crontab

Pa bliye ale nan aktive sa a nan Anviwònman sèvè ou a kòm egzanp ki anba a:

phpBB Ubuntu 20.04 post konfigirasyon mete kouri travay peryodik nan cron sou paj paramèt sèvè nan panèl acp

Felisitasyon, ou te enstale avèk siksè fowòm phpBB, mete kanpe yon cronjob, epi ou pare pou ale desine fowòm ou yo ak pouse chanjman ou yo.

Mwen ta rekòmande tcheke sit entènèt ofisyèl phpBB a ak wiki paske li gen anpil enfòmasyon sou personnalisation nan fowòm ou yo ki ta twòp yo mete nan gid sa a nou te kreye isit la.
Egzanp gade defo a yon fwa enstale:

phpBB Ubuntu 20.04 poste konfigirasyon premye gade

Kòmantè ak konklizyon:

phpBB se yon lojisyèl sous louvri gratis ki eseye ak teste ki pa parèt li ap disparèt nenpòt ki lè talè. Kòm pou sekirite, ekip phpBB a endike ke pa gen okenn CVE a pandan plizyè ane epi, lè yo t ap mennen ankèt sou vyolasyon posib, yo te jwenn itilizatè ki pa konsantre sou enstalasyon "sekirite", tankou kèk nan etap nou te endike nan gid la tankou otorizasyon chmod. Mwen pa janm te gen yon pwoblèm ak yon sèvè solid, fè tèt di toujou, phpBB inisyal mete kanpe.

Kominote 3yèm pati a trè bon. Kèk nan sa yo gade yo se SplickerSnap ak DMZX, men mwen te kapab lis 20 oswa konsa plis merite pou yo mansyone.

Mwen konnen gid sa a te long, men mwen espere ke li te ede. Mwen pral mete ajou gid sa a ak nenpòt fidbak mwen jwenn. Tanpri, fè m 'konnen ki jan ou ale nan konfigirasyon phpBB ou a. Bon chans!

Ban-m pran abònman
Notifye nan
0 kòmantè
Aliye komantè
Wè tout kòmantè
0
Ta renmen panse ou, tanpri fè kòmantè.x