Lamp:Apache用户认证+配置
2017-02-16 16:50
155 查看
1.用户认证:需要输入用户名 和密码 才可以登录的
cd /dat/www
mkdir abc
cd abc
cp /etc/passwd /data/www/abc/12.txt 例如有这么个目录文件,可以在网页显示的内容。
现增加其权限,禁止随意访问。
----------------------------------------------------------
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf (虚拟主机配置文件 最后一行 上面插入以下信息
</VirtualHost> 的行上面,插入)
<Directory /data/www/abc/> 指定路径,针对哪个目录做限制
Allowoverride AuthConfig
AuthName "aaaaaa"
AuthType Basic
AuthUserFile /data/.htpasswd 必须存在的文档 ,存放用户名和密码的文档。
require valid-user
</Directory>
保存退出
---------------------------------
快捷键设置
#vim /etc/profile.d/path.sh(结尾处增加以下信息 ,以:冒号切割 用来设置快捷键 )
:/usr/local/apache2/bin/
保存提出
# source /etc/profile.d/path.sh 2#!source 3# source !$
-------------------------------------------------------------------------------------
创建能登陆的访问的用户!
#htpasswd -c /data/.htpasswd user1( 此命令的用法创建user1的信息。二次执行该命令,则会覆盖。
因为有 -c 选项)
#htpasswd /data/.htpasswd user2 创建账户 user2的用法
#cat /dat/.htpasswd 查看user1和user2的加密密码
#apachectl -t 检查语法有没错误
#apachectl graceful 从新加载Apache
----------------------------------------------------------------------------------------------------
#mkdir .htpasswd (文件建立了,东西自动写进来)
浏览 www.test.com/abc/12.txt
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf 虚拟主机配置文件
扩展问题:如何解决。
www.dubingyu.com/abc/ 回车
/abc/下面没有index.html index.php 就会403
2.默认虚拟主机 禁止默认虚拟主机访问
设置的域名 例如 dubingyu。com aaa。com
主机上的ip ,localhost
win host上的 串行绑定,只要写上面都可以访问。
称为默认主机访问!
为了防止其他不是自己的域名解析到自己的IP,我们可以通过更改虚拟主机文件/usr/local/apache2/conf/extra/httpd-vhosts.con 去限制其他域名。我们创建的新的虚拟主机,创建一个新的空目录将其权限设置为600。这样只有我们在配置文件中定义的域名在能访问。
命令如下:
#vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
放置加入如下代码: 必须是第一个在第一个虚拟主机的位置
<VirtualHost *:80>
DocumentRoot "/tmp/123" 创建空目录
ServerName 1111.com 随意个域名
</VirtualHost>
按:wq保存退出,完成访问拒绝。
继续创建tmp目录;
#mkdir /tmp/123
#chmod 600 /tmp/123
#apachectl -t 检查
#apachectl restart 重启动就可以了
3.域名301跳转
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
在 第二个主机<VirtualHost *:80>配置中的 错误日志,访问日志下面 添加如下:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.aaa.com$ 条件:什么样的条件才跳转
RewriteRule ^/(.*)$ http://www.test.com/$1 [R=301,L] 结果:规则(301,永久重定向对浏览器搜索引擎有好处。302临时)
</IfModule>
保存退出
#apachectl -t
#apachectl restart
# curl -x192.168.11.160:80 www.aaa.com/asllsdfsf -I #绑定hostsCURL测试,查看状态码301
,ok了。
或者 有多个域名时,跳到主域名 添置如下:增加一个ServerAlias和RewriteCond
找到:
ServerAlias www.aaa.com
在下面增加:
ServerAlias www.bbb.com
找到
RewriteCond %{HTTP_HOST} ^www.aaa.com$ [OR] 或者的意思
在这行下面增加:
RewriteCond %{HTTP_HOST} ^www.bbb.com$
按:wq 保存退出
# apachectl -t
# apachectl restart
# curl -x192.168.11.160:80 www.bbb.com/asllsdfsf -I ##检查你绑定hostsCURL测试,查看状态码301
,ok了。
4.Apache日志切割
# /usr/local/apache2/conf/extra/httpd-vhosts.conf
把两行注释打开#(ErrorLog和CustomLog) 更改如下:
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
"|/工具切割 - l选项 ,日志存放的地方绝对路径_格式 多长上时间86400秒割一次"
日志类型combined级别记录,
按:wq保存退出, 检查apache -t 重启apachectl restart
需要刷新页面,才会生成日志、每天生成一个文件
# ls /usr/local/apache2/logs
[root@yiqiang logs]# date -s "2017-02-18 01:01:00" 更改日期,刷新页面 , apachectl graceful 加载,就可以看到日志了
# ls /usr/local/apache2/logs
#cd /usr/local/apache2/logs
# wc -l test.com/usr/local/apache2/logs-access_20170218_log 显示日志条数
5.不记录指定文件类型日志 ,不记录静态文件
在日志中查看除了标记出的部分的内容,标记出的内容一般不用关心,一般都是图片等内容
vim /usr/local/apache/conf/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 ".\.swf$" image-request
SetEnvIf Request_URI ".\.js$" image-request
SetEnvIf Request_URI ".\.css$" image-request
CustomLog "|/usr/local/apache/bin/rotatelogs -l /usr/local/apache/logs/jqm.com-access_%Y%m%d_log 86400" combined env=!image-request
若写成env=image-request,则日志保存的都是图片,=!意为:等于非,也就是非图片格式的意思
/usr/local/apache/bin/apachectl -t
/usr/local/apache/bin/apachectl restart
cd /dat/www
mkdir abc
cd abc
cp /etc/passwd /data/www/abc/12.txt 例如有这么个目录文件,可以在网页显示的内容。
现增加其权限,禁止随意访问。
----------------------------------------------------------
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf (虚拟主机配置文件 最后一行 上面插入以下信息
</VirtualHost> 的行上面,插入)
<Directory /data/www/abc/> 指定路径,针对哪个目录做限制
Allowoverride AuthConfig
AuthName "aaaaaa"
AuthType Basic
AuthUserFile /data/.htpasswd 必须存在的文档 ,存放用户名和密码的文档。
require valid-user
</Directory>
保存退出
---------------------------------
快捷键设置
#vim /etc/profile.d/path.sh(结尾处增加以下信息 ,以:冒号切割 用来设置快捷键 )
:/usr/local/apache2/bin/
保存提出
# source /etc/profile.d/path.sh 2#!source 3# source !$
-------------------------------------------------------------------------------------
创建能登陆的访问的用户!
#htpasswd -c /data/.htpasswd user1( 此命令的用法创建user1的信息。二次执行该命令,则会覆盖。
因为有 -c 选项)
#htpasswd /data/.htpasswd user2 创建账户 user2的用法
#cat /dat/.htpasswd 查看user1和user2的加密密码
#apachectl -t 检查语法有没错误
#apachectl graceful 从新加载Apache
----------------------------------------------------------------------------------------------------
#mkdir .htpasswd (文件建立了,东西自动写进来)
浏览 www.test.com/abc/12.txt
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf 虚拟主机配置文件
扩展问题:如何解决。
www.dubingyu.com/abc/ 回车
/abc/下面没有index.html index.php 就会403
2.默认虚拟主机 禁止默认虚拟主机访问
设置的域名 例如 dubingyu。com aaa。com
主机上的ip ,localhost
win host上的 串行绑定,只要写上面都可以访问。
称为默认主机访问!
为了防止其他不是自己的域名解析到自己的IP,我们可以通过更改虚拟主机文件/usr/local/apache2/conf/extra/httpd-vhosts.con 去限制其他域名。我们创建的新的虚拟主机,创建一个新的空目录将其权限设置为600。这样只有我们在配置文件中定义的域名在能访问。
命令如下:
#vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
放置加入如下代码: 必须是第一个在第一个虚拟主机的位置
<VirtualHost *:80>
DocumentRoot "/tmp/123" 创建空目录
ServerName 1111.com 随意个域名
</VirtualHost>
按:wq保存退出,完成访问拒绝。
继续创建tmp目录;
#mkdir /tmp/123
#chmod 600 /tmp/123
#apachectl -t 检查
#apachectl restart 重启动就可以了
3.域名301跳转
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
在 第二个主机<VirtualHost *:80>配置中的 错误日志,访问日志下面 添加如下:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.aaa.com$ 条件:什么样的条件才跳转
RewriteRule ^/(.*)$ http://www.test.com/$1 [R=301,L] 结果:规则(301,永久重定向对浏览器搜索引擎有好处。302临时)
</IfModule>
保存退出
#apachectl -t
#apachectl restart
# curl -x192.168.11.160:80 www.aaa.com/asllsdfsf -I #绑定hostsCURL测试,查看状态码301
,ok了。
或者 有多个域名时,跳到主域名 添置如下:增加一个ServerAlias和RewriteCond
找到:
ServerAlias www.aaa.com
在下面增加:
ServerAlias www.bbb.com
找到
RewriteCond %{HTTP_HOST} ^www.aaa.com$ [OR] 或者的意思
在这行下面增加:
RewriteCond %{HTTP_HOST} ^www.bbb.com$
按:wq 保存退出
# apachectl -t
# apachectl restart
# curl -x192.168.11.160:80 www.bbb.com/asllsdfsf -I ##检查你绑定hostsCURL测试,查看状态码301
,ok了。
4.Apache日志切割
# /usr/local/apache2/conf/extra/httpd-vhosts.conf
把两行注释打开#(ErrorLog和CustomLog) 更改如下:
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
"|/工具切割 - l选项 ,日志存放的地方绝对路径_格式 多长上时间86400秒割一次"
日志类型combined级别记录,
按:wq保存退出, 检查apache -t 重启apachectl restart
需要刷新页面,才会生成日志、每天生成一个文件
# ls /usr/local/apache2/logs
[root@yiqiang logs]# date -s "2017-02-18 01:01:00" 更改日期,刷新页面 , apachectl graceful 加载,就可以看到日志了
# ls /usr/local/apache2/logs
#cd /usr/local/apache2/logs
# wc -l test.com/usr/local/apache2/logs-access_20170218_log 显示日志条数
5.不记录指定文件类型日志 ,不记录静态文件
在日志中查看除了标记出的部分的内容,标记出的内容一般不用关心,一般都是图片等内容
vim /usr/local/apache/conf/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 ".\.swf$" image-request
SetEnvIf Request_URI ".\.js$" image-request
SetEnvIf Request_URI ".\.css$" image-request
CustomLog "|/usr/local/apache/bin/rotatelogs -l /usr/local/apache/logs/jqm.com-access_%Y%m%d_log 86400" combined env=!image-request
若写成env=image-request,则日志保存的都是图片,=!意为:等于非,也就是非图片格式的意思
/usr/local/apache/bin/apachectl -t
/usr/local/apache/bin/apachectl restart
相关文章推荐
- Ubuntu下LAMP环境搭建 Apache、MySQL、PHP
- Centos7安装LAMP环境(apache + mysql + php)
- CentOS 6.5 Apache、MySQL、PHP环境配置(LAMP)
- CentOS 6.5系统安装配置LAMP(Apache+PHP5+MySQL)服务器环境
- 配置LAMP环境(linux+apache+mysql+php)
- 简单几部思路清晰的教会你配置 Lamp(apache+mysql+php)的配置
- CentOS 6.5系统安装配置LAMP(Apache+PHP5+MySQL)服务器环境
- [转]LAMP(Linux+Apache+MySQL+PHP)服务器的性能优化
- LAMP--Apache 日志记录代理 ip 和真实客户端 ip
- CentOS环境下yum安装LAMP(Linux+Apache+Mysql+php)
- Centos 6.5 配置分离式LAMP平台环境 多服务器编译安装Apache2.4.x PHP5.4.x MariaDB5.5.x
- LAMP(Linux+Apache+MySQL+PHP)安装
- LAMP配置:mysql-5.5.28+apache-2.4.3+php-5.4.8源码安装错误记录
- rsyslog+loganalyzer+mysql+apache+php的lamp架构搭建日志服务器
- Ubuntu下(Linux+Apache+MYSQL+PHP, LAMP)环境搭建
- CentOS 6.3下源码安装LAMP(Linux+Apache+Mysql+Php)环境
- 快速在CentOS下搭建LAMP(Apache、MySQL、PHP)环境
- LAMP架构(APACHE)
- centos6下源码编译安装LAMP平台(apache2.4+php5.4+mysql5.5.30)
- LAMP搭建2:Apache安装