如何安装,安全和自动化AWStats(CentOS / RHEL)
AWStats是一个免费且非常强大的工具,以图形方式生成高级Web,流式传输,FTP或邮件服务器统计信息。 它可以分析来自所有主要服务器工具的日志文件,并将其转换为漂亮的图形显示。 AWStats有很多文章,我决定写这篇文章的原因是将我所学到的所有不同的技巧和技巧整合到一篇综合文章中,结合了许多这样的梦幻般的作品。 有几种安装AWStats的方法,本文将介绍两种使用YUM的简单方法。
本文假设您具有root / sudo访问权限,以实现功能设置所需的所有目标。 本文还假设您将SELinux设置为允许或禁用,并且为了AWStats而禁用或自定义IPTables配置。 让我们开始。
安装
添加RPMForge Yum存储库:
对于x86(32位)系统:
rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
从达格维耶斯 。
对于x64(64位)系统:
rpm -Uhv http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS//rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
从达格维耶斯 。
安装和配置先决条件
安装Apache :
yum install httpd
配置Apache启动时启动:
/sbin/chkconfig --levels 345 httpd on
配置iptables以允许Apache流量:
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
/etc/init.d/iptables save
/etc/init.d/iptables restart
安装并配置AWStats
现在,YUM有其附加的存储库,我们准备安装。 从命令行类型:
yum install awstats
修改AWStats Apache配置:
编辑/etc/httpd/conf.d/awstats.conf
( 注意:将conf文件放在/etc/httpd/conf.d/
文件夹中时,它会作为Apache配置的一部分自动加载,不需要添加再次进入httpd.conf
,这种设置通常是两个原因之一:一个更清洁的方法,并在其自己的配置文件中分离不同的应用程序,或者您在不允许直接编辑httpd.conf
的托管环境中):
Alias /awstats/icon/ /var/www/awstats/icon/ ScriptAlias /awstats/ /var/www/awstats/ <Directory /var/www/awstats/> DirectoryIndex awstats.pl Options ExecCGI order deny,allow allow from all </Directory> Alias /awstatsclasses "/var/www/awstats/lib/" Alias /awstats-icon/ "/var/www/awstats/icon/" Alias /awstatscss "/var/www/awstats/examples/css"
注意: Apache的mod_cgi模块必须预加载到Apache中,否则Apache不会尝试查看文件,它将尝试执行它。 这可以通过两种方式完成,可以为整个Web服务器启用,也可以使用VirtualHosts,为AWStats启用。
在默认的awstats配置文件/etc/awstats/awstats.localhost.localdomain.conf
中编辑以下行:
SiteDomain="<server name>.<domain>" HostAliases="<any aliases for the server>"
重命名配置文件:
mv /etc/awstats/awstats.localhost.localdomain.conf /etc/awstats/awstats.<server name>.<domain>.conf
更新统计信息( 注意:默认情况下,统计信息将每小时更新一次。):
/usr/bin/awstats_updateall.pl now -confdir="/etc" -awstatsprog="/var/www/awstats/awstats.pl"
启动Apache:
/etc/init.d/httpd start
要在启动时自动启动Apache,请键入
chkconfig --add httpd
验证安装
转到http:// <server name>。<domain> /awstats/awstats.pl?config= <server name>。<domain>
保护AWStats
设置文件系统权限
网络服务器只需要对文件进行读取访问,以便您能够从浏览器访问AWStats。 限制你自己的权限会阻止你不小心弄乱文件。 只需记住,通过这种设置,您将必须运行Perl来执行脚本,而不是自己执行脚本。
$ find ./awstats -type d -exec chmod 701 '{}' \;
$ find ./awstats -not -type d -exec chmod 404 '{}' \;
Apache不需要直接访问AWStats配置文件,因此我们可以紧密地保护它们,而不影响它们之间的关系。 要确保您的.htaccess
文件无法通过浏览器读取:
chmod 400 /etc/awstats/*.conf
使用并添加.htaccess保护AWStats目录
要保护Awstats文件夹,是一个测量过程。 确保AWStats文件夹的所有权由需要访问的用户拥有,创建一个htpasswd.users
文件,并添加相应的.htaccess
文件进行身份验证。 我们首先通过从命令行键入以下内容来保护AWStats文件夹:
find ./awstats -type d -exec chmod 701 '{}' \;
find ./awstats -not -type d -exec chmod 404 '{}' \;
现在我们的文件夹已经安全,我们需要创建.htpasswd.users
文件。 转到/ etc / awstats
文件夹并执行以下命令:
htpasswd -c /etc/awstats/htpasswd.users user
(选择你想要的任何用户名)
它会要求您为所选用户添加一个密码,添加并重新键入以进行确认,然后保存。 最后一步是创建指向.htpasswd
文件的.htaccess
文件进行身份验证。 转到/ var / www / awstats /
,并使用您喜欢的编辑器创建一个名为.htaccess
的新文件,通常nano或vi往往是更受欢迎的编辑器。 在这个例子中,我们将使用vi。 从命令行类型
vi .htaccess
创建.htaccess
文件的另一种方法是使用Htaccess密码生成器 。 将以下内容添加到您新创建的.htaccess
文件中:
AuthName "STOP - Do not continue unless you are authorized to view this site! - Server Access" AuthType Basic AuthUserFile /etc/awstats/htpasswd.users Require valid-user htpasswd -c /etc/awstat/htpasswd.users awstats_online
完成后,输入以下内容来保护.htaccess
文件:
chmod 404 awstats/.htaccess