云服务器
Discuz 是基于PHP网页,在 Linux 和 windows 两平台均可部署的论坛工具。本实验带你基于 Ubuntu 快速搭建属于自己的论坛。
首次可免费使用云主机 45 分钟 ,到期后云主机将被重置并退库,若想保留成果请及时留用。
# 搭建 Discuz 论坛
## 准备 LAMP 环境
> <time>30min ~ 60min</time>
LAMP 是 Linux、Apache、MySQL 和 PHP 的缩写,是 Discuz 论坛系统依赖的基础运行环境。我们先来准备 LAMP 环境:
### 安装 Apache2
ubuntu 需要安装 Apache2 ,使用 `apt-get` 安装 Apache2:
```
sudo apt-get install apache2 -y
```
安装好后,您可以通过访问实验室IP地址 [http://${runtime.vars.cvmIpAddress}][] 查看到 apache 界面,说明 apache2 安装成功。
> <checker type="output-contains" command="sudo netstat -nlpt" hint="apache2 未启动">
> <keyword regex="apache2" />
> </checker>
### 安装 PHP 组件
apt-get 里有 php7.0 ,所以我们可以直接安装 php7.0 :
```
sudo apt-get install php7.0 -y
```
安装 php 相关组件:
```
sudo apt-get install libapache2-mod-php7.0
```
重启 Apache 服务:
```
sudo /etc/init.d/apache2 restart
```
> <checker type="output-contains" command="cat /etc/apache2/mods-enabled/php7.0.load" hint="php7.0 进程未启动">
> <keyword regex="php7.0" />
> </checker>
### 安装 MySQL 服务
安装 MySQL 服务,安装 MySQL 过程中,控制台会提示您输入 MySQL 的密码,您需要输入两次密码,并记住您输入的密码,后续安装步骤需要用到。
```
sudo apt-get install mysql-server -y
```
安装 php MySQL 相关组件:
```
sudo apt-get install php7.0-mysql
```
重启 MySQL 服务
```
sudo service mysql restart
```
> <checker type="output-contains" command="sudo netstat -nlpt" hint=" MySQL 未安装">
> <keyword regex="mysqld" />
> </checker>
### 安装 phpmyadmin
使用 `apt-get` 安装 phpmyadmin,安装过程中,您需要根据提示选择 apache2 ,再根据提示输入数据库名称和 phpmyadmin 密码。
```
sudo apt-get install phpmyadmin -y
```
> <checker type="output-contains" command="curl http://${runtime.vars.cvmIpAddress}/phpmyadmin/ --silent" hint="安装 phpmyadmin">
> <keyword regex="phpmyadmin" />
> </checker>
## 安装并配置 Discuz
> <time>30min ~ 60min</time>
### 安装 Discuz
我们需要下载一个Discuz 压缩包:[:question][discuz]
```
wget 'http://download.comsenz.com/DiscuzX/3.3/Discuz_X3.3_SC_UTF8.zip'
```
为了将压缩包解压,需要安装一个 unzip :
```
sudo apt-get install unzip
```
下载完成后,解压这个压缩包
```
sudo unzip Discuz_X3.3_SC_UTF8.zip
```
解压完后,就能在 [upload][dz-config] 文件夹里看到discuz的源码了
> <bubble for="discuz">
> 到 Discuz 官网找一个安装包并复制安装包下载路径,由于我们装的是 PHP7.0 所以这里我们用 Discuz_X3.3_SC_UTF8.zip。
> </bubble>
> <locate for="dz-config" path="/home/ubuntu/upload/index.php" hint="这个是discuz的首页文件" />
> <checker type="output-contains" command="ls /home/ubuntu/upload" hint="Discuz 未下载成功">
> <keyword regex="index.php" />
> </checker>
### 配置 Discuz
由于 PHP 默认访问 `/var/www/html/` 文件夹,所以我们需要把 upload 文件夹里的文件都复制到 `/var/www/html/` 文件夹
```
sudo mv upload/* /var/www/html/
```
将目录切换到 php 访问的文件夹下,
```
cd /var/www/html/
```
修改一下 `config`、`data`、`uc_server/data/`、`uc_client/data/cache` 目录权限:
```
sudo chmod -R 777 config/ data/ uc_server/data/ uc_client/data/cache/
```
将 apache 指定到 index.html
```
sudo mv /var/www/html/index.html /var/www/html/index~.html
```
重启 Apache 服务:
```
sudo /etc/init.d/apache2 restart
```
> <checker type="output-contains" command="curl http://${runtime.vars.cvmIpAddress}/install/ --silent" hint="Discuz 未安装">
> <keyword regex="Discuz" />
> </checker>
## 准备域名和证书
> <time>15min ~ 30min</time>
### 域名注册
如果您还没有域名,可以[在腾讯云上选购][buy_link],过程可以参考下面的视频。
* [视频 - 在腾讯云上购买域名][buy_domain_video]
> <link for="buy_link" href="https://dnspod.qcloud.com/?fromSource=lab"></link>
> <video for="buy_domain_video" platform="qq" vid="p05077pwelw" name="域名选购"></video>
### 域名解析
域名购买完成后, 需要将域名解析到实验云主机上,实验云主机的 IP 为:
```
${runtime.vars.cvmIpAddress}
```
在腾讯云购买的域名,可以[到控制台添加解析记录][https://console.qcloud.com/domain],过程可参考下面的视频:
* [视频 - 如何在腾讯云上解析域名][video_resolve_domain]
> <video for="video_resolve_domain" platform="qq" vid="t0507ps9kxo" name="域名解析"></video>
域名设置解析后需要过一段时间才会生效,通过 `ping` 命令检查域名是否生效 [:question][replace],如:
> <bubble for="replace">注意替换下面命令中的 `www.yourmpdomain.com` 为您自己的注册的域名</bubble>
```
ping www.yourdomain.com
```
如果 ping 命令返回的信息中含有你设置的解析的 IP 地址,说明解析成功。
### 大功告成!
恭喜,您的 Discuz 论坛已经部署完成,您可以通过浏览器访问论坛查看效果。
通过IP地址查看:[http://${runtime.vars.cvmIpAddress}/install][]
通过域名查看:[http://www.yourdomain.com/install][],其中替换 `www.yourdomain.com` 为之前申请的域名。