首页 > 代码库 > linux环境编译apache+AWStats分析+访问限制

linux环境编译apache+AWStats分析+访问限制

一. 安装apache

1.1编译安装apache网站服务

image

--prefix:指定将httpd服务程序安装到那个目录下,如/usr/local/httpd

--enable-so:启用动态加载模块支持,httpd具备进一步扩展功能的能力

--enable-rewrite:启动网页地址重写功能,用于网站优化及目录迁移维护

--enable-chatset-list:启动字符集支持,以便支持使用各种字符集编码的网页

--enable-cgi:启用CGI脚本程序支持,便于拓展网页的访问能力

1.2确定安装结果

image

Bin:存放httpd服务的各种执行程序文件,包括主程序httpd,服务控制工具apachectl等。

Cgi-bin:存放各种CGI程序文件。

Htdocs:存放网页文档,包括默认首页文件index.html等。

Conf:存放httpd服务的各种配置文件,包括主配置文件httpd.conf,增强配置子目录extra等。

Logs:存放httpd服务的日志文件。

Modules:存放httpd服务的各种模块文件。

1.3优化执行路径

通过源码编译安装的httpd服务,程序路径并不在默认的搜索路径中,为了使该服务在使用时更加方便,可以为相关程序添加符号链接。

image

1.4添加httpd系统服务

若系统将httpd添加,以便通过chkconfig进行管理,需要建立可控的服务脚本。可将apachectl脚本复制为/etc/init.d/httpd,并在文件开头添加chkconfig识别配置,然后在将其添加为标准的Linux系统服务。

image

服务识别参数, 35 表示在级别3,5中启动,;启动和关闭顺序分别为85,15

image

1.5启动服务验证网站搭建成功(由于没有DNS所以使用IP地址访问)

image

Httpd.conf配置文件

ServerRoot:设置httpd服务器的根目录,该目录中包括了运行Web站点必需的子目录和文件。默认的根目录为/usr/local/httpd,与httpd的安装目录相同。在httpd.conf配置文件中,如果指定目录或文件位置是不使用绝对路径,则该目录或文件位置都认为是在服务器的根目录下面。

Listen:设置httpd服务器监听的网络端口号,默认为80。

User:设置运行httpd进程时的用户身份,默认为daemon。

Group:设置运行httpd进程时的组身份,默认为daemon。

ServerAdmin:设置httpd服务器的管理员E-mail地址,可以通过此E-mail地址及时联系Web站点的管理员。

ServerName:设置Web站点的完整主机名(即FQDN)。

DocumentRoot:设置网站的根目录,即网页文档在系统中实际存放路径。

Directorylndex:设置网站的默认索引页(首页)。

ErrorLog:设置错误日志文件的路径,默认路径为log/error_log。

LogLevel:设置记录日志的级别,默认级别为Warn(警告)。

Customlog:设置访问日志文件的路径、日志类型,默认路径为logs/access_log,使用类型为common通用格式。

PidFile:设置用于保存httpd进程号的(PID)文件,默认保存地址为logs/httpd.pid , logs目录位于apachectl的根目录中。

CharsetDefault:设置站点中的网页默认使用的字符编码,如UTF-8、gb2312等。

Lnclude:包含另一个配置文件的内容,可以将实现一些特殊功能的配置放到一个独立的文件里,在使用lnclude配置项将其包含到httpd.conf中,这样便于独立配置功能而不影响主配置文件。

区域配置项

<Directory />

Options FollowSymLinks 控制选项,允许使用符号连接

AllowOverride None 不允许使用隐含控制文件中的覆盖配置

Order deny,allow 访问控制策略的应用顺序

Deny from all 禁止任何人访问此区域

</Directory>

二.网站访问情况统计

2.1安装Awstats

解压包

image

移动解压后的目录

image

2.2交互式配置

进入awstats/tools目录下,执行awstats_configure.pl,之后会进入一个交互式的配置过程,将会检查awstarts的安装目录,httpd服务的配置文件路径、日志记录格式等系统环境,并提示用户指定站点名称,设置配置文件的路径。

image

配置脚本将查找并识别httpd服务的主配置文件,以便自动添加相关配置内容。

image

设置站点的访问名称

image

指定一个存放日志的数据目录

image

使用AWStats提供的awstats_updateall.pll脚本。可以更新所有站点(根据站点配置文件)日志统计数据。执行该脚本时,将会自动分析新增的日志内容,并将分析结果更新到统计数据库中。由于Web日志文件的内容是在不断更新的,为了及时反馈网站访问情况,日志分析工作也需要定期,自动的执行。通过crond服务可设置计划任务。

2.3制作一个访问awb的网页文件

image

访问的时候输入awb的网页文件即可访问AWStats分析系统。

image

三.Httpd服务的访问控制

在访问AWStats日志分析系统时是不需要输入密码的而且任何人都可以访问,要是别人知道了,这个访问地址,会给网站的安全带了极大的隐患。

这是可以设置IP地址限制和访问加密设置

3.1 IP地址限制

通过配置项Order、deny from 、Allow from 可以根据客户机的主机名或IP地址来决定是否运行客户端访问。其中Order用于设置限制顺序,Deny from 和 Allow from用于设置具体限制内容。

使用Order配置项时,可以设置为“Allow,deny”或”deny Allow”以决定主机应用”允许“、”拒绝“策略的先后顺序。

Allow ,deny:先允许后拒绝,默认拒绝所有未明确允许的客户机地址。

Deny ,Allow:先拒绝后允许,默认允许所有未明确拒绝的客户端地址。

比如只允许192.168.1.1的计算机可以访问aws

image

使用192.168.1.1访问提示没有权限

image

3.2用户授权限制

创建用户认证数据文件

Httpd的基本认证通过校验用户名、密码组合来判断是否允许用户访问。授权访问的用户帐号需要实现建立,并保存在固定的数据文件中。使用专门的htpasswd工具程序,可以创建授权用户数据文件,并维护其中的用户帐号。

创建一个zhangsan的用户。

image

AuthName:定义受保护的领域名称,该内容将在浏览器弹出的认证对话框中显示。

AuthType:设置认证的类型,Basic表示基本认证。

AuthUserFile:设置用于保存用户帐号,密码的认证文件路径。

Require valid-user:要求所有的用户都可以访问,如果设置某个用户就是只能某个用户访问。

image

image

本文出自 “梅花香自苦寒来” 博客,请务必保留此出处http://wangjunkang.blog.51cto.com/8809812/1542081