
LAMP部署Discuz论坛
使用LAMP部署Discuz!社区论坛教程
上一篇文章提到安装Apache服务,这篇内容我们将使用LAMP架构部署Discuz!
环境准备
系统要求
- Linux操作系统(推荐CentOS/RHEL 7+)
- Apache Web服务器
- MariaDB/MySQL数据库
- PHP 5.6+(推荐7.0+)
- 至少1GB可用磁盘空间
网络要求
- 开放80端口(HTTP)或443端口(HTTPS)
- 服务器可访问互联网以下载软件包
第一部分:安装LAMP基础环境
步骤1:安装Apache Web服务器
# 安装Apache
sudo yum install httpd -y
# 启动服务并设置开机自启
sudo systemctl start httpd
sudo systemctl enable httpd
# 验证安装
sudo systemctl status httpd
curl http://localhost
步骤2:安装MariaDB数据库
# 安装MariaDB
sudo yum install mariadb-server mariadb -y
# 启动服务并设置开机自启
sudo systemctl start mariadb
sudo systemctl enable mariadb
# 设置root密码(将'your_password'替换为实际密码)
sudo mysqladmin -uroot password 'your_password'
步骤3:安装PHP及扩展
# 安装PHP核心
sudo yum install php -y
# 安装PHP-MySQL扩展
sudo yum install php-mysql -y
# 安装其他常用扩展
sudo yum install php-gd php-mbstring php-xml -y
# 重启Apache使PHP生效
sudo systemctl restart httpd
步骤4:测试PHP环境
# 创建测试文件
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/phpinfo.php
# 访问测试页面
curl http://localhost/phpinfo.php
第二部分:安装配置Discuz!论坛
步骤1:下载Discuz!安装包
# 创建临时下载目录
mkdir ~/discuz_temp && cd ~/discuz_temp
# 下载Discuz!(示例版本X3.4)
wget https://download.comsenz.com/DiscuzX/3.4/Discuz_X3.4_SC_UTF8.zip
# 验证下载完整性
unzip -tq Discuz_X3.4_SC_UTF8.zip
步骤2:解压并部署文件
# 解压安装包
unzip Discuz_X3.4_SC_UTF8.zip -d discuz
# 清空网站根目录
sudo rm -rf /var/www/html/*
# 移动文件到网站根目录
sudo mv discuz/upload/* /var/www/html/
# 设置权限
sudo chown -R apache:apache /var/www/html/
sudo chmod -R 755 /var/www/html/
步骤3:创建数据库
# 登录MySQL
mysql -u root -p
-- 创建Discuz!数据库
CREATE DATABASE discuzdb DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 创建数据库用户
CREATE USER 'discuzuser'@'localhost' IDENTIFIED BY 'StrongPassword123!';
-- 授权用户访问数据库
GRANT ALL PRIVILEGES ON discuzdb.* TO 'discuzuser'@'localhost';
-- 刷新权限
FLUSH PRIVILEGES;
exit
步骤4:Web安装向导
- 打开浏览器访问:
http://your_server_ip/install
- 阅读许可协议并同意
- 系统环境检查(确保所有检查通过)
- 选择"全新安装Discuz! (含UCenter Server)"
- 填写数据库配置:
- 数据库服务器:
localhost
- 数据库名:
discuzdb
- 用户名:
discuzuser
- 密码:
StrongPassword123!
- 表前缀:保持默认或自定义
- 数据库服务器:
-
设置管理员账号:
- 管理员用户名:
admin
(建议修改) - 设置强密码
- 填写管理员邮箱
- 管理员用户名:
-
开始安装(等待进度条完成)
步骤5:完成安装
- 安装成功后,删除安装目录:
sudo rm -rf /var/www/html/install/
- 访问论坛首页:
http://your_server_ip
- 使用管理员账号登录后台:
http://your_server_ip/admin.php
第三部分:安全加固
1. 配置文件加固
# 保护配置文件
sudo chmod 640 /var/www/html/config/config_global.php
sudo chmod 640 /var/www/html/config/config_ucenter.php
2. 启用防火墙
# 开放HTTP端口
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload
3. 设置定期备份
# 创建备份脚本
cat <<EOF | sudo tee /usr/local/bin/backup_discuz.sh
#!/bin/bash
DATE=\$(date +%Y%m%d)
mysqldump -u root -p'your_db_password' discuzdb > /backups/discuz_db_\$DATE.sql
tar czvf /backups/discuz_files_\$DATE.tar.gz /var/www/html/
find /backups/ -type f -mtime +30 -delete
EOF
# 设置可执行权限
sudo chmod +x /usr/local/bin/backup_discuz.sh
# 添加定时任务(每天2点执行)
(crontab -l ; echo "0 2 * * * /usr/local/bin/backup_discuz.sh") | crontab -
4. 启用HTTPS
# 安装Certbot
sudo yum install certbot python3-certbot-apache -y
# 获取SSL证书
sudo certbot --apache -d your_domain.com
# 设置自动续期
sudo certbot renew --dry-run
常见问题解决
1. 文件权限问题
# 重置文件所有者
sudo chown -R apache:apache /var/www/html/
# 重置权限
sudo find /var/www/html/ -type d -exec chmod 755 {} \;
sudo find /var/www/html/ -type f -exec chmod 644 {} \;
2. 数据库连接失败
- 检查MySQL服务状态:
systemctl status mariadb
- 验证数据库用户权限
- 确认防火墙未阻止3306端口(本地访问不需要开放)
3. 页面显示异常
- 清除浏览器缓存
- 检查PHP错误日志:
/var/log/php-fpm/error.log
- 确保安装了所有需要的PHP扩展
4. 验证码不显示
# 安装GD库
sudo yum install php-gd -y
sudo systemctl restart httpd
最佳实践建议
- 定期更新:保持Discuz!、PHP和系统更新
- 启用缓存:在Discuz!后台启用Redis/Memcached缓存
- 备份策略:
- 每日数据库备份
- 每周完整备份
- 安全扫描:定期使用Discuz!官方安全工具扫描
- 禁用不必要插件:减少攻击面
提示:Discuz!安装完成后,务必进入后台
http://your_server_ip/admin.php
进行站点配置和安全设置
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 牧之小岛-Allende
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果