2015-12-17LAMP第二部分apache配置1(discuz搭建论坛 and 域名跳转 and 用户验证)

 接着LAMP第一部分 内容, 环境搭建(mysql ,apache,php)基础之上搭建discuz论坛!

第二部分: 

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

2.配置第一个虚拟主机
[ root@niejicai-linux www]# vim /usr/local/apache2/conf/httpd.conf
#Include conf/extra/httpd-vhosts.conf         打开虚拟主机, 删除httpd.conf中的这行前面的#号

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

加入如下配置:
<VirtualHost *:80>
    DocumentRoot "/data/www"
    ServerName  www.123.com
</VirtualHost>

请记住,等我们的配置文件改完了之后,我们要去检查一下配置文件,是否有问题

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


在Windows上测试:
需要更改如下:


再测试ping  www.1.com 
          ping  www.a.com


在浏览器上面输入如下:
(1)



(2)



(3) 处理以上的不可以写问题!!,处理方法如下:


修改对应目录的权限:
[root@niejicai-linux www]# chown -R daemon:daemon data  uc_server/data  uc_client/data  config
即可!


(4)


检查一下mysql,是否启动!
[ root@niejicai-linux www]# ps aux |grep mysql
root      5503  0.0  0.0   5068     8 ?        S    06:36   0:00 /bin/sh /usr/local/mysq   l/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/niejicai-linux.pid
mysql     5615  0.0  0.7 381208   916 ?        Sl   06:36   0:06 /usr/local/mysql/bin/my   sqld --basedir=/usr/local/mysql --datadir=/data/mysql --user=mysql --log-error=/data/mys   ql/niejicai-linux.err --pid-file=/data/mysql/niejicai-linux.pid --socket=/tmp/mysql.sock    --port=3306
root      6272  0.0  0.6   4420   756 pts/1    S+   12:21   0:00 grep --color mysql

添加用户
[root@niejicai-linux www]# /usr/local/mysql/bin/mysql -uroot
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.34-log MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
补充: (加入PATH)
默认是没有mysql这个命令的,[root@niejicai-linux www]#mysql(要不我们就写人PATH;要不就创建软连接;要不就写绝对路径!!
[ root@niejicai-linux www]#  /usr/local/mysql/bin/mysql -uroot
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.1.34-log MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> quit
Bye
[ root@niejicai-linux www]#  echo $PATH
/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[ root@niejicai-linux www]#  echo $PATH:/usr/local/mysql/bin/
/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin/
 vim /etc/profile
添加这个   echo $PATH:/usr/local/mysql/bin/即可永久生效

或者创建一个软连接:
[root@niejicai-linux www]# ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
最后就可以这样子登录了!!!
[root@niejicai-linux www]# mysql -uroot
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.1.34-log MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
另外我们还可以帮mysql 设置一个密码
mysqladmin 默认是没有的,我们先要做一个软连接!
[ root@niejicai-linux www]#  ln -s /usr/local/mysql/bin/mysqladmin /usr/bin/mysqladmin
[ root@niejicai-linux www]#  mysqladmin  -uroot password '123456'
[root@niejicai-linux www]# mysql -uroot -p123456                 最后我们就可以通过输入密码进行登录!!
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.1.34-log MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
---------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------
接着添加用户(上面的)
给Discuz!增加一个账户
给mysql root账户设置密码(上面已经设置),然后命令行进入mysql,创建新的库,并创建一个新的帐号对该库有所有权限:
[ root@niejicai-linux www]#  mysql -uroot -p123456
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.1.34-log MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> create database niejicai;
Query OK, 1 row affected (0.05 sec)
mysql> grant all on niejicai.* to 'niejicai'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.10 sec)
mysql> quit
(5)


(6)



(7)




(8)



(9)进入管理中心!!



(10)







这么去除以上的提示,去看如下:
[ root@niejicai-linux www]# cd install/
[ root@niejicai-linux install]# ls
data  images  include  index.php
[ root@niejicai-linux install]# rm -rf index.php

(11)
现在已经正常

(12)为某个虚拟主机配置用户认证
[root@niejicai-linux install]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
添加如下内容:#用户认证



其中:
 AuthName "aaaaabb"                 ("自己定义的”写中文的话,会发现乱码)
  AuthUserFile  /data/.htpasswd #这里的/data/.htpasswd你可以随便写一个路径或名字,没有限制
:wq!

接着我们要创建一个密码!
(如下这种密码还是蛮简单的)
[root@niejicai-linux www]# /usr/local/apache2/bin/htpasswd -c /data/.htpasswd niejicai       
New password:                                                      这里我设置的密码为123456,首次创建要加-c
                                                                                增加第二个用户的时候,就不要加-c了,因为-c是创建的意思,如果加上会把这个文件重写。
Re-type new password:
Adding password for user  niejicai
[ root@niejicai-linux www]#  cat /data/.htpasswd
niejicai:$apr1$d8n78LLG$CUJl7.YQbNKkCgm.gX2jd0

接着,我们还可以去设置一下复杂的密码!(md5加密)
[root@niejicai-linux www]# /usr/local/apache2/bin/htpasswd -cm /data/.htpasswd niejicai1
New password:                                                           这里我设置的密码为123456
Re-type new password:
Adding password for user  niejicai1               等一下,我们以这个用户来登录!!!!
[ root@niejicai-linux www]# cat /data/.htpasswd
niejicai1:$apr1$CFcGUn.g$/DWn8QgVrLiv3OhauI2kp/
最后我们检查一下配置文件,是否有错误:
[root@niejicai-linux www]# /usr/local/apache2/bin/apachectl -t    已经正常!!!!!
Syntax OK
[root@niejicai-linux www]# /usr/local/apache2/bin/apachectl restart   重启!!!

测试如下:会出现验证!!









(13) 配置域名跳转  
生成环境中:
比如你访问的是一个
结果回车的时候就跳转到  www.baidu.com/bbs/forum.php (比如)

单个域名跳转:
[root@niejicai-linux www]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
(最后一行上添加)
只有一种域名的情况下: ( 这样测试,将输入www.a.com 跳转到www.1.com )
代码如下:插入到<VirtualHost *:80>   .... </VirtualHost>之间,情看如下图
<IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteCond %{HTTP_HOST} ^ www.domain1.com $
        RewriteRule ^/(.*)$  http://www.domain2.com/ $1 [R=301,L]
    </IfModule>



配置完成之后记得检查一下!
[ root@niejicai-linux  www]# /usr/local/apache2/bin/apachectl -t
Syntax OK
[ root@niejicai-linux www]#  /usr/local/apache2/bin/apachectl restart
测试:
[ root@niejicai-linux www]# curl -x127.0.0.1:80  www.a.com -I
HTTP/1.1  401 Authorization Required                  哎,这里出现了问题了,继续排查!!
Date: Thu, 17 Dec 2015 09:11:06 GMT
Server: Apache/2.2.27 (Unix) DAV/2 PHP/5.3.28
WWW-Authenticate: Basic realm="abckk"
Content-Type: text/html; charset=iso-8859-1
解决方法:把代码 插入到<VirtualHost *:80>   .... </VirtualHost>之间,情看如上图
[root@niejicai-linux ~]# curl -u niejicai1:123456 -x127.0.0.1:80 www.1.com/ -I                 (如果在服务器上测试,需要我们添加用户和密码,
因为前面我们已经设置了用户密码)
HTTP/1.1 301 Moved Permanently
Date: Fri, 18 Dec 2015 07:17:21 GMT
Server: Apache/2.2.27 (Unix) DAV/2 PHP/5.3.28
X-Powered-By: PHP/5.3.28
location: forum.php
Content-Type: text/html
直接访问域名,也就是状态码为200
[root@niejicai-linux ~]# curl -u niejicai1:123456 -x127.0.0.1:80 www.1.com/forum.php  -I
HTTP/1.1 200 OK
Date: Fri, 18 Dec 2015 07:25:31 GMT
Server: Apache/2.2.27 (Unix) DAV/2 PHP/5.3.28
X-Powered-By: PHP/5.3.28
Set-Cookie: qRcw_2132_saltkey=BqroxTLA; expires=Sun, 17-Jan-2016 07:25:31 GMT; path=/; httponly
Set-Cookie: qRcw_2132_lastvisit=1450419931; expires=Sun, 17-Jan-2016 07:25:31 GMT; path=/
Set-Cookie: qRcw_2132_sid=Lvv5Vv; expires=Sat, 19-Dec-2015 07:25:31 GMT; path=/
Set-Cookie: qRcw_2132_lastact=1450423531%09forum.php%09; expires=Sat, 19-Dec-2015 07:25:31 GMT; path=/
Set-Cookie: qRcw_2132_onlineusernum=2; expires=Fri, 18-Dec-2015 07:30:31 GMT; path=/
Set-Cookie: qRcw_2132_sid=Lvv5Vv; expires=Sat, 19-Dec-2015 07:25:31 GMT; path=/
Content-Type: text/html; charset=gbk
和第一种域名设置访问是一样的把代码插入到 <VirtualHost *:80>   .... </VirtualHost>之间,已经就是多一个域名,没有什么特别的,我这里就不做实验!!!
如果是多个域名,可以这样设置:
    <IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteCond %{HTTP_HOST} ^ www.a.com   [OR]
        RewriteCond %{HTTP_HOST} ^ www.b.com$
        RewriteRule ^/(.*)$  http://www.1.com/$1 [R=301,L]
    </IfModule>










































































  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值