在Debian上搭建Flarum论坛

Flarum 是一个免费且开源的下一代论坛软件,使在线讨论变得有趣,简单,快速,免费。Flarum 源代码托管在 Github 上,它被设计为快速,简单,响应迅速和可扩展。

本教程将引导您在使用 PHP,MariaDB 作为数据库,以及 Nginx 作为 Web 服务器的 Debian 10上完成 Flarum 安装过程。

照例更新一下系统:

apt update && apt upgrade

安装必要依赖:

apt install -y zip unzip curl wget git

安装PHP

安装 php 和必要的 php 插件:

apt install -y php php-cli php-fpm php-common php-mbstring php-gd php-xml php-mysql php-curl

安装完后检查一下版本:

php --version

安装MariaDB

apt install -y mariadb-server

检查一下版本:

mysql --version

提高 MariaDB 安装的安全性:

mysql_secure_installation

此处一路 “y” 就ok了。

以 root 用户身份登录 MariaDB:

mysql -u root -p

创建一个新的 MariaDB 数据库和数据库用户,并记住凭据:

1
2
3
4
MariaDB> CREATE DATABASE dbname;
MariaDB> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
MariaDB> FLUSH PRIVILEGES;
MariaDB> quit

用适合您设置的名称替换 dbname 和 username,替换 password 为强密码。dbname 为你新建的数据库名称,username 为数据库用户名,password 为数据库密码,默认的数据库主机地址是 localhost,这些要记下来,等下浏览器里安装会需要。

安装Composer

下载并安装 Composer,它是 PHP 的依赖性管理器:

1
2
3
4
5
6
7
8
#下载脚本
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
#运行安装脚本
php composer-setup.php
#删除脚本
php -r "unlink('composer-setup.php');"
#移动到运行目录
sudo mv composer.phar /usr/local/bin/composer

检查版本:

composer --version

安装Flarum

创建一个文档根目录:

mkdir -p /var/www/flarum

cd /var/www/flarum

通过 Composer 下载最新版本的 Flarum:

composer create-project flarum/flarum . --stability=beta

最后变更 flarum 目录的所有权为 www-data:

chown -R www-data:www-data /var/www/flarum

安装Nginx

安装 Nginx 前,别忘了申请 SSL 证书,申请证书请参考俺以前写过的文章,这里就不赘述。

安装nginx:

apt install nginx

检查一下版本或插件:

nginx -V

为 Flarum 配置 Nginx,下面是完整的配置文件:

vi /etc/nginx/nginx.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
pid /var/run/nginx.pid;
worker_processes auto;
worker_rlimit_nofile 51200;
events {
worker_connections 10240;
multi_accept on;
use epoll;
}
http {
server_tokens off;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 120s;
keepalive_requests 10000;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
access_log off;
error_log /dev/null;
server {
listen 80;
listen [::]:80;
server_name frone.yeahwu.ml;
location / {
return 301 https://$server_name$request_uri;
}
}

server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name frone.yeahwu.ml;
root /var/www/flarum/public;
index index.html index.htm index.php default.html default.htm default.php;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
ssl_certificate /etc/letsencrypt/live/frone.yeahwu.ml/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/frone.yeahwu.ml/privkey.pem;

location / {
try_files $uri $uri/ /index.php?$query_string;
}

location ~* \.php$ {
fastcgi_pass unix:/run/php/php7.3-fpm.sock;
include fastcgi_params;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
}

上面注意修改域名,保存后检查一下 nginx 配置:

nginx -t

配置无问题的话,启动nginx:

systemctl start nginx

最后,在浏览器中打开您的站点,然后按照下图的说明完成安装。

下面是俺搭建的 “无二论坛” 示例:

https://1024.day