基于手动配置的环境

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 中需开启以上扩展。
  • 以下操作因为系统版本,软件版本的不同,操作上会有所差异,请根据您的具体情况进行开启对应函数,以下操作仅提供示例。
  1. 查看 PHP 已安装扩展。在终端中,可以输入php -m 查看已安装扩展。

  2. 安装缺失扩展。在终端中,您可以根据查询结果安装对应缺失的扩展。

    • 如缺失Exif 扩展,可以使用以下命令进行编译安装扩展Exif扩展。

TIP

以下路径仅提供示例。请根据实际情况进行输入。

  1. # 使用 cd 命令进入 php 的源码的 exif 模块目录。
  2. cd /root/lamp1.7/src/php-7.3.23/ext/exif/
  3. # 执行 phpize 脚本。
  4. /usr/local/php/bin/phpize
  5. # 编译配置。
  6. ./configure --with-php-config=/usr/local/php/bin/php-config
  7. # 编译安装 exif 模块。
  8. make && make install
  1. 配置php.ini文件。可在终端中输入php --ini查看php.ini配置文件路径。如下图所示:

Apache - 图1

  1. 您可通过vim命令,或使用 WinSCP 工具,根据查询到的文件路径,打开php.ini文件。
  2. 编辑php.ini 文件,去掉以下字段前面的;分号,并保存php.ini 文件。如下所示:
  1. extension=exif
  2. exif.encode_unicode = ISO-8859-15
  3. exif.decode_unicode_motorola = UCS-2BE
  4. exif.decode_unicode_intel = UCS-2LE
  5. exif.encode_jis =
  6. exif.decode_jis_motorola = JIS
  7. exif.decode_jis_intel = JIS=
  1. 重启 PHP 与 Apache 服务。

TIP

您可参考命令service php-fpm restartservice httpd restart重启 PHP 与 Apache 服务。

启用 PHP 函数

TIP

  • Discuz! Q 依赖于symlinkreadlinkputenvrealpathshell_exec 函数,在PHP中需开启以上函数。
  • 以下操作因为系统版本,软件版本的不同,操作上和命令上会有所差异,请根据您的具体情况开启mod_rewrite ,以下操作仅提供示例。
  1. 打开并编辑php.ini文件。查找disable_functions字段,并删除禁用掉的symlinkreadlinkputenvrealpathshell_exec 函数。如下所示:
  1. 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
  1. 保存php.ini文件。
  2. 重启 PHP 与 Apache 服务。

步骤二:配置 Apache

TIP

  • Discuz! Q 依赖于mod_rewrite 模块。请确保已经启用mod_rewrite,以下操作将指导您启动mod_rewrite
  • 以下操作因为系统版本,软件版本的不同,操作上和命令上会有所差异,请根据您的具体情况开启mod_rewrite ,以下操作仅提供示例。

#启用 mod_rewrite

  1. 检查mod_rewrite 是否启用。您可以在终端中输入httpd -M 查看已安装模块。
  2. 如果查询结果中无rewrite_module 字段,您可以在conf 目录的httpd.conf 文件中,查找以下字段,并去掉字段前# 符号。如下所示:
  1. LoadModule rewrite_module modules/mod_rewrite.so
  1. 定位到<directory /> 字段,并修改内容为如下内容:
  1. <directory />
  2. Options All
  3. AllowOverride All
  4. DirectoryIndex index.php index.html
  5. </directory>
  1. 重启 Apache 服务。

步骤三:下载并解压 Discuz! Q 安装包

  1. 您可以通过以下命令在网站主目录下创建 Discuz! Q 网站目录,并下载 Discuz! Q 安装包与解压。
  1. # 创建Discuz! Q 网站目录,目录名可自定义,此处以 discuz 为例。
  2. mkdir discuz
  3. # 进入 discuz 目录
  4. cd discuz
  5. # 下载 Discuz! Q 安装包
  6. wget -c https://www.dismall.com/thread-19012-1-1.html
  7. # 解压 Discuz! Q 安装包
  8. unzip dzq_latest_install.zip

步骤四:初始化安装 Discuz! Q

  1. 打开本地浏览器,访问http://<绑定网站的域名名称>/dl.php 。如下图所示:

Apache - 图2

TIP

  1. 单击【下一步】,Discuz! Q 将自行进行站点检查。如有报错等问题,可参考常见问题 进行排查处理。
  2. Discuz! Q 检查完成后,需配置网站相关信息。如下图所示:

Apache - 图3

  • 站点名称:请输入您的站点名称信息,可自定义。
  • MySQL 服务器地址:请输入您的 MySQL 服务器地址。
  • 数据库名称:请输入您的数据库名称。
  • MySQL 用户名:请输入您的数据库用户名。
  • MySQL 密码:请输入您的数据库密码。
  • 表前缀:可选,可自定义数据库表前缀名称。默认不填。
  • 设置管理员用户名:请输入您 Discuz! Q 站点的管理员用户名。
  • 设置管理员密码:请输入您 Discuz! Q 站点的管理员密码。
  • 管理员密码确认:请再次输入您 Discuz! Q 站点的管理员密码。
  1. 单击【下一步】。即可完成 DIscuz!Q 的安装部署。

步骤五:添加计划任务

为保证 DIscuz!Q 站点功能的正常使用。您还需要在服务器添加计划任务。在终端中输入以下命令并执行。

  1. php <网站主目录>/disco schedule:run >> /dev/null 2>&1