1.7Discuz_X3.2论坛软件搭建

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
日志服务 SLS,月写入数据量 50GB 1个月
简介:

    在搭建了LAMP环境的基础上安装Dscuz


一、下载并解压Discuz_X3.2

[root@www ~]#mkdir /data/www -p
[root@www ~]#cd /data/www/

[root@www www]# mv /usr/local/src/Discuz_X3.2_SC_GBK.zip .

[root@www www]# unzip Discuz_X3.2_SC_GBK.zip

[root@www www]# ls
Discuz_X3.2_SC_GBK.zip  readme  upload  utility


[root@www www]# mv upload/* ./
[root@www www]# rm -rf readme/ utility/ upload/ Discuz_X3.2_SC_GBK.zip 
wKiom1ZylXjSy8EYAAA95BaS574483.jpg


二、修改http配置文件,打开虚拟主机配置

[root@www www]# vim /etc/httpd/httpd.conf

400 # Virtual hosts
401 Include /etc/httpd/extra/httpd-vhosts.conf


三、配置虚拟主机文件,修改配置

[root@www www]# vim /etc/httpd/extra/httpd-vhosts.conf

<VirtualHost *:80>
    #ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/data/www"
    ServerName www.test.com
    ServerAlias www.aaa.com
    #ErrorLog "logs/dummy-host.example.com-error_log"
    #CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>

[root@www www]# /usr/local/apache2/bin/apachectl -t
Syntax OK

四、在windows主机下的hosts文件添加两个测试域名解析

192.168.1.21    www.test.com    www.aaa.com


五、出现403访问错误,修改配置文件

[root@www www]# vim /etc/httpd/httpd.conf

116 # First, we configure the "default" to be a very restrictive set of 
117 # features.  
118 #
119 <Directory />
120     Options FollowSymLinks
121     AllowOverride None
122     Order deny,allow
123     allow from all
124 </Directory>

[root@www www]# /usr/local/apache2/bin/apachectl graceful


六、PHP和Discuz字符集不一致出现乱码

wKiom1Zyn3SRJ3NiAAEWQyxxk0A825.jpg

修改PHP配置文件,将字符集改为GBK

[root@www www]# vim /usr/local/php/etc/php.ini 

 678 ; PHP's default character set is set to UTF-8.
 679 ; http://php.net/default-charset
 680 #default_charset = "UTF-8"
 681 default_charset = "GBK"

重新加载配置,刷新网页
[root@www www]# /usr/local/apache2/bin/apachectl graceful

七、安装Discuz

wKioL1Zyq96BcdYaAADPkfBAKYE854.jpg

[root@www www]# chown -R daemon config/ data/ uc_client/ uc_server/

第一次安装选全新安装wKiom1ZyrD_SBCjwAACWnzOFqmY677.jpg

wKiom1ZyrNLTvQOlAACxezMwshk052.jpg


八、配置MySQL相关


1、创建discuz数据库

mysql> create database discuz;
Query OK, 1 row affected (0.07 sec)


2、创建mysql用户

mysql> grant all on discuz.* to 'ming'@'localhost' identified by 'ming123';
Query OK, 0 rows affected (0.28 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.03 sec)

3、继续安装discuz

wKiom1ZysILi4u5jAADHYwDsKZE658.jpg

安装完成

wKioL1ZysM7CL0gHAAEpnVSwEGA075.jpg


九、Apache相关配置

1、Apache用户认证

(1)创建目录

[root@www ~]# cd /data/www/

[root@www www]# mkdir abc
[root@www www]# cp /etc/passwd abc/1.txt

(2)修改虚拟主机配置文件

[root@www www]# vim /etc/httpd/extra/httpd-vhosts.conf 

<VirtualHost *:80>
    #ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/data/www"
    ServerName www.test.com
    ServerAlias www.aaa.com
    #ErrorLog "logs/dummy-host.example.com-error_log"
    #CustomLog "logs/dummy-host.example.com-access_log" common
    <Directory "/data/www/abc">
        AllowOverride AuthConfig
        AuthName "自定义的"
        AuthType Basic
        AuthUserFile /data/.htpasswd
        require valid-user
    </directory>

</VirtualHost>

[root@www www]# /usr/local/apache2/bin/apachectl -t
Syntax OK

[root@www www]# vim /etc/profile.d/path.sh

#!/bin/bash
export PATH=$PATH:/usr/local/mysql/bin:/usr/local/apache2/bin
[root@www www]# source /etc/profile.d/path.sh



(3)创建认证用户和密码

[root@www www]# htpasswd -c /data/.htpasswd user1   //创建第一个用户加-c选项
New password:       //密码123456
Re-type new password: 
Adding password for user user1
[root@www www]# cat /data/.htpasswd      //cat查看密码文件
user1:$apr1$yVj/LOxx$DikS0h570cv8UF4QLZAyN/
[root@www www]# htpasswd /data/.htpasswd user2    //创建第二个用户不用加-c选项
New password:    //密码123456
Re-type new password: 
Adding password for user user2
[root@www www]# !cat
cat /data/.htpasswd 
user1:$apr1$yVj/LOxx$DikS0h570cv8UF4QLZAyN/
user2:$apr1$sXRy3Ga1$wYMyiI9DyFaMcSH1dFRnw1


重新加载apache
[root@www www]# apachectl graceful
wKioL1ZytqHBogVGAADelaKtmDM626.jpg


2、默认虚拟主机

[root@www www]# mkdir /tmp/123
[root@www www]# chmod 600 /tmp/123
 增加以下虚拟目录,用于拒绝访问

[root@www www]# vim /etc/httpd/extra/httpd-vhosts.conf 

<VirtualHost *:80>
        DocumentRoot "/tmp/123"
        ServerName 11111.com
</VirtualHost>


<VirtualHost *:80>
    #ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/data/www"
    ServerName www.test.com
    ServerAlias www.aaa.com
    #ErrorLog "logs/dummy-host.example.com-error_log"
    #CustomLog "logs/dummy-host.example.com-access_log" common
    <Directory "/data/www/abc">
        AllowOverride AuthConfig
        AuthName "users"
        AuthType Basic
        AuthUserFile /data/.htpasswd
        require valid-user
    </directory>
</VirtualHost>

[root@www www]# apachectl graceful


访问测试:www.222.com或直接访问IP,只有test和aaa可以访问

wKiom1ZyuVCjfMFyAABQcLSI_E4398.jpg


3、域名301跳转

修改虚拟主机配置文件,增加域名跳转模块

[root@www www]# vim /etc/httpd/extra/httpd-vhosts.conf 

    <IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteCond %{HTTP_HOST} ^www.aaa.com$
        RewriteRule ^/(.*)$  http://www.test.com/$1 [R=301,L]
    </IfModule>
wKioL1Zyu6KQ7jlyAAClOQIbbhc174.jpg

[root@www www]# apachectl -t
Syntax OK
[root@www www]# apachectl graceful

在浏览器访问www.aaa.com会自动跳转成www.test.com


[root@www www]# curl -x192.168.1.21:80 www.aaa.com -I
HTTP/1.1 301 Moved Permanently
Date: Mon, 14 Dec 2015 09:11:28 GMT
Server: Apache/2.2.31 (Unix) PHP/5.6.14
Location: http://www.test.com/
Content-Type: text/html; charset=iso-8859-1

增加多个域名跳转,使别名为www.bbb.com跳转到www.test.com

wKiom1ZyvY-yo6VkAACVYKDpQb4199.jpg

[root@www www]# apachectl graceful
[root@www www]# curl -x192.168.1.21:80 www.bbb.com -I
HTTP/1.1 301 Moved Permanently
Date: Mon, 14 Dec 2015 09:15:05 GMT
Server: Apache/2.2.31 (Unix) PHP/5.6.14
Location: http://www.test.com/
Content-Type: text/html; charset=iso-8859-1

4、Apache日志切割

[root@www ~]# ls /usr/local/apache2/logs/
access_log  error_log  httpd.pid


[root@www www]# vim /etc/httpd/httpd.conf  //查看combined格式

    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common


修改配置

[root@www www]# vim /etc/httpd/extra/httpd-vhosts.conf

    ErrorLog "logs/test.com-error_log"
    CustomLog "logs/test.com-access_log" combined

[root@www ~]# cd /usr/local/apache2/logs/
[root@www logs]# ls
access_log  error_log  httpd.pid  test.com-access_log  test.com-error_log

[root@www logs]# wc -l test.com-access_log 
124 test.com-access_log

日志切割:

[root@www ~]# ls /usr/local/apache2/bin/rotatelogs 
/usr/local/apache2/bin/rotatelogs

[root@www www]# vim /etc/httpd/extra/httpd-vhosts.conf   

日志文件增加时间戳,是日志按天切割

    ErrorLog "logs/test.com-error_log"
    CustomLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/test.com-access_%Y%m%d_log 86400" combined

wKiom1ZyxDXjoZRCAACN9SxoeF4023.jpg


重新加载配置,访问测试

[root@www www]# apachectl graceful

[root@www ~]# ls /usr/local/apache2/logs/
access_log  error_log  httpd.pid  test.com-access_20151214_log  test.com-access_log  test.com-error_log

[root@www www]# date -s "2015-12-15 01:01:01"
Tue Dec 15 01:01:01 CST 2015

[root@www ~]# ls /usr/local/apache2/logs/
access_log  httpd.pid                     test.com-access_20151215_log  test.com-error_log
error_log   test.com-access_20151214_log  test.com-access_log


5、Apache不记录指定文件类型日志

[root@www www]# vim /etc/httpd/extra/httpd-vhosts.conf 
    ErrorLog "logs/test.com-error_log"
    SetEnvIf Request_URI ".*\.gif$" image-request
    SetEnvIf Request_URI ".*\.jpg$" image-request
    SetEnvIf Request_URI ".*\.png$" image-request
    SetEnvIf Request_URI ".*\.bmp$" image-request
    SetEnvIf Request_URI ".*\.css$" image-request
    SetEnvIf Request_URI ".*\.js$" image-request
    CustomLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/test.com-access_%Y%m%d_log 86400" combined env=!image-request

wKioL1ZyyXHjK2fjAAB_Jf9bDE4054.jpg

[root@www www]# apachectl graceful



本文转自 HMLinux 51CTO博客,原文链接:http://blog.51cto.com/7424593/1725839

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4月前
|
安全 Linux PHP
轻松搭建Linux宝塔面板并实现公网访问Discuz论坛,让您的论坛更具吸引力
轻松搭建Linux宝塔面板并实现公网访问Discuz论坛,让您的论坛更具吸引力
|
弹性计算 Linux 数据库
快速用Discuz搭建论坛网站教程
Discuz! 是全球成熟度最高、覆盖率最大的论坛网站软件系统之一,被200多万网站用户使用,本文教你一步一步快速用阿里云免费的Discuz官方系统搭建论坛网站。
43639 0
|
存储 关系型数据库 MySQL
解锁成就,LNMP源码Discuz搭建论坛系统!
解锁成就,LNMP源码Discuz搭建论坛系统!
229 0
|
应用服务中间件 PHP 数据库
LNMP服务搭建及论坛搭建(二)
LNMP服务搭建及论坛搭建(二)
LNMP服务搭建及论坛搭建(二)
|
关系型数据库 MySQL 应用服务中间件
|
弹性计算 关系型数据库 MySQL
使用 Discuz 快速搭建论坛 | 学习笔记
快速学习 使用 Discuz 快速搭建论坛
163 0
使用 Discuz 快速搭建论坛 | 学习笔记
|
算法 安全 数据库
使用 Discuz 快速搭建论坛|学习笔记
快速学习 使用 Discuz 快速搭建论坛
187 0
|
弹性计算 关系型数据库 PHP
快速搭建phpwind论坛系统
phpwind 是采用 PHP + MySQL 方式运行的开源社区程序。轻架构,高效率简易开发,帮助您快速搭建并轻松管理社区站点。本文介绍如何使用云市场的 PHPWind论坛系统(含智慧云虚机面板) 快速搭建论坛。
15147 0
|
PHP 数据库 数据安全/隐私保护
如何安装discuz论坛
如何安装discuz论坛
564 0
下一篇
云函数