首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

Discuz! 論壇從零部署完整教學:LAMP 環境下的安裝與配置

     編輯:PHP 綜合知識

Discuz! 簡介與授權

  • 開源社區論壇系統,官網 discuz.net。
  • 授權模式:免費授權 (非商業、保留版權) 與商業授權 (企業營利、去版權、技術支援)。
  • 本教學以 Discuz! X 系列 (如 X3.4) 為例,依賴 LAMP/LNMP 環境。

前置準備:LAMP 環境快速建立


# 安裝核心套件 (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

Apache 虛擬主機配置

  1. 編輯主配置停用預設站點:
    
    vim /etc/httpd/conf/httpd.conf
    # 註解掉 DocumentRoot "/var/www/html"
    
  2. 建立虛擬主機配置 /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>
    
  3. 建立站點目錄與測試頁:
    
    mkdir -p /var/www/html/discuz
    echo "<h1>Discuz! Site Ready</h1>" > /var/www/html/discuz/index.html
    
  4. 本地測試 DNS (Windows hosts):
    
    192.168.x.x  bbs.example.com
    
  5. 重啟 Apache 驗證:systemctl restart httpd

PHP 必要擴展安裝與驗證


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;

Discuz! 程式碼部署

  1. 下載官方完整包 (UTF-8 版) 並解壓:
    
    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
    
  2. 設定目錄權限 (關鍵步驟):
    
    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
    

Web 安裝精靈流程

  1. 瀏覽器訪問 https://bbs.example.com/install
  2. 接受授權協議 → 環境檢查 (確保所有 Required 項目綠燈) → 資料庫配置 (填入上述建立的資料庫資訊) → 管理員帳號設定 → UCenter 配置 (可選整合) → 完成安裝。
  3. 安裝成功後,**必須刪除 install 目錄**:
    
    rm -rf /var/www/html/discuz/install
    
  4. 設定核心配置檔唯讀:
    
    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

常見安裝問題速查

  1. 環境檢查失敗:mbstring/gd/xml 缺失 → 安裝對應 php-* 套件並重啟 php-fpm/httpd。
  2. 資料庫連線失敗 → 檢查帳號密碼、主機、埠、權限、SELinux (setsebool -P httpd_can_network_connect_db 1)。
  3. 安裝頁面空白/500 → 開啟 display_errors、查看 error_log、確認目錄權限 777、.htaccess 衝突。
  4. UCenter 通訊失敗 → 檢查 UC_API 常數、UC_KEY 一致性、防火牆/網路互通、時間同步。
  5. 中文亂碼 → 資料庫/表/欄位 utf8mb4、PHP mysqli_set_charset('utf8mb4')、Discuz 配置 $_config['db']['charset'] = 'utf8mb4'。

升級與維護

  • 官方發布補丁包,下載後覆蓋對應檔案,後台執行升級腳本。
  • 重大版本升級 (X2→X3) 需全量備份、測試環境驗證後再生產操作。
  • 關注官方安全公告,及時修補高危漏洞 (如 SQL 注入、XSS、RCE)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved