# 安裝核心套件 (CentOS 7 / RHEL 7 範例,使用 yum)
yum install -y httpd mariadb-server mariadb php php-mysql php-mbstring php-gd php-xml php-cli php-json
# 啟動服務
systemctl start httpd mariadb php-fpm
systemctl enable httpd mariadb php-fpm
# 資料庫安全初始化
mysql_secure_installation
vim /etc/httpd/conf/httpd.conf
# 註解掉 DocumentRoot "/var/www/html"
/etc/httpd/conf.d/discuz.conf:
<VirtualHost *:80>
ServerName bbs.example.com
DocumentRoot "/var/www/html/discuz"
<Directory "/var/www/html/discuz">
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# PHP 安全設定
php_admin_value open_basedir "/var/www/html/discuz:/tmp:/var/lib/php/session"
php_flag display_errors Off
php_flag log_errors On
php_value error_log /var/log/httpd/discuz_php_error.log
</VirtualHost>
mkdir -p /var/www/html/discuz
echo "<h1>Discuz! Site Ready</h1>" > /var/www/html/discuz/index.html
192.168.x.x bbs.example.com
systemctl restart httpd
yum install -y php-mbstring php-gd php-xml php-json php-pdo php-mysqlnd
# Discuz! X 需要:mbstring, gd, xml, json, pdo_mysql, curl, openssl, zip, fileinfo
systemctl restart php-fpm httpd
建立 /var/www/html/discuz/phpinfo.php 驗證所有擴展已載入。
mysql -u root -p
CREATE DATABASE discuz CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'discuz_user'@'localhost' IDENTIFIED BY 'StrongP@ssw0rd';
GRANT ALL PRIVILEGES ON discuz.* TO 'discuz_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
cd /var/www/html
wget https://www.discuz.net/download/Discuz_X3.4_SC_UTF8.zip
unzip Discuz_X3.4_SC_UTF8.zip
mv upload discuz
chown -R apache:apache /var/www/html/discuz
chmod -R 755 /var/www/html/discuz
# 以下目錄需可寫入
chmod -R 777 /var/www/html/discuz/config
chmod -R 777 /var/www/html/discuz/data
chmod -R 777 /var/www/html/discuz/uc_client/data
chmod -R 777 /var/www/html/discuz/uc_server/data
chmod -R 777 /var/www/html/discuz/source/plugin
chmod -R 777 /var/www/html/discuz/source/language
https://bbs.example.com/install
rm -rf /var/www/html/discuz/install
chmod 444 /var/www/html/discuz/config/config_global.php
chmod 444 /var/www/html/discuz/config/config_ucenter.php
| 項目 | 建議操作 |
|---|---|
| 啟用 HTTPS | 申請 SSL 憑證 (Let's Encrypt),配置 Apache SSL 虛擬主機,強制 HTTP 跳轉 HTTPS |
| 配置 Redis 快取 | 安裝 Redis + php-redis,修改 config_global.php 啟用 memory/redis 快取驅動 |
| 靜態資源 CDN | 配置附件/圖片/靜態檔案上傳至 OSS/CDN,修改 config_global.php 設定 $_config['output']['staticurl'] |
| 防刷郵/防灌水 | 後台開啟驗證碼、發帖間隔、新用戶審核、關鍵字過濾、QQ/微信登入綁定 |
| 定期備份 | 每日備份資料庫 + config/ + data/ + uc_*/data/,異地儲存,測試恢複 |
| 修改後台路徑 | config_global.php 設定 $_config['admincp']['runquery'] 等,或 Apache 層面限制存取 IP |
| 禁用危險函數 | php.ini: disable_functions=exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source |