Centos系统下载大全 | Redhat系统下载大全 | Windows2012系统下载大全 | Windows2008系统下载大全| CMS教程 | 网站地图 51运维网-专注Linux/Unix系统安全运维!
当前位置:51运维网 > 设备 > 服务器/存储 > 正文

CentOS下搭建Discuz!论坛

时间:2016-05-27 00:02 来源:网络整理 作者:51ou.com 阅读:

CentOS下搭建Discuz!论坛

时间:2015-08-31 00:40来源:blog.csdn.net 作者:M四月天 的BLOG 举报 点击:次

之前在上篇文章中介绍怎么搭建LAMP 

搭建LAMP后能够正常解析出网页来,那么我们现在来搭建一个Discuz!论坛。

 

一、安装Discuz!

1、新建目录来存放网页等

[root@tpp ~]# mkdir /data/www [root@tpp ~]# cd /data/www   [root@tpp www]# wget                                        //下载最新版本的Discuz! [root@tpp www]# unzip Discuz_X3.2_SC_GBK.zip     //解压 [root@tpp www]# ls Discuz_X3.2_SC_GBK.zip  readme  upload  utility  

2、程序文件会放于upload下,所以全部移到www目录下,并且删除多余的文件。

[root@tpp www]# mv upload/* ./       [root@tpp www]# ls admin.php  connect.php             favicon.ico  install     readme    template  utility api        cp.php                  forum.php    member.php  robots.txt  uc_client api.php    crossdomain.xml         group.php    misc.php    search.php  uc_server archiver   data                    home.php     plugin.php  source      upload config     Discuz_X3.2_SC_GBK.zip  index.php    portal.php  static      userapp.php [root@tpp www]# rm -rf readme/ utility/ upload/ Discuz_X3.2_SC_GBK.zip   

3、配置一个虚拟主机

[root@tpp www]# vim /usr/local/apache2/conf/httpd.conf #Include conf/extra/httpd-vhosts.conf    //找到,开放这个虚拟主机配置文件,如下: Include conf/extra/httpd-vhosts.conf  [root@tpp www]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf    //编辑虚拟主机配置文件,在文件最后面有两个模板案例,删除一个再修改另一个为: <VirtualHost *:80>  # ServerAdmin webmaster@dummy-host.example.com         //管理员邮箱,我们可以去掉   DocumentRoot "/data/www"                       //改为之前创建的目录   ServerName                        //设置域名   ServerAlias                       //可以设置多个域名  # ErrorLog "logs/dummy-host.example.com-error_log"       //错误日志  # CustomLog "logs/dummy-host.example.com-access_log" common  //访问日志 </VirtualHost> 

接着打开80端口

[root@tpp www]# vim /usr/local/apache2/conf/httpd.conf <Directory />    Options FollowSymLinks    AllowOverride None    Order deny,allow    Deny from all </Directory> 改为: <Directory />    Options FollowSymLinks    AllowOverride all    Order deny,allow    Allow from all </Directory>

保存退出,检测配置是否正确,并重启

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

4、配置hosts文件

找到本机 C:\Windows\System32\drivers\etc下的hosts文件,添加下面内容后保存退出。

192.168.0.104       

5、我们在浏览器上输入网址  这是就会跳转到Discuz!安装界面。

CentOS下搭建Discuz!论坛

CentOS下搭建Discuz!论坛

同意安装后我们看多好多都是不可写,这时我们就要给他们权限。

首先查看Apache进程以哪个身份运行

[root@tpp www]# ps aux |grep http daemon    4566  0.0  1.0  30140 11028 ?        S    04:42   0:00 /usr/local/apache2/bin/httpd -k start daemon    4567  0.0  0.9  28724  9480 ?        S    04:42   0:00

我们可以看到是daemon,下面我们把所有没有权限的文件都赋予daemon组

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

刷新页面后,全都变成绿色的了。下一步就是全新安装。

6、接下来就是配置数据库

[root@tpp www]# /usr/local/mysql/bin/mysql mysql> create database discuz;     //创建一个数据库,数据库名为discuz mysql> grant all on discuz.* to 'tpp'@'localhost' identified by 'tpplinux';     // all 所有的权限,用户tpp,密码tpplinux

7、然后我们回到原网页

填写数据库名:discuz,数据库用户名:tpp,数据库密码:tpplinux,其他的默认;管理员admin 密码123456,下一步;安装完成以后,点击最右下角的“您的论坛已完成安装,点此访问”。

 

CentOS下搭建Discuz!论坛

 

 

二、配置Apache

1、为某个虚拟主机配置用户认证

需求:用户访问/data/www/abc目录下的123.txt文件需要认证

 

[root@tpp www]# mkdir abc [root@tpp www]# cd abc [root@tpp abc]# cp /etc/passwd 123.txt [root@tpp abc]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

在相应的虚拟主机配置文件段,加入

 

<Directory /data/www/abc>            AllowOverride AuthConfig            AuthName "自定义的"            AuthType Basic            AuthUserFile /data/.htpasswd   # 这里的/data/.htpasswd可以随便写一个路径或名字,没有限制(这句中文只做注解,不要加进去,要不然会报错)            require valid-user </Directory>

如图:

 

CentOS下搭建Discuz!论坛

保存后,然后创建apache的验证用户

 

[root@tpp abc]# /usr/local/apache2/bin/htpasswd -c /data/.htpasswd tpp

第一次创建用户tpp要用到-c 参数,第2次添加用户,就不用-c参数,因为-c是创建的意思,如果加上会把这个文件重写。

 

[root@tpp abc]# /usr/local/apache2/bin/apachectl -t Syntax OK [root@tpp abc]# /usr/local/apache2/bin/apachectl restart

接着我们来访问下  如下图:

 

 

上面有乱码,是字符集问题,配置文件写了“自定义的”,我们可以写成英文的。

 

2、配置域名跳转

需求:要把访问域名 (或) 的域名转发到  上
实现:

 

[root@tpp abc]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf  //虚拟主机中增加如下内容

 

<IfModule mod_rewrite.c>    RewriteEngine on    RewriteCond %{HTTP_HOST} ^$    RewriteRule ^(.*)$ $1 [R=301,L] </IfModule>

如果是多个域名重定向到一个域名

 

<IfModule mod_rewrite.c>    RewriteEngine on    RewriteCond %{HTTP_HOST} ^ [OR]    RewriteCond %{HTTP_HOST} ^$    RewriteRule ^/(.*)$ $1 [R=301,L] </IfModule>

如下图所示:

 

CentOS下搭建Discuz!论坛

然后重新重新检测和加载Apache

[root@tpp htdocs]# /usr/local/apache2/bin/apachectl -t

Syntax OK

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

下面我们在浏览器输入或者时,会自动跳转到

 

3、配置apache的访问日志,并以一天时间来分割。

 

[root@tpp ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

CentOS下搭建Discuz!论坛

修改为以日期为命名的错误日志和访问日志

ErrorLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/tpp.com-error_%Y%m%d.log 86400"    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 ".*\.swf$" image-request    SetEnvIf Request_URI ".*\.js$" image-request    SetEnvIf Request_URI ".*\.css$" image-request CustomLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/tpp.com-access_%Y%m%d.log 86400" combined env=!image-request

如下图:

CentOS下搭建Discuz!论坛

其中命令都是以绝对路径,rotatelogs是分割工具,%Y%m%d时间为分割单位,86400秒为一天。SetEnvIf为自定义的,下面访问日志可以调用env,即不记录以gif jpg 等结尾的文件。

接着我们从新检测和加载Apache

[root@tpp logs]# /usr/local/apache2/bin/apachectl -t

Syntax OK

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

然后我们刷新下网页就会看到有日志生成,如下图:

 

4、Apache配置静态缓存

把浏览网页的静态文件设置为缓存,文件缓存之后不用再调用,节省带宽。

[root@tpp www]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

在之前的日志文件定义的下面接着定义一个模块

<IfModule mod_expires.c>

   ExpiresActive on

   ExpiresByType image/gif "access plus 1 days"

   ExpiresByType image/jpeg "access plus 24 hours"

   ExpiresByType image/png "access plus 24 hours"

    ExpiresByType text/css "now plus 2 hours"

感谢您对【51运维网 http://www.51ou.com/】的支持,我们为您免费提供《CentOS下搭建Discuz!论坛》技术文章,《CentOS下搭建Discuz!论坛》详细使用和说明,有时《CentOS下搭建Discuz!论坛》可能不完善、敬请谅解!如果《CentOS下搭建Discuz!论坛》有错误请给我们留言,我们将尽快修复文章错误,如果您觉得本站不错,请分享给周围的朋友!谢谢!

顶一下
(0)
0%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
验证码:点击我更换图片