Ki jan yo enstale phpBB ak LEMP (Nginx, MariaDB, ak PHP) sou Rocky Linux 8

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, jan mwen jis mansyone, yo tou dousman fè yon reaparisyon nan kominote nich espesifik sou adisyon yo plus. phpBB se youn nan lojisyèl bilten fowòm sous louvri ki pi pwolonje sou mache a.

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.

Nan leson patikilye sa a, ou pral aprann kijan pou enstale LEMP lè l sèvi avèk pakè default ki soti nan kouran Rocky Linux 8 App oswa pakè altènatif ki soti nan depo EPEL la, ansanm ak konfigirasyon phpBB pou itilize premye fwa sou Rocky Linux 8.

Kondisyon

  • OS rekòmande: Rocky Linux 8.+.
  • Kont itilizatè: Yon kont itilizatè ki gen aksè sudo oswa rasin.

Mizajou sistèm operasyon

Mete ajou ou Rocky linux sistèm operasyon pou asire tout pakè ki egziste deja yo ajou:

sudo dnf upgrade --refresh -y

Tutorial la pral sèvi ak la sudo kòmand ak sipoze ou gen estati sudo.

Pou verifye estati sudo sou kont ou:

sudo whoami

Egzanp pwodiksyon ki montre estati sudo:

[joshua@rockylinux ~]$ sudo whoami
root

Pou mete kanpe yon kont sudo ki deja egziste oswa nouvo, vizite leson patikilye nou an sou Ki jan yo ajoute yon itilizatè nan Sudoers sou Rocky Linux.

Pou itilize kont rasin, sèvi ak lòd sa a ak modpas rasin lan pou konekte.

su

reklam


Si ou vle. Enstale EPEL Repository

Premye etap la se enpòte repozitwa a soti nan EPEL (Pakè siplemantè pou Enterprise Linux). Repozitwa sa a pral ba ou chans pou yo enstale diferan pakè sou Rocky Linux 8 App Stream opsyonèlman. Souvan kèk nan sa yo se pi nouvo pandan y ap nan menm tan an ekstrèmman ki estab konpare ak enstale pakè yo konplè dènye kri ki sòti dirèkteman nan sous la.

sudo dnf install epel-release

Egzanp pwodiksyon:

Ki jan yo enstale phpBB ak LEMP (Nginx, MariaDB, ak PHP) sou Rocky Linux 8

Tape "Y," Lè sa a, peze "ENTRE KLE" kontinye ak enstalasyon an. Remake byen, ou pral mande pètèt enpòte a GPG kle si w ap enstale soti nan EPEL oswa nan yon depo altènatif, tape "Y" si sa rive.

Li toujou yon bon lide pou verifye si depo a te ajoute avèk siksè; sa ka fèt ak la dnf repolist lòd kòm anba a:

sudo dnf repolist

Egzanp pwodiksyon:

Ki jan yo enstale phpBB ak LEMP (Nginx, MariaDB, ak PHP) sou Rocky Linux 8

Kòm ou ka wè, repozitwa EPEL la ajoute kòrèkteman. Sijesyon pratik, ou ka reitilize kòmandman sa a pou wè nenpòt enpòtasyon depo nan lavni.

Enstale Nginx - (LEMP Stack)

Si ou vle. Chanje Nginx Version Stream an EPEL

Pou kòmanse enstalasyon pile LEMP, w ap bezwen enstale Nginx sèvè entènèt. Leson patikilye a ta montre chwa si ou vle ki kouran Nginx pou enstale, ki se sou la men si ou enstale repozitwa EPEL la.

Premyèman, lis pwofil Nginx ki disponib lè l sèvi avèk dnf modil lis lòd nan tèminal ou a:

sudo dnf module list nginx

Egzanp pwodiksyon:

Ki jan yo enstale phpBB ak LEMP (Nginx, MariaDB, ak PHP) sou Rocky Linux 8

Piske leson patikilye a konsantre sou itilizasyon EPEL la, yo pral chwazi liy prensipal Nginx la. Men, anvan, ou bezwen Reyajiste modil Nginx yo chanje.

sudo dnf module reset nginx

Egzanp pwodiksyon:

Ki jan yo enstale phpBB ak LEMP (Nginx, MariaDB, ak PHP) sou Rocky Linux 8

Tape "Y," Lè sa a, peze "ENTRE KLE" kontinye ak retabli lis modil la.

Apre sa, pèmèt modil Nginx ou pito a. Pou leson patikilye a, yo pral chwazi EPEL, epi si ou vle itilize liy prensipal Nginx, ou pral antre "nginx:mainline," si ou prefere vèsyon ki estab, Lè sa a, li ta "nginx.1:20".

Pou enstale liy prensipal EPEL:

sudo dnf module enable nginx:mainline

Pou enstale EPEL ki estab:

sudo dnf module enable nginx:1.20

Enstale Nginx

Kounye a li se tan enstale Nginx kòm yon pati nan enstalasyon LEMP. Kit ou te enstale EPEL epi w ap itilize yon bati Nginx ki baze sou repozitwa sa a oswa itilize default la Rocky Linux 8 App kouran, kòmandman yo pral menm; jis kèk nan rezilta yo ki se egzanp sèlman ap diferan.

Pou enstale Nginx, sèvi ak lòd sa a nan tèminal ou a:

sudo dnf install nginx

Egzanp pwodiksyon:

Ki jan yo enstale phpBB ak LEMP (Nginx, MariaDB, ak PHP) sou Rocky Linux 8

Tape "Y," Lè sa a, peze "ENTRE KLE" kontinye ak enstalasyon an.

Konfime enstalasyon an pa tcheke vèsyon an bati:

nginx -v

Egzanp pwodiksyon:

nginx version: nginx/1.14.1

Pa default, lè w ap enstale Nginx sou Rocky Linux, li pa pèmèt. Pou pèmèt sou bòt ak kòmanse, sèvi ak sa ki annapre yo:

sudo systemctl enable nginx --now

Egzanp pou pèmèt avèk siksè (senbolik):

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

Koulye a, tcheke pou wè estati sèvis Nginx ou a ak lòd tèminal sa a:

systemctl status nginx

Egzanp pwodiksyon ki di tout bagay anfòm:

Ki jan yo enstale phpBB ak LEMP (Nginx, MariaDB, ak PHP) sou Rocky Linux 8

Koulye a, ou ka konfime ke sèvè wèb Nginx ou a fonksyone lè w antre HTTP://sèvè-ip or HTTP: // non domèn nan navigatè entènèt ou a, epi ou ta dwe jwenn bagay sa yo:

Ki jan yo enstale phpBB ak LEMP (Nginx, MariaDB, ak PHP) sou Rocky Linux 8

Si ou pa ka jwenn aksè nan paj sa a, ou ka bezwen konfigirasyon paramèt pare-feu ki kouvri nan pwochen seksyon an.


reklam


Konfigirasyon Règ firewall

Li pa otomatikman ajoute règ firewall nan pò estanda 80 oswa 443 pò yo lè w ap enstale Nginx. Anvan ou kontinye, ou ta dwe mete règ sa yo, sa a pral depann de ki pò ou pral itilize, men tout opsyon yo ki nan lis.

Louvri pò 80 oswa HTTP:

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

Louvri pò 443 oswa HTTPS:

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

Rechaje firewall pou fè chanjman an vigè

sudo firewall-cmd --reload

Enstale MariaDB (LEMP STACK)

Si ou vle. Chanje nan MariaDB 10.5

Rocky Linux App stream pa default enstale MariaDB 10.3, yon vèsyon ki pi gran men ekstrèmman ki estab. Sepandan, dènye konstriksyon MariaDB nan moman leson patikilye sa a ki klase kòm yon lage ki estab se MariaDB 10.6.4. Kòm ou ka imajine, diferans lan trè enpòtan; sepandan, kòm pifò itilizatè Rocky Linux pito itilize estabilite pase dènye kri, yon solisyon pral sèvi ak MariaDB 10.5 ki pi nouvo pandan y ap nan menm tan an ekstrèmman ki estab epi li toujou ap resevwa koreksyon ensèk ak mizajou sekirite.

Premyèman, Reyajiste lis modil MariaDB la:

sudo dnf module reset mariadb

Egzanp pwodiksyon:

Ki jan yo enstale phpBB ak LEMP (Nginx, MariaDB, ak PHP) sou Rocky Linux 8

Tape "Y," Lè sa a, peze "ENTRE KLE" kontinye ak reset modil la.

Apre sa, pèmèt MariaDB 10.5 kòm sous prensipal la lè w ap enstale MariaDB.

sudo dnf module enable mariadb:10.5

Egzanp pwodiksyon:

Ki jan yo enstale phpBB ak LEMP (Nginx, MariaDB, ak PHP) sou Rocky Linux 8

Tape "Y," Lè sa a, peze "ENTRE KLE" kontinye ak chanjman modil la nan MariaDB 10.5.

Enstale MariaDB

Koulye a, li se tan enstale MariaDB; Tou depan de ki vèsyon ou chwazi a, rezilta yo ka diferan, men kòmandman yo pral jisteman menm bagay la.

sudo dnf install mariadb-server mariadb

Egzanp pwodiksyon:

Ki jan yo enstale phpBB ak LEMP (Nginx, MariaDB, ak PHP) sou Rocky Linux 8

Tape "Y," Lè sa a, peze "ENTRE KLE" kontinye ak enstalasyon an.

Pou konfime enstalasyon MariaDB epi tcheke ki sa ki enstale, tape lòd sa a:

mysql --version

Egzanp pwodiksyon:

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

Tcheke estati sèvè MariaDB

Koulye a, ou te enstale MariaDB, epi ou ka verifye estati lojisyèl baz done a lè w sèvi ak kòmandman systemctl sa a:

systemctl status mariadb

Pa default, ou pral jwenn estati MariaDB yo koupe. Pou kòmanse MariaDB, sèvi ak lòd sa a:

sudo systemctl enable mariadb --now

Koulye a, tcheke estati a, epi ou ta dwe jwenn bagay sa yo:

Ki jan yo enstale phpBB ak LEMP (Nginx, MariaDB, ak PHP) sou Rocky Linux 8

Pou sispann MariaDB:

sudo systemctl stop mariadb

Pou pèmèt MariaDB sou demaraj sistèm:

sudo systemctl enable mariadb

Pou enfim MariaDB sou demaraj sistèm:

sudo systemctl disable mariadb

Pou rekòmanse sèvis MariaDB:

sudo systemctl restart mariadb

Sekirize MariaDB ak Script Sekirite

Lè w ap enstale MariaDB fre, paramèt default yo konsidere kòm fèb pa pifò estanda ak lakòz enkyetid pou potansyèlman pèmèt entrizyon oswa eksplwate entru. Yon solisyon se kouri script sekirite enstalasyon ki vini ak la MariaDB enstalasyon.

Premyèman, sèvi ak lòd sa a pou lanse (mysql_secure_installation):

sudo mysql_secure_installation

Apre sa, yo pral ba w yon èd memwa ki mande w antre (modpas rasin MariaDB ou). Pou kounye a, peze la (ANTRE) kle kòm modpas rasin lan poko fikse jan pi ba a:

Next, tape (Y) epi peze antre pou mete kanpe la (Rasin) modpas jan pi ba a:

Pwochen seri kesyon ou ka san danje frape (ANTRE), ki pral reponn (Y) a tout kesyon ki vin apre yo ki mande w (retire itilizatè anonim yo, enfim koneksyon rasin aleka, epi retire baz done tès la). Remake byen (Y) se lèt majiskil, sa vle di li se repons default la lè ou peze la (ANTRE) kle.

Egzanp anba a:

Ki jan yo enstale phpBB ak LEMP (Nginx, MariaDB, ak PHP) sou Rocky Linux 8

Apèsi sou sa ki ta dwe fè pi wo a:

  • Mete modpas la pou rasin kont.
  • Retire kont rasin ki aksesib soti deyò lame lokal la.
  • Retire kont itilizatè anonim.
  • Retire baz done tès la, ki pa defo ka jwenn aksè pa itilizatè anonim.

Etap sa a esansyèl pou sekirite baz done MariaDB epi li pa ta dwe chanje oswa sote sof si w konnen sa w ap fè.


reklam


Enstale PHP & PHP-FPM (LEMP STACK)

Si ou vle. Enpòte PHP 8.0 Repository

Dènye pati pou enstale nan enstalasyon LEMP ou a se PHP. Ou pral bezwen enstale (PHP-FPM) ki se kout pou (Manadjè Pwosesis FastCGI). Li trè rekòmande enstale PHP (Remi) depo. Pou moun ki pa okouran, Remi se moun ki kenbe PHP degaje sou fanmi Rhel la.

Pou leson patikilye a, nou pral enstale dernye PHP 8.0. Sepandan, li dwe remake pandan y ap phpBB travay byen ak PHP 8.0 ak pi wo, kèk nan grefon yo ka fè fas a pwoblèm, kidonk asire w ke w ap sèlman enstale grefon aktif ak mete ajou ki ta dwe estanda nan nenpòt CMS. Si w rankontre pwoblèm, désinstaller PHP 8.0, epi sèvi ak PHP 7.4.

Pou enstale PHP soti nan depo Remi a, w ap bezwen enstale depo EPEL la nan kòmansman leson patikilye a. Pa default, PHP 7.2 se chwa PHP default pou enstalasyon estanda sou Rocky Linux. Yon konsèy rapid se sèvi ak la (lis php) kòmand pou wè opsyon ki disponib ak default la.

pèmèt (Repozitwa Remi) avèk bagay sa yo:

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

Ankò kòm egzanp pwodiksyon, tape (Y) epi antre pou kontinye:

Ki jan yo enstale phpBB ak LEMP (Nginx, MariaDB, ak PHP) sou Rocky Linux 8

Apre sa, sèvi ak (dnf) lòd pou mete ajou lis depo ou a:

sudo dnf update

Koulye a, lis modil ki disponib pou PHP lè l sèvi avèk lòd sa a:

sudo dnf module list php

Ou pral jwenn pwodiksyon sa a kòm pi ba a. Remake byen la (D) tag pou PHP default yo dwe enstale:

Ki jan yo enstale phpBB ak LEMP (Nginx, MariaDB, ak PHP) sou Rocky Linux 8

Kòm ou ka wè pi wo a, la (D) tag se akote PHP 7.2, ke w ap bezwen reset ak chanje pou kontinye enstale PHP 8.0 sou Rocky Linux. Reyajiste lis PHP a fasil ak lòd sa a:

sudo dnf module list reset php

Apre sa, pèmèt PHP 8.0 ak lòd sa a:

sudo dnf module enable php:remi-8.0 

Remake byen, ou ka pèmèt PHP-7.4 pa swiv la dnf modil reset lòd epi sèvi ak la dnf modil pèmèt php:remi-7.4 kòmand olye. chwazi a vèsyon ou bezwen pou aplikasyon an, epi sa a te jis yon egzanp pou gen dènye vèsyon PHP a nenpòt chwa PHP ou deside.

Enstale PHP & PHP-FPM

Apre sa, enstale PHP sou sèvè ou a; depann de ki vèsyon PHP, rezilta yo ap gade diferan; sepandan, kòmandman yo rete menm jan an.

sudo dnf install php

Egzanp pwodiksyon:

Ki jan yo enstale phpBB ak LEMP (Nginx, MariaDB, ak PHP) sou Rocky Linux 8

Tape "Y," Lè sa a, peze "ENTRE KLE" kontinye ak enstalasyon an. Remake byen, ou ka mande pou tape "Y."

Verifye enstalasyon an epi tcheke vèsyon an epi bati:

php -v

Egzanp pwodiksyon:

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

Koulye a, pa default, PHP-FPM koupe epi li pa pèmèt sou bòt. Pou pèmèt sou bòt epi kòmanse sèvis la, sèvi ak sa ki annapre yo kòmandman systemctl:

sudo systemctl enable php-fpm --now

Pou konfime PHP-FPM ap kouri kounye a, sèvi ak sa ki annapre yo kòmand systemctl:

Egzanp pwodiksyon:

Ki jan yo enstale phpBB ak LEMP (Nginx, MariaDB, ak PHP) sou Rocky Linux 8

Sonje byen, ou pa bezwen sèvi ak PHP 8.0, fè kèk rechèch si w pa sèten, oswa pi byen toujou, mande nan fowòm kominote phpBB, ki travay pi byen kounye a; sepandan, pwosesis la se menm bagay la ansanm ak kòmandman swa itilize default oswa lòt vèsyon altènatif nan lis modil dnf la.

Kounye a ke LEMP mete kanpe, ale nan enstalasyon aktyèl phpBB la.

Pati 1. Enstalasyon Backend phpBB

Kounye a ke ou te enstale pile LEMP la, ou kapab kounye a kontinye enstale fowòm phpBB. Depi lè leson patikilye sa a, phpBB 3.3.4 se dènye vèsyon an, epi sepandan, nan tan, tankou pifò bagay, sa a pral chanje pandan y ap fè yon lage apeprè chak sis mwa. Tcheke la downloads paj pou verifye lyen vèsyon an toujou valab.

Telechaje ak Anyè Enstalasyon

Leson patikilye a pral lokalize anyè rasin phpbb nan kote a /var/www/html/phpbb. Pa default, kote sa a pa egziste sou Rocky Linux 8, kidonk ou dwe kreye kote a an premye ak lòd sa a.

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

Apre sa, kontinye telechaje phpBB epi deplase dosye yo nan anyè phpbb la:

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

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

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

MariaDB Konfigirasyon

Koulye a, ou kontinye fè yon baz done pou enstalasyon phpBB ou ak tablo afichaj nan lavni.

Premyèman, pote egzanp tèminal MariaDB kòm rasin:

sudo mysql -u root -p

Kreye baz done a pou fowòm ou yo:

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, bay itilizatè a aksè konplè nan baz done a lè li fè sa ki annapre yo:

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

Vide privilèj yo pou fè chanjman yo aktive:

FLUSH PRIVILEGES;

Kounye a sòti:

EXIT;

Baz done ou a pou phpBB pare kounye a, epi w ap antre detay yo yon fwa ou jwenn pati enstalasyon UI entènèt nan leson patikilye a.

PHP konfigirasyon

Pou enstale phpBB avèk siksè epi opere li byen nan tan kap vini an, ou ta dwe ogmante kèk opsyon nan dosye a konfigirasyon php.ini.

Premyèman, louvri dosye a php.ini:

sudo nano /etc/php.ini

Apre sa, w ap jwenn anviwònman rekòmande pou travay avèk phpBB. Ou pral bezwen lokalize anviwònman yo ak liy yo epi chanje yo jan sa a:

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)

Si ou vle, kèk anviwònman sekirite ogmante, sa a ka sote:

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

Yon fwa fè, CTRL + O pou sove lè sa a Ctrl + X pou sòti nan fichye a.

Kontrèman ak enstalasyon LEMP sou Debian/Ubuntu ki sèvi ak (www-done) itilizatè, sa a se pa ka a ak enstalasyon Rhel/Rocky Linux. Pa default sou Rocky Linux, sèvis PHP-FPM fèt pou yo kouri (Apache) itilizatè a, ki pa kòrèk depi n ap itilize Nginx, e sa a te bezwen korije.

Premyèman, louvri sa yo (www.conf) dosye konfigirasyon:

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

Apre sa, ranplase a (Apache) itilizatè ak gwoup ak la (Nginx) itilizatè ak gwoup:

ki jan yo enstale lemp stack sou Rocky Linux 8 ak nginx, mariadb ak PHP

Pou sove, peze (CTRL+O) Lè sa a, sòti (CTRL+X).

Ou pral bezwen rekòmanse PHP pou chanjman yo aktif:

sudo systemctl restart php-fpm

Nginx Konfigirasyon

Nan blòk sèvè Nginx ou a, ou bezwen deklare PHP an en ak Lè sa a, kote PHP yo.

Pi bon fason pou kreye yon nouvo blòk sèvè, lè l sèvi avèk yon subdomain tankou fowòm oswa kominote.

Yon egzanp sa a se pi ba a, modifye selon bezwen ou yo:

Premyèman, kreye blòk sèvè a:

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

Koulye a, kopye epi kole sa ki annapre yo nan blòk sèvè a, modifye non domèn, SSL, chemen rasin, ak nenpòt lòt bagay ki adapte bezwen ou yo. Kote yo ak PHP tèt li pa ta dwe manyen sof si ou konnen sa w ap fè.

Egzanp sèlman:

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

Remake byen, liy lan ak "fastcgi_pass unix:/run/php-fpm/www.sock;" se esansyèl, san li FPM pa pral kapab kominike.

Apre sa, ou ka fè yon tès rapid sèk nan sèvis Nginx ou a asire w ke tout bagay ap travay kòrèkteman:

sudo nginx -t 

Egzanp pwodiksyon si tout bagay ap travay kòrèkteman:

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

Koulye a, rekòmanse sèvis Nginx la pou phpBB ka aksesib atravè entèfas entènèt la:

sudo systemctl restart nginx

reklam


Si ou vle - Sekirize Nginx ak ann ankripte Sètifika SSL gratis

Idealman, ou ta vle kouri Nginx ou sou HTTPS lè l sèvi avèk yon sètifika SSL. Pi bon fason pou fè sa se sèvi ak Ann ankripte, yon otorite sètifika gratis, otomatik epi ouvè dirije pa la Gwoup rechèch sekirite entènèt san bi likratif (ISRG).

Premyèman, enstale EPEL depo ak la mod_ssl pake pou pi bon pakè ak sekirite mete ajou.

sudo dnf install epel-release mod_ssl -y

Apre sa, enstale a pake certbot jan sa a:

sudo dnf install python3-certbot-nginx -y

Yon fwa enstale, kouri lòd sa a pou kòmanse kreyasyon sètifika ou a:

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

Sa a se konfigirasyon ideyal la ki gen ladan fòs HTTPS 301 redireksyon, Strict-Transport-Security header, ak OCSP Stapling. Jis asire w ke ou ajiste imel la ak non domèn nan kondisyon ou yo.

Koulye a, URL ou a pral https://forums.example.com olye pou yo HTTP://forums.example.com.

Remake byen, si ou itilize ansyen an URL HTTP, li pral otomatikman redireksyon nan T.

Opsyonèlman, ou ka mete yon travay cron pou renouvle sètifika yo otomatikman. Certbot ofri yon script ki fè sa otomatikman, epi ou ka premye teste asire w ke tout bagay ap travay pa fè yon kouri sèk.

sudo certbot renew --dry-run

Si tout bagay ap travay, ouvri fenèt crontab ou a lè w sèvi ak lòd tèminal sa a.

sudo crontab -e

Apre sa, presize lè a lè li ta dwe renouvle otomatikman. Sa a ta dwe tcheke chak jou nan yon minimòm, epi si sètifika a bezwen renouvle, script la pa pral mete ajou sètifika a. Si ou bezwen èd pou jwenn yon bon moman pou mete, sèvi ak la crontab.guru zouti gratis.

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

Save (CTRL+O) Lè sa a, sòti (CTRL+X), epi cronjob la pral otomatikman aktive.

Pati 2. phpBB Web UI Enstalasyon

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.linuxcapable.com pou egzanp leson patikilye a, epi si yo reyisi, ou pral rive nan paj enstalasyon prensipal la pou phpBB.

Yon fwa ou rive nan paj la, klike sou bouton Enstale sou bò gòch anlè pou kòmanse enstalasyon grafik la.

Egzanp:

Ki jan yo enstale phpBB ak LEMP (Nginx, MariaDB, ak PHP) sou Rocky Linux 8

Apre sa, yo pral mennen w nan pwochen ekran an avize w sou karakteristik minimòm yo ak lòt enfòmasyon teknik. Apre w fin li epi tcheke an doub, klike sou la Enstale bouton anba paj la.

Egzanp:

Ki jan yo enstale phpBB ak LEMP (Nginx, MariaDB, ak PHP) sou Rocky Linux 8

Nan pwochen ekran an, ou bezwen kreye kont admin pou phpBB. Asire w ke sa a ranpli kòrèkteman ak yon modpas solid paske sa a enpòtan pou rekiperasyon, pami lòt bagay.

Egzanp:

Ki jan yo enstale phpBB ak LEMP (Nginx, MariaDB, ak PHP) sou Rocky Linux 8

Kounye a ke ou te antre ou Admin detay avèk siksè, ekran detay baz done a ap parèt pou ranpli. Premyèman, kenbe default la MySQL ak ekstansyon MySQLi ak antre nan lokalost sof si baz done ou a sitiye sou yon sèvè separe, Lè sa a, mete IP sèvè a pito ansanm ak pò si li te chanje soti nan default la.

Apre sa, nan egzanp leson patikilye a, yo te nonmen baz done egzanp lan phpbb, ak phpbbuser yo te non itilizatè a ki gen aksè san konte rasin pou jwenn aksè nan phpBB la baz done. Anfen, prefiks la se pa default phpbb_, ki ou ka kenbe menm bagay la tou, men si ou pral enstale plizyè fowòm, li ta konseye pou chanje sa a kenbe prefiks la pwòp epi separe.

Antre sa yo epi klike soumèt kontinye.

Egzanp:

Ki jan yo enstale phpBB ak LEMP (Nginx, MariaDB, ak PHP) sou Rocky Linux 8

Mete konfigirasyon sèvè ou a. Si w pa kouri SSL, paramèt default yo ta dwe adekwat. Si w ap kouri SSL, chanje yo pou adapte sa ou bezwen.

Egzanp:

Ki jan yo enstale phpBB ak LEMP (Nginx, MariaDB, ak PHP) sou Rocky Linux 8

Paj pwochen, ou ka mete kanpe Smp si ou gen yon konfigirasyon antre. Si ou pa, kite default epi frape pwochen.

Egzanp:

Ki jan yo enstale phpBB ak LEMP (Nginx, MariaDB, ak PHP) sou Rocky Linux 8

Mete ou Non Komisyon Konsèy / 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.

Egzanp:

Ki jan yo enstale phpBB ak LEMP (Nginx, MariaDB, ak PHP) sou Rocky Linux 8

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è refere tounen kòm yon etap, pèmisyon ka yo te rate.


reklam


Post Enstalasyon phpBB

Retire Anyè Enstalasyon

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. Li rekòmande pou efase, pa deplase, anyè a. Pou fè sa, sèvi ak lòd sa a nan tèminal ou a:

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

Ranje otorizasyon CHMOD (Etap kritik)

Pandan w ap aktif fè kòmandman tèminal, Li enpòtan pou mete kòrèk la otorizasyon chmod apre enstalasyon an. A 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 w ke ou swiv chemen sa yo estrikteman, oswa ou ka aksidantèlman bay tout anyè phpBB ou a aksè konplè li ak ekri tounen bay piblik la, re-koze yon pwoblèm sekirite.

Mete Cronjob pou phpBB (Rekòmande)

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.

Pote crontab:

sudo crontab -e

Premye opsyon cronjob:

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

Egzanp:

Ki jan yo enstale phpBB ak LEMP (Nginx, MariaDB, ak PHP) sou Rocky Linux 8

Pou sove, CTRL + O Lè sa a, sòti ak Ctrl + X. Si kòrèk, ou pral wè pwodiksyon sa a tounen nan tèminal ou a:

crontab: installing new crontab

Sa vle di li enstale ak travay, epi li konseye pou kouri cronjobs chak 5 minit ak phpBB; sepandan, ou ka ajiste tan yo pou adapte bezwen ou yo si ou vle.

Koulye a, navige panèl Admin ou a tounen nan phpBB epi pèmèt travay la cron sèvè nan anviwònman sèvè ou.

Egzanp:

Ki jan yo enstale phpBB ak LEMP (Nginx, MariaDB, ak PHP) sou Rocky Linux 8

Felisitasyon, ou te enstale avèk siksè fowòm phpBB, epi ou pare pou konsepsyon fowòm ou yo epi fè kominote w la kòmanse. Li trè rekòmande pou tcheke sitwèb ofisyèl phpBB a ak wiki paske li gen anpil enfòmasyon sou personnalisation fowòm ou yo, ki ta twòp pou mete nan gid sa a nou te kreye isit la.


Egzanp:

Ki jan yo enstale phpBB ak LEMP (Nginx, MariaDB, ak PHP) sou Rocky Linux 8

Kòmantè ak konklizyon

Kòm pou sekirite, ekip phpBB a endike ke pa gen okenn CVE pou plizyè ane epi, lè yo t ap mennen ankèt sou vyolasyon posib, yo te jwenn itilizatè yo pa konsantre sou "sekirize" enstale, tankou kèk nan etap sa yo nou vize deyò nan gid la tankou otorizasyon chmod. phpBB se yon lojisyèl gratis ki te eseye ak teste ki pa parèt li pral disparèt nenpòt kilè. 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.

Leave a Comment