如何在Alma Linux上安装phpBB
phpBB是一款免费、开源、最全面的论坛公告软件之一。它是完全可扩展和可定制的,并且基于 PHP 和 MySQL。它为用户提供了一个见面和交流的空间。它提供了数百种样式和图像包,允许您根据自己的喜好自定义论坛。它每天有数百万人使用,使其成为世界上使用最广泛的开源公告板系统。对于想要创建论坛式讨论板的人来说,这是一个很棒的工具。
在这篇文章中,我们将向您展示如何在Alma Linux 8上安装phpBB论坛。
要求
- 运行Alma Linux 8的服务器。
- 指向您服务器 IP 的有效域名。
- 服务器上设置了 root 密码。
安装 Nginx、MariaDB 和 PHP
首先,通过运行以下命令安装 Nginx Web 服务器、MariaDB 数据库服务器、PHP 和其他所需的 PHP 扩展:
dnf install nginx mariadb-server php php-mysqli php-json php-gd php-curl php-mbstring php-fpm unzip -y
安装所有软件包后,编辑 PHP 配置文件并更改一些默认设置:
nano /etc/php.ini
更改以下行:
max_execution_time = 180
max_input_time = 90
memory_limit = 256M
upload_max_filesize = 64M
保存并关闭文件,然后编辑 PHP FPM 配置文件并更改 Nginx 中的用户和组:
nano /etc/php-fpm.d/www.conf
更改以下行:
user = nginx
group = nginx
保存并关闭文件。然后使用以下命令启动并激活 Nginx、MariaDB 和 PHP-FPM 服务:
systemctl start nginx mariadb php-fpm
systemctl enable nginx mariadb php-fpm
完成后,您可以继续下一步。
为 phpBB 创建数据库
phpBB 使用 MariaDB 作为其数据库后端。所以你需要为phpBB创建一个数据库和一个用户。
首先,使用以下命令登录MariaDB:
mysql
登录后,使用以下命令为 phpBB 创建数据库和用户:
MariaDB [(none)]> CREATE DATABASE phpbbdb;
MariaDB [(none)]> CREATE USER 'phpbbuser'@'localhost' IDENTIFIED BY 'password';
接下来,使用以下命令授予 phpBB 数据库所有权限:
MariaDB [(none)]> GRANT ALL ON phpbbdb.* TO 'phpbbuser'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
接下来,使用以下命令删除权限并退出 MariaDB:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
完成后,您可以继续下一步。
下载phpBB
首先,从官网下载最新版本的phpBB,输入以下命令:
wget https://download.phpbb.com/pub/release/3.3/3.3.7/phpBB-3.3.7.zip
下载完成后,使用以下命令解压缩下载的文件:
unzip phpBB-3.3.7.zip
接下来,将 phpBB 移动到 Nginx Web 根目录:
mv phpBB3 /var/www/html/phpbb
然后使用以下命令设置正确的权限和所有者:
chown -R nginx:nginx /var/www/html/phpbb
chmod -R 755 /var/www/html/phpbb
完成后,您可以继续下一步。
为 phpBB 配置 Nginx
接下来,您需要为 phpBB 的 Nginx 虚拟主机创建一个配置文件。您可以使用以下命令创建它:
nano /etc/nginx/conf.d/phpbb.conf
粘贴以下行:
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;
}
}
保存并关闭文件并使用以下命令检查 Nginx 配置:
nginx -t
您应该得到以下输出:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
最后,重新启动 Nginx 服务以应用更改:
systemctl restart nginx
您还可以使用以下命令检查 Nginx 服务的状态:
systemctl status nginx
您将得到以下输出:
? 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.
完成后,您可以继续下一步。
访问 phpBB 网页界面
现在打开您的网络浏览器并通过 URL http://phpbb.example.com 访问 phpBB 网络界面。您将看到以下页面:
单击安装选项卡。您应该看到安装页面:
单击安装按钮。您应该看到以下页面:
输入您的管理员用户名、密码和电子邮件地址,然后单击提交按钮。您应该看到以下页面:
输入您的 MySQL 数据库用户名和密码,然后单击提交按钮。您应该看到以下页面:
输入您的服务器配置详细信息,然后单击提交按钮。您应该看到以下页面:
输入您的电子邮件配置详细信息,然后单击提交按钮。您应该看到以下页面:
输入板卡配置信息,然后单击提交按钮。安装完成后,将显示以下页面:
单击带我前往 ACP 按钮。在下一页上,您应该看到 phpBB 仪表板:
结论
恭喜!您已在Alma Linux 8上成功安装了phpBB论坛。现在您可以设计您的论坛并建立您的社区。您可以在 phpBB 官方网站上找到更多信息。如果您有任何疑问,请随时与我联系。