Cách cài đặt phpBB trên Alma Linux

Tác giả Security+, T.Ba 29, 2024, 04:06:08 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 3 Khách đang xem chủ đề.

Cách cài đặt phpBB trên Alma Linux


phpBB là phần mềm mã nguồn mở miễn phí và là một trong những phần mềm thông báo diễn đàn toàn diện nhất. Nó hoàn toàn có thể mở rộng và tùy chỉnh, dựa trên PHP và MySQL. Nó cung cấp một không gian để người dùng gặp gỡ và giao tiếp với nhau. Nó cung cấp hàng trăm gói phong cách và hình ảnh cho phép bạn tùy chỉnh diễn đàn theo ý thích của mình.

Nó được hàng triệu người sử dụng mỗi ngày, khiến nó trở thành hệ thống bảng thông báo nguồn mở được sử dụng rộng rãi nhất trên thế giới. Đây là một công cụ tuyệt vời cho những người muốn tạo diễn đàn thảo luận theo phong cách diễn đàn.


Trong bài đăng này, chúng tôi sẽ hướng dẫn bạn cách cài đặt diễn đàn phpBB trên Alma Linux 8.

1. Yêu cầu

  • Một máy chủ chạy Alma Linux 8.
  • Một tên miền hợp lệ trỏ đến IP máy chủ của bạn.
  • Mật khẩu root được thiết lập trên máy chủ.

2. Cài đặt Nginx, MariaDB và PHP

Đầu tiên, cài đặt máy chủ web Nginx, máy chủ cơ sở dữ liệu MariaDB, PHP và các phần mở rộng PHP cần thiết khác bằng cách chạy lệnh sau:

Mã nguồn [Chọn]
dnf install nginx mariadb-server php php-mysqli php-json php-gd php-curl php-mbstring php-fpm unzip -y
Khi tất cả các gói đã được cài đặt, hãy chỉnh sửa tệp cấu hình PHP và thay đổi một số cài đặt mặc định:

Mã nguồn [Chọn]
nano /etc/php.ini
Thay đổi các dòng sau:

Mã nguồn [Chọn]
max_execution_time = 180
max_input_time = 90
memory_limit = 256M
upload_max_filesize = 64M

Lưu và đóng tệp, sau đó chỉnh sửa tệp cấu hình PHP FPM và thay đổi người dùng và nhóm trong Nginx:

Mã nguồn [Chọn]
nano /etc/php-fpm.d/www.conf
Thay đổi các dòng sau:

Mã nguồn [Chọn]
user = nginx
group = nginx

Lưu và đóng tập tin. Sau đó khởi động và kích hoạt dịch vụ Nginx, MariaDB và PHP-FPM bằng lệnh sau:

Mã nguồn [Chọn]
systemctl start nginx mariadb php-fpm
systemctl enable nginx mariadb php-fpm

Khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

3. Tạo cơ sở dữ liệu cho phpBB

phpBB sử dụng MariaDB làm phần phụ trợ cơ sở dữ liệu. Vì vậy bạn cần tạo cơ sở dữ liệu và người dùng cho phpBB.

Đầu tiên, đăng nhập vào MariaDB bằng lệnh sau:

Mã nguồn [Chọn]
mysql
Khi bạn đã đăng nhập, hãy tạo cơ sở dữ liệu và người dùng cho phpBB bằng lệnh sau:

Mã nguồn [Chọn]
MariaDB [(none)]> CREATE DATABASE phpbbdb;
MariaDB [(none)]> CREATE USER 'phpbbuser'@'localhost' IDENTIFIED BY 'password';

Tiếp theo, cấp cho cơ sở dữ liệu phpBB tất cả các quyền bằng lệnh sau:

Mã nguồn [Chọn]
MariaDB [(none)]> GRANT ALL ON phpbbdb.* TO 'phpbbuser'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
Tiếp theo, xóa quyền và thoát MariaDB bằng lệnh sau:

Mã nguồn [Chọn]
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

4. Tải xuống phpBB

Đầu tiên, tải xuống phiên bản mới nhất của phpBB từ trang web chính thức bằng cách nhập lệnh sau:

Mã nguồn [Chọn]
wget https://download.phpbb.com/pub/release/3.3/3.3.7/phpBB-3.3.7.zip
Sau khi quá trình tải xuống hoàn tất, hãy giải nén tệp đã tải xuống bằng lệnh sau:

Mã nguồn [Chọn]
unzip phpBB-3.3.7.zip
Tiếp theo, di chuyển phpBB vào thư mục gốc của web Nginx:

Mã nguồn [Chọn]
mv phpBB3 /var/www/html/phpbb
Sau đó sử dụng lệnh sau để đặt quyền và chủ sở hữu chính xác:

Mã nguồn [Chọn]
chown -R nginx:nginx /var/www/html/phpbb
chmod -R 755 /var/www/html/phpbb

Khi bạn đã hoàn tất việc đó, bạn có thể chuyển sang bước tiếp theo.

5. Định cấu hình Nginx cho phpBB

Tiếp theo, bạn sẽ cần tạo tệp cấu hình cho máy chủ ảo Nginx cho phpBB. Bạn có thể tạo nó bằng lệnh sau:

Mã nguồn [Chọn]
nano /etc/nginx/conf.d/phpbb.conf
Dán các dòng sau:

Mã nguồn [Chọn]
server {
   listen 80;
   server_name phpbb.exampledomain.com;
   root /var/www/html/phpbb;
   index index.php index.html index.htm;

    access_log /var/log/nginx/phpbb-access.log;
    error_log /var/log/nginx/phpbb-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;
  }
}

Lưu và đóng tệp và kiểm tra cấu hình Nginx bằng lệnh sau:

Mã nguồn [Chọn]
nginx -t
Bạn sẽ nhận được kết quả đầu ra sau:

Mã nguồn [Chọn]
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Cuối cùng, khởi động lại dịch vụ Nginx để áp dụng các thay đổi:

Mã nguồn [Chọn]
systemctl restart nginx
Bạn cũng có thể kiểm tra trạng thái của dịch vụ Nginx bằng lệnh sau:

Mã nguồn [Chọn]
systemctl status nginx
Bạn sẽ nhận được kết quả đầu ra sau:

Mã nguồn [Chọn]
? nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/nginx.service.d
           ??php-fpm.conf
   Active: active (running) since Sat 2022-04-02 11:50:20 UTC; 4s ago
  Process: 4558 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 4556 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 4554 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 4560 (nginx)
    Tasks: 2 (limit: 11412)
   Memory: 3.8M
   CGroup: /system.slice/nginx.service
           ??4560 nginx: master process /usr/sbin/nginx
           ??4561 nginx: worker process

Apr 02 11:50:20 linux systemd[1]: nginx.service: Succeeded.
Apr 02 11:50:20 linux systemd[1]: Stopped The nginx HTTP and reverse proxy server.
Apr 02 11:50:20 linux systemd[1]: Starting The nginx HTTP and reverse proxy server...
Apr 02 11:50:20 linux nginx[4556]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Apr 02 11:50:20 linux nginx[4556]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Apr 02 11:50:20 linux systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Apr 02 11:50:20 linux systemd[1]: Started The nginx HTTP and reverse proxy server.

Khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

6. Truy cập giao diện web phpBB

Bây giờ hãy mở trình duyệt web của bạn và truy cập vào giao diện web phpBB qua URL   Đăng nhập để xem liên kết. Bạn sẽ thấy trang sau:


Nhấp vào tab CÀI ĐẶT. Bạn sẽ thấy trang cài đặt:


Bấm vào nút Cài đặt. Bạn sẽ thấy trang sau:


Nhập tên người dùng, mật khẩu và địa chỉ email quản trị viên của bạn và nhấp vào nút Gửi. Bạn sẽ thấy trang sau:


Nhập tên người dùng và mật khẩu cơ sở dữ liệu MySQL của bạn và nhấp vào nút Gửi. Bạn sẽ thấy trang sau:


Nhập chi tiết cấu hình máy chủ của bạn và nhấp vào nút Gửi. Bạn sẽ thấy trang sau:


Nhập chi tiết cấu hình email của bạn và nhấp vào nút Gửi. Bạn sẽ thấy trang sau:


Nhập thông tin cấu hình bảng và nhấp vào nút Gửi. Sau khi cài đặt hoàn tất, trang sau sẽ được hiển thị:


Nhấp vào nút Đưa tôi đến ACP. Trên trang tiếp theo, bạn sẽ thấy Bảng điều khiển phpBB:


Chúc mừng! Bạn đã cài đặt thành công diễn đàn phpBB trên Alma Linux 8. Bây giờ bạn có thể thiết kế diễn đàn và thiết lập cộng đồng của mình. Bạn có thể tìm thêm thông tin trên trang web chính thức của phpBB. Nếu bạn có bất kỳ câu hỏi nào, xin vui lòng liên hệ với tôi.