Linux CentOS7 VMware LAMP架构Apache用户认证、域名跳转、Apache访问日志
一、Apache用户认证
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

//把111.com那个虚拟主机编辑成如下内容
<VirtualHost *:80>
DocumentRoot "/data/wwwroot/www.111.com"
ServerName www.111.com
<Directory /data/wwwroot/www.111.com> //指定认证的目录
AllowOverride AuthConfig //这个相当于打开认证的开关
AuthName "111.com user auth" //自定义认证的名字,作用不大
AuthType Basic //认证的类型,一般为Basic
AuthUserFile /data/.htpasswd //指定密码文件所在位置
require valid-user //指定需要认证的用户为全部可用用户
</Directory>
</VirtualHost>

生成新用户、密码,检查是否成功,-c:创建

同样可以添加其他的用户,可以看到两个用户并存,此时就不需要-c了,因为已经创建过了

重新加载配置-t , graceful 绑定hosts,浏览器测试
curl -x127.0.0.1:80 111.com //状态码为401:说明访问内容需要用户验证

curl -x127.0.0.1:80 111.com -I 大i

windows vhosts需要有111.com

不同浏览器访问可能会访问不到
IE浏览器可以访问到


360浏览器就访问不到,因为输入

curl -x127.0.0.1:80 -udavery:mimA123 111.com //状态码为200


输错密码状态变401

还可以只针对单个文件123.php进行认证

编辑
vim /dtat/wwwroot/111.com/123.php

测试

不需要输入密码也能访问到


访问123.php 才会401 才需要


输入密码认证


二、域名跳转
需求,把www.123.com域名跳转到111.com,配置如下:
<VirtualHost *:80>
DocumentRoot "/data/wwwroot/www.123.com"
ServerName www.123.com
ServerAlias 123.com
<IfModule mod_rewrite.c> //需要mod_rewrite模块支持
RewriteEngine on //打开rewrite功能
RewriteCond %{HTTP_HOST} !^111.com$ 语句说明:不是111.com //定义rewrite的条件,主机名(域名)
不是www.123.com满足条件
RewriteRule ^/(.*)$ http://www.123.com/$1 [R=301,L] //定义rewrite规则,当满足上面的条件时,这条规则才会执行 </IfModule>
</VirtualHost>
需求,把www.123.com域名跳转到111.com
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

/usr/local/apache2/bin/apachectl -M |grep rewrite //若无该模块,需要编辑配置文件httpd.conf,删除rewrite_module (shared) 前面的#




再次查看模块就出来了

重新加载配置

curl -x127.0.0.1:80 -I 123.com //状态码为301则说明设置成功

把granted改为denied则状态变为403
随便输入一个网址则变为404,表示不存在
三、Apache访问日志
访问日志记录用户的每一个请求
vim /usr/local/apache2.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

查看111.com的日志

cat /usr/local/apache2.4/logs/111.com-access_log

把虚拟主机配置文件改成如下:
vim /usr/local/apache2.4/conf/httpd.conf
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

改为

<VirtualHost *:80>
DocumentRoot "/data/wwwroot/www.111.com"
ServerName www.111.com
ServerAlias 111.com
CustomLog "logs/111.com-access_log" combined
</VirtualHost>
/usr/local/apache2.4/bin/apachectl -t
/usr/local/apache2.4/bin/apachectl graceful
/usr/local/apache2.4/bin/apachectl restart
重新加载
curl -x127.0.0.1:80 -I 111.com
curl -x192.168.1.101:80 -I www.111.com/index.php

tail /usr/local/apache2.4/logs/111.com-access_log

Linux CentOS7 VMware LAMP架构Apache用户认证、域名跳转、Apache访问日志的更多相关文章
- apache用户认证 域名跳转 Apache访问日志
- Linux CentOS7 VMware usermod命令、用户密码管理、mkpasswd命令
一. usermod命令 usermod可用来修改用户帐号的各项设定 -c, --comment 注释 GECOS 字段的新值 -d, --home HOME_DIR 用户的新主目录 -e, --ex ...
- apache用户认证、默认主机、301跳转
我更正论坛一个同学帖子(今天坑我一下午):原文http://www.apelearn.com/bbs/foru ... 3%BB%A7%C8%CF%D6%A4 apache用户认证.默认主机.301跳 ...
- apache用户认证访问机制(转)
Apache服务器已经内置用户验证机制,大家只要适当的加以设置,便可以控制网站的某些部分要用户验证.前期准备,必须已经安装apache,如果还没安装,或者对安装很模糊的话,第1步:我们在/var/ww ...
- Apache用户认证、域名跳转、Apache访问日志
5月29日任务 课程内容: 11.18 Apache用户认证11.19/11.20 域名跳转11.21 Apache访问日志扩展 apache虚拟主机开启php的短标签 http://ask.apel ...
- APACHE两种域名跳转法简单完成重定向
当我们变更网站域名,或者申请多个域名指向一个网站的时候,这个时候我们就会用到域名跳转(或者叫域名重定向redirect.域名转向).下面用最简单的文字讲两种apache的域名跳转方法. 假设我们想把w ...
- Linux(Centos7)搭建LAMP(Apache+PHP+Mysql环境)
目录 Linux搭建LAMP(Apache+PHP+Mysql环境)Centos7 一. 检查系统环境 1.确认centos版本 2.检查是否安装过apache 3.检查是否安装过Mysql 4.清理 ...
- Linux CentOS7 VMware linux和windows互传文件、用户配置文件和密码配置文件、用户组管理、用户管理
一. linux和windows互传文件 X-shell.Securecrt远程终端,与Windows之间互传文件. 安装一个工具lrzsz [root@davery ~]# yum install ...
- Linux centos7 VMware Apache访问日志不记录静态文件、访问日志切割、静态元素过期时间
一.Apache访问日志不记录静态文件 网站大多元素为静态文件,如图片.css.js等,这些元素可以不用记录 vim /usr/local/apache2.4/conf/extra/httpd-vho ...
随机推荐
- mvc 部分页
在一些复杂的项目中,我们经常会遇到一个页面存在很多模块,存在页面交互或者加载数据过多等问题,这种时候,我们很可能会考虑到通过使用部分页来解决这个问题(ps:当然还有很多的解决方案,在这里只是简单介绍这 ...
- GO学习之 安装Go语言及搭建Go语言开发环境
一.下载 1.下载地址 Go官网下载地址:https://golang.org/dl/ Go官方镜像站(推荐):https://golang.google.cn/dl/ 2.版本的选择 Windows ...
- December 31st, Week 53rd Tuesday, 2019
Nothing comes from nothing. 天下没有免费的午餐. Nothing comes from nothing, and in some cases, even something ...
- [转] C++ CImage实现的全屏PNG截图
#include <atlimage.h> #include <atltime.h> #include <conio.h> //截取全屏保存为png CString ...
- JavaScript 对象的深复制
对象的深复制 源对象的属性更改,不会引起复制后的对象个属性的更改 源对象的任何属性与子属性与新对象的之间没有任何引用关系 Coding: /* 对象的深复制: 1 初始化目标对象 如果没有指定目标对象 ...
- RTU license
Right to Use (RTU) licensing is a model in which licenses are not tied to a unique device identifier ...
- family_to_level函数
#include <netinet/in.h> #include <sys/socket.h> int family_to_level(int family) { switch ...
- P1047
题目不难...但坑得是数据大小..N 的大小越大越好... #include <bits/stdc++.h> #include <cstdio> #include <cm ...
- vue动态加载jQuery插件
要先npm安装jQuery插件哦 window.$=$; window.jQuery=$; function loadJs(Url,callback){ var Nscript=document.cr ...
- 安装go1.11.2
1. 设置go环境变量 vim $HOME/.bashrc export GOROOT=$HOME/go export PATH=$PATH:$GOROOT/bin export GOPATH=$HO ...