8月2

一、Apache设置用户认证

针对整个目录进行用户认证

1. 编辑配置文件

vim /usr/local/httpd2.4/conf/extra/httpd-vhosts.conf

2.在配置文件里添加如下段

    

3. 创建密码文件以及用户和密码

[root@localhost ~]# /usr/local/httpd2.4/bin/htpasswd -c -m /data/.htpasswd lx                #使用工具htpassswd进行创建,-c为创建,-m为MD5加密,创建一个lx用户

New password:                                #输入密码

Re-type new password:                  #确认密码

Adding password for user lx          #提示增加成功

 

[root@localhost ~]# cat /data/.htpasswd                   #可以使用cat查看一下,已经创建密码文件,有一个用户lx,密码是加密的

lx:$apr1$huJnficE$LHzem2jG/myQwj0T8Io5Q0

4.更改完成后不要忘记检查配置文件是否正确以及重新加载配置文件

[root@localhost ~]# /usr/local/httpd2.4/bin/apachectl -t

Syntax OK

[root@localhost ~]# /usr/local/httpd2.4/bin/apachectl graceful

5. 使用curl进行测试密码是否成功设置,-I只显示请求头信息,-u设置服务器的用户和密码

[root@localhost ~]# curl -x127.0.0.1:80 111.com -I           #不输入密码进行访问,

HTTP/1.1 401 Unauthorized                                                  #提示401,401的意思为需要认证

Date: Fri, 02 Mar 2018 20:08:29 GMT

Server: Apache/2.4.29 (Unix) PHP/5.6.30

WWW-Authenticate: Basic realm="111.com user auth"

Content-Type: text/html; charset=iso-8859-1

 

[root@localhost ~]# curl -x127.0.0.1:80 -uzhangsan:asdfg 111.com -I        #-u指定用户和密码,输入用户张三,密码asdfg,

HTTP/1.1 200 OK                                                                                                  #提示200,表示正常访问

Date: Fri, 02 Mar 2018 20:08:16 GMT

Server: Apache/2.4.29 (Unix) PHP/5.6.30

X-Powered-By: PHP/5.6.30

Content-Type: text/html; charset=UTF-8

 

针对单个的文件进行用户认证

1.编辑配置文件

vim /usr/local/httpd2.4/conf/extra/httpd-vhosts.conf

 

2.同样更改完成后记得检查配置文件是否正确以及重新加载配置文件

/usr/local/httpd2.4/bin/apachectl -t

/usr/local/httpd2.4/bin/apachectl graceful

3.在指定的目录下新建一个123.php进行测试

vim /data/wwwroot/111.com/123.php

添加如下内容

<?php

echo "123.php";                      #内容可以随便写,主要是进行测试用

4.使用curl进行测试

[root@localhost ~]# curl -x127.0.0.1:80 111.com -I                            #当访问111.com的时候可以正常访问

HTTP/1.1 200 OK

Date: Fri, 02 Mar 2018 20:28:51 GMT

Server: Apache/2.4.29 (Unix) PHP/5.6.30

X-Powered-By: PHP/5.6.30

Content-Type: text/html; charset=UTF-8

 

[root@localhost ~]# curl -x127.0.0.1:80 111.com/123.php -I                                #当访问111.com下的123.php时候出现401

HTTP/1.1 401 Unauthorized 

Date: Fri, 02 Mar 2018 20:31:44 GMT

Server: Apache/2.4.29 (Unix) PHP/5.6.30

WWW-Authenticate: Basic realm="111.com user auth"

Content-Type: text/html; charset=iso-8859-1

 

[root@localhost ~]# curl -x127.0.0.1:80 -uzhangsan:asdfg 111.com/123.php -I     #输入用户名和密码后可以正常访问

HTTP/1.1 200 OK

Date: Fri, 02 Mar 2018 20:32:03 GMT

Server: Apache/2.4.29 (Unix) PHP/5.6.30

X-Powered-By: PHP/5.6.30

Content-Type: text/html; charset=UTF-8

 

二、域名跳转

1. 编辑虚拟主机配置文件

vim /usr/local/httpd2.4/conf/extra/httpd-vhosts.conf

    在配置文件里添加以下内容

<VirtualHost *:80>

    DocumentRoot "/data/wwwroot/111.com"

    ServerName 111.com

    ServerAlias www.example.com

     <IfModule mod_rewrite.c>                                                    #需要mod_rewrite模块支持

        RewriteEngine on                                                                 #打开rewrite功能

        RewriteCond %{HTTP_HOST} !^111.com$                         #定义rewrite的条件,主机名(域名)不是 111.com 的满足条件

        RewriteRule ^/(.*)$ http://111.com/$1 [R=301,L]          #定义rewrite规则,当满足上面的条件时,这条规则才会执行,跳转至111.com,301表示永久跳转

     </IfModule>

    ErrorLog "logs/111.com-error_log"

    CustomLog "logs/111.com-access_log" common

</VirtualHost

2.同样更改完成后记得检查配置文件是否正确以及是否加载rewrite模块

/usr/local/httpd2.4/bin/apachectl -t

/usr/local/httpd2.4/bin/apachectl -M |grep rewrite

3.如果没有加载rewrite模块,那么需要在配置文件里加载

vim /usr/local/httpd2.4/conf/httpd.conf

   打开配置文件后搜索关键字:rewrite   找到如下行:

  LoadModule rewrite_module modules/mod_rewrite.so   将这一行前面的#号去掉即可。

4. 使用curl进行测试

[root@localhost ~]# curl -x127.0.0.1:80 www.example.com -I               #访问www.example.com

HTTP/1.1 301 Moved Permanently                                                         #显示301 Moved

Date: Fri, 02 Mar 2018 22:11:00 GMT 

Server: Apache/2.4.29 (Unix) PHP/5.6.30

Location: http://111.com/                                   #成功跳转至111.com

Content-Type: text/html; charset=iso-8859-1

 

三、Apache访问日志

1.Apache日志的存放地址

[root@localhost ~]# ls /usr/local/httpd2.4/logs/

111.com-access_log  123.com-access_log  aaa.com-access_log  access_log  httpd.pid

111.com-error_log   123.com-error_log   aaa.com-error_log   error_lo

       access_log为访问日志,记录所有对apache服务器进行请求的访问,它的位置和内容由CustomLog指令控制,LogFormat指令可以用来简化该日志的内容和格式 

       error_log为错误日志,记录下任何错误的处理请求,它的位置和内容由ErrorLog指令控制,通常服务器出现什么错误,首先对它进行查阅,是一个最重要的日志文件。

2.日志的格式

  编辑Apache的主配置文件

vim /usr/local/httpd2.4/conf/httpd.conf

   打开配置文件后搜索关键字:LogFormat ,找到如下两行:

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

  LogFormat "%h %l %u %t \"%r\" %>s %b" common

   默认的格式使用的是第二行common格式

3. 更改日志的格式

    编辑配置文件

vim /usr/local/httpd2.4/conf/extra/httpd-vhosts.conf

   打开配置文件后,找到CustomLog,将后面的common更改为combined

<VirtualHost *:80>

    DocumentRoot "/data/wwwroot/aaa.com"

    ServerName aaa.com

    ServerAlias www.aaa.comwww.123.com

    ErrorLog "logs/aaa.com-error_log"

    CustomLog "logs/aaa.com-access_log" common                 #将这里的common更改为combined即可

</VirtualHost>

转载于:https://my.oschina.net/u/3869429/blog/1921812

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值