tar zxvf awstats-6.6.tar.gz

mv awstats-6.6 /usr/local/awstats

chmod -R 705 /usr/local/awstats

cd /usr/local/awstats/tools


perl awstats_configure.pl


Do you want me to setup Apache to write ‘combined’ log files [y/N] ? y 
– 
apache 
로그형식을 combined로 했는지를 확인하고 있다아직 combined로 안했더라도 나중에 설정하면 되므로 “y”

Do you want me to build a new AWStats config/profile
file (required if first install) [y/N] ? y
– 
시스템에 awstats를 처음 설정 하는 것인지를 확인하고 있다처음이면 “y를 아니면 “n”

Your web site, virtual server or profile name:
youmust <– 설정파일 이름을 정한다.


Directory path to store config file(s) (Enter for default): (엔터) 
– 
설정 디렉토리를 정한다보통 디폴트(/etc/awstats)로 설정한다.


httpd.conf 
끝부분에 다음과 같은 내용이 추가 되었는지를 확인한다만약 추 가되지 않았다면 수동으로 만들어 준다.


vi /usr/local/apache/conf/httpd.conf


# Directives to allow use of AWStats as a CGI

Alias /awstatsclasses “/usr/local/awstats/wwwroot/classes/”
Alias /awstatscss “/usr/local/awstats/wwwroot/css/”
Alias /awstatsicons “/usr/local/awstats/wwwroot/icon/”
ScriptAlias /awstats/ “/usr/local/awstats/wwwroot/cgi-bin/”
#
# This is to permit URL access to scripts/files in AWStats directory.
#

Options None
AllowOverride None
Order allow,deny
Allow from all

awstats의 설정파일을 적절히 수정해 주어야 한다.
위에서 설정파일을 youmust 로 만들어 주었으므로 /etc/awstats/awstats.youmust.conf 파일을 찾아 수정한다


51 Line <– youmust 
로그파일 위치

51 #LogFile=”/var/log/httpd/mylog.log”
52 LogFile=”/usr/local/apache/logs/youmust-access_log” <– 실제 사용되는 아파치 로그파일

204 Line <– awstats의 설치 위치

204 #DirData=”/var/lib/awstats”
205 DirData=”/usr/local/awstats”

894 #Lang=”auto”
895 Lang=”ko”

로그파일 형식 combined 지정

★ 아직까지 apache access로그 형식을 combined으로 지정하지 않았다면 combined로 지정한다기존의 로그는 삭제한다

1) httpd.conf 파일 내용중
# CustomLog logs/access_log common
CustomLog logs/access_log combined

2) vitual host 부분중
# CustomLog /usr/local/apache/logs/youmust_access_log common
CustomLog /usr/local/apache/logs/kensei.co.kr_access_log combined


6. 
로그 분석파일 만들기

아파치 재시작

/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=youmust

 

 

아래와 같은 오류가 발생 했을때

 

# /usr/local/awstats/tools/awstats_updateall.pl now

Running ‘”/usr/local/awstats/wwwroot/cgi-bin/awstats.pl” -update -config=youmust -configdir=”/etc/awstats”‘ to update config youmust

Create/Update database for config “/etc/awstats/awstats.youmust.conf” by AWStats version 7.1.1 (build 1.989)

From data in log file “/usr/local/apache/logs/youmust.co.kr-access_log”…

Phase 1 : First bypass old records, searching new record…

Direct access to last remembered record has fallen on another record.

So searching new records from beginning of log file…

AWStats did not find any valid log lines that match your LogFormat parameter, in the 50th first non commented lines read of your log.

Your log file /usr/local/apache/logs/youmust.co.kr-access_log must have a bad format or LogFormat parameter setup does not match this format.

Your AWStats LogFormat parameter is:

1

This means each line in your web server log file need to have “combined log format” like this:

111.22.33.44 – – [10/Jan/2001:02:14:14 +0200] “GET / HTTP/1.1” 200 1234 “http://www.fromserver.com/from.htm” “Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)”

And this is an example of records AWStats found in your log file (the record number 50 in your log):

115.68.62.13 – – [10/Feb/2014:14:21:51 +0900] “GET /awstatsicons/other/vh.png HTTP/1.1” 304 –

Setup (‘/etc/awstats/awstats.youmust.conf’ file, web server or permissions) may be wrong.

 

Check config file, permissions and AWStats documentation (in ‘docs’ directory).

 

* 원인

타입이 틀려서 생기는 오류

 

*해결

#vi /etc/awstats/awstats.youmust.conf

 

LogFormat=”%host %other %logname %time1 %methodurl %code %bytesd”

!wq 저장하고 나온다.

 

# /usr/local/awstats/tools/awstats_updateall.pl now

Running ‘”/usr/local/awstats/wwwroot/cgi-bin/awstats.pl” -update -config=youmust -configdir=”/etc/awstats”‘ to update config youmust

Create/Update database for config “/etc/awstats/awstats.youmust.conf” by AWStats version 7.1.1 (build 1.989)

From data in log file “/usr/local/apache/logs/youmust.co.kr-access_log”…

Phase 1 : First bypass old records, searching new record…

Direct access after last parsed record (after line 1169)

Jumped lines in file: 1169

 Found 1169 already parsed records.

Parsed lines in file: 4

 Found 0 dropped records,

 Found 0 comments,

 Found 0 blank records,

 Found 0 corrupted records,

 Found 0 old records,

 Found 4 new qualified records.

 

정상적으로 실행이 됨

 

7. 웹상에서 awstats 확인하기

http://youmust.co.kr/awstats/awstats.pl?config=youmust

8. 클론으로 로그 분석 파일 갱신하기

매시간 10분마다 로그 분석 파일을 갱신(시간은 적절히 설정)

# crontab -e
10 * * * * /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=youmust

이와 같은 방법으로 시스템내의 여러 웹사이트를 로그 분석 파일을 여러개 설정할 수 있다.


9. awstats 
디렉토리 아파치 인증 설정하기

awstats는 보안 이슈가 발생할 가능성이 많으므로 아피치 인증을 설정한다.

vi /usr/local/apache/conf/httpd.conf

Options None
AllowOverride All <– 수정
Order allow,deny
Allow from all

# pwd

/usr/local/awstats/wwwroot

 

# vi .htaccess

AuthType Basic 

AuthName “내로그아무나못봐”

AuthUserFile /usr/local/awstats/wwwroot/.htpasswd 

require valid-user

 

# chmod 777 .htaccess

`.htaccess’의 모드를 0777(rwxrwxrwx)으로 변경하였습니다

 

암호파일 생성하기 (사용자 추가)

# /usr/local/apache/bin/htpasswd -c .htpasswd mc

New password:

Re-type new password:

Adding password for user mc

 

진행후 .htpasswd 파일에

pass:AeSbyDhAJWi9o    <<처럼 패스워드가 설정됨

 

아파치 재가동

웹상에서 apache 인증이 되는지 확인한다.

 

[polldaddy rating=”7739789″]