基于手动配置的环境
Apache
操作场景
本文档将指导您如何在已安装 Apache 服务的 Linux 服务器上安装部署 Discuz! Q。
TIP
- 若您已知晓如何安装部署 Discuz! Q,您可以直接单击此处 (opens new window)下载 Discuz! Q 进行安装部署。
- 本文档以 Apache 2.4.46 版本、PHP 7.3.23、 CentOS 7.6 为例。
前提条件
- 服务器已安装的 PHP 版本为 7.2.5 及以上(暂不推荐使用7.4),数据库使用 MySQL 5.7.9 版本以上或 MariaDB 10.2 以上。
- 已成功登录 Linux 服务器。
操作步骤
步骤一:配置PHP
安装扩展
- Discuz! Q 依赖于
BCMath``Ctype``Curl``Dom``Fileinfo``GD``JSON``Mbstring``Exif``OpenSSL``PDO``PDO_mysql``Tokenizer``XML``Zip扩展插件,在 PHP 中需开启以上扩展。- 以下操作因为系统版本,软件版本的不同,操作上会有所差异,请根据您的具体情况进行开启对应函数,以下操作仅提供示例。
查看 PHP 已安装扩展。在终端中,可以输入
php -m查看已安装扩展。安装缺失扩展。在终端中,您可以根据查询结果安装对应缺失的扩展。
- 如缺失
Exif扩展,可以使用以下命令进行编译安装扩展Exif扩展。
- 如缺失
TIP
以下路径仅提供示例。请根据实际情况进行输入。
# 使用 cd 命令进入 php 的源码的 exif 模块目录。cd /root/lamp1.7/src/php-7.3.23/ext/exif/# 执行 phpize 脚本。/usr/local/php/bin/phpize# 编译配置。./configure --with-php-config=/usr/local/php/bin/php-config# 编译安装 exif 模块。make && make install
- 配置
php.ini文件。可在终端中输入php --ini查看php.ini配置文件路径。如下图所示:

- 您可通过
vim命令,或使用 WinSCP 工具,根据查询到的文件路径,打开php.ini文件。 - 编辑
php.ini文件,去掉以下字段前面的;分号,并保存php.ini文件。如下所示:
extension=exifexif.encode_unicode = ISO-8859-15exif.decode_unicode_motorola = UCS-2BEexif.decode_unicode_intel = UCS-2LEexif.encode_jis =exif.decode_jis_motorola = JISexif.decode_jis_intel = JIS=
- 重启 PHP 与 Apache 服务。
TIP
您可参考命令service php-fpm restart与service httpd restart重启 PHP 与 Apache 服务。
启用 PHP 函数
TIP
- Discuz! Q 依赖于
symlink、readlink、putenv、realpath、shell_exec函数,在PHP中需开启以上函数。 - 以下操作因为系统版本,软件版本的不同,操作上和命令上会有所差异,请根据您的具体情况开启
mod_rewrite,以下操作仅提供示例。
- 打开并编辑
php.ini文件。查找disable_functions字段,并删除禁用掉的symlink、readlink、putenv、realpath、shell_exec函数。如下所示:
disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,popepassthru,stream_socket_server
- 保存
php.ini文件。 - 重启 PHP 与 Apache 服务。
步骤二:配置 Apache
TIP
- Discuz! Q 依赖于
mod_rewrite模块。请确保已经启用mod_rewrite,以下操作将指导您启动mod_rewrite。 - 以下操作因为系统版本,软件版本的不同,操作上和命令上会有所差异,请根据您的具体情况开启
mod_rewrite,以下操作仅提供示例。
#启用 mod_rewrite
- 检查
mod_rewrite是否启用。您可以在终端中输入httpd -M查看已安装模块。 - 如果查询结果中无
rewrite_module字段,您可以在conf目录的httpd.conf文件中,查找以下字段,并去掉字段前#符号。如下所示:
LoadModule rewrite_module modules/mod_rewrite.so
- 定位到
<directory />字段,并修改内容为如下内容:
<directory />Options AllAllowOverride AllDirectoryIndex index.php index.html</directory>
- 重启 Apache 服务。
步骤三:下载并解压 Discuz! Q 安装包
- 您可以通过以下命令在网站主目录下创建 Discuz! Q 网站目录,并下载 Discuz! Q 安装包与解压。
# 创建Discuz! Q 网站目录,目录名可自定义,此处以 discuz 为例。mkdir discuz# 进入 discuz 目录cd discuz# 下载 Discuz! Q 安装包wget -c https://www.dismall.com/thread-19012-1-1.html# 解压 Discuz! Q 安装包unzip dzq_latest_install.zip
步骤四:初始化安装 Discuz! Q
- 打开本地浏览器,访问
http://<绑定网站的域名名称>/dl.php。如下图所示:

TIP
- 站点如需部署 SSL 证书,使用 HTTPS 协议进行站点访问。请在以下操作之前部署安装 SSL 证书,并使用
https://<绑定网站的域名名称>/dl.php进行访问。部署安装 SSL 证书详情操作请参考:Nginx 服务器证书安装 (opens new window)。 - 如需购买 SSL 证书,可参考SSL 证书购买流程 (opens new window),请根据您的实际情况进行购买相关证书。腾讯云为 Discuz! Q 站点提供免费 SSL 证书申请。详情请查看:域名型(DV)免费证书申请流程(opens new window)
- 单击【下一步】,Discuz! Q 将自行进行站点检查。如有报错等问题,可参考常见问题 进行排查处理。
- Discuz! Q 检查完成后,需配置网站相关信息。如下图所示:

- 站点名称:请输入您的站点名称信息,可自定义。
- MySQL 服务器地址:请输入您的 MySQL 服务器地址。
- 数据库名称:请输入您的数据库名称。
- MySQL 用户名:请输入您的数据库用户名。
- MySQL 密码:请输入您的数据库密码。
- 表前缀:可选,可自定义数据库表前缀名称。默认不填。
- 设置管理员用户名:请输入您 Discuz! Q 站点的管理员用户名。
- 设置管理员密码:请输入您 Discuz! Q 站点的管理员密码。
- 管理员密码确认:请再次输入您 Discuz! Q 站点的管理员密码。
- 单击【下一步】。即可完成 DIscuz!Q 的安装部署。
步骤五:添加计划任务
为保证 DIscuz!Q 站点功能的正常使用。您还需要在服务器添加计划任务。在终端中输入以下命令并执行。
php <网站主目录>/disco schedule:run >> /dev/null 2>&1
