- 注册
- 10 16, 2023
- 消息
- 2,203
- G
- 12,335 G
- 美国加利福尼亚州硅谷 网友
- 主题 作者
- #1
Bash:
# ==============================================
# Flarum 论坛系统安装教程 - Ubuntu 22.04 LTS
# 环境要求:1GB+ 内存 | 最新系统更新 | SSH 访问权限
# ==============================================
# ---------------------------
# 步骤 1:系统更新与基础准备
# ---------------------------
sudo apt update -y && sudo apt upgrade -y # 更新软件包列表和系统组件
sudo apt install -y software-properties-common apt-transport-https lsb-release ca-certificates # 安装基础工具
# ---------------------------
# 步骤 2:安装 Web 服务器 (Nginx)
# ---------------------------
sudo apt install -y nginx
sudo systemctl enable nginx --now # 启动并设置开机自启
# ---------------------------
# 步骤 3:安装数据库 (MariaDB)
# ---------------------------
sudo apt install -y mariadb-server mariadb-client
sudo mysql_secure_installation # 运行安全配置向导(建议设置 root 密码并删除测试数据库)
# ---------------------------
# 步骤 4:安装 PHP 8.1 及其扩展
# ---------------------------
sudo apt install -y php8.1 php8.1-fpm php8.1-mysql php8.1-curl php8.1-dom \
php8.1-gd php8.1-mbstring php8.1-zip php8.1-xml php8.1-intl # Flarum 所需的核心扩展
sudo systemctl restart php8.1-fpm # 重启 PHP 服务
# ---------------------------
# 步骤 5:创建数据库
# ---------------------------
sudo mysql -u root -p <<EOF
CREATE DATABASE flarumdb;
CREATE USER 'flarumuser'@'localhost' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON flarumdb.* TO 'flarumuser'@'localhost';
FLUSH PRIVILEGES;
EOF
# 注意:将 StrongPassword123! 替换为高强度密码
# ---------------------------
# 步骤 6:安装 Composer
# ---------------------------
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
# ---------------------------
# 步骤 7:安装 Flarum
# ---------------------------
sudo mkdir -p /var/www/flarum # 创建网站目录
sudo chown -R $USER:$USER /var/www/flarum # 临时授权当前用户
# 使用 Composer 创建项目
composer create-project flarum/flarum /var/www/flarum --stability=beta
# 安装后权限修正
sudo chown -R www-data:www-data /var/www/flarum # 重置所有权给 Web 用户
sudo chmod -R 755 /var/www/flarum # 设置正确权限
# ---------------------------
# 步骤 8:配置 Nginx
# ---------------------------
sudo nano /etc/nginx/sites-available/flarum.conf # 创建配置文件
# ▼ 粘贴以下配置内容 ▼
server {
listen 80;
server_name yourdomain.com; # 替换为你的域名
root /var/www/flarum/public;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~* \.php$ {
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
expires 1y;
add_header Cache-Control "public";
}
location ~ /\.ht {
deny all;
}
}
# ▲ 结束配置内容 ▲
sudo ln -s /etc/nginx/sites-available/flarum.conf /etc/nginx/sites-enabled/ # 启用配置
sudo nginx -t # 验证配置语法
sudo systemctl reload nginx # 重载服务
# ---------------------------
# 步骤 9:完成安装
# ---------------------------
echo "现在通过浏览器访问 http://yourdomain.com 完成图形化安装"
echo "数据库信息:"
echo "数据库名:flarumdb | 用户:flarumuser | 密码:StrongPassword123!"
echo "管理员账户信息将在安装界面设置"
# ---------------------------
# 步骤 10:安全加固(可选但建议)
# ---------------------------
sudo ufw allow 'Nginx Full' # 配置防火墙
sudo apt install -y certbot python3-certbot-nginx # 安装 SSL 工具
sudo certbot --nginx -d yourdomain.com # 获取 Let's Encrypt SSL 证书
# 设置定时任务维护
(crontab -l 2>/dev/null; echo "*/5 * * * * php /var/www/flarum/flarum schedule:run") | crontab -
======================
安装后注意事项
======================
- 首次访问需在浏览器完成管理员账户设置
- 建议安装后立即在后台检查更新
- 推荐安装中文语言包(通过后台扩展管理)
- 定期执行 sudo apt update && sudo apt upgrade 保持系统更新
- 重要数据需配置自动备份方案
常见问题排查:
Q1: 出现 502 Bad Gateway 错误→ 检查 PHP-FPM 状态:sudo systemctl status php8.1-fpm
→ 确认 sock 文件路径:ls /run/php/php8.1-fpm.sock
Q2: 文件权限问题
→ 重置权限:sudo chown -R www-data:www-data /var/www/flarum
→ 重置目录权限:sudo find /var/www/flarum -type d -exec chmod 755 {} \;
Q3: 数据库连接失败
→ 验证 MySQL 用户权限:SELECT user,host FROM mysql.user;
→ 检查防火墙设置:sudo ufw status
Bash:
# 验证 PHP 配置
php -m | grep -E 'curl|dom|gd|mbstring|openssl|pdo_mysql|tokenizer'
# 应显示以下模块:
# curl
# dom
# gd
# mbstring
# openssl
# PDO_mysql
# tokenizer
编辑 /etc/php/8.1/fpm/php.ini 设置 display_errors = Off
然后执行:sudo systemctl restart php8.1-fpm
最后编辑: