우분투 아파치 서버로그 분석 (awstats)
컨텐츠 정보
- 15,710 조회
- 0 추천
- 목록
본문
출처: http://mooyou.tistory.com/54 [무유 블로그]
1. awstats 패키지 설치
다음 명령어로 awstats를 설치합니다.
geo 라이브러리는 방문자를 나라별로 분류해서 볼 수 있게 하기위해 설치합니다.
$ sudo apt-get install geoip-bin geoip-database libgeoip-dev libgeoip1 libgeo-ip-perl geoip-database-extra libapache2-mod-geoip
$sudo apt-get install awstats libnet-xwhois-perl
[디렉토리]
/etc/awstats/ : 설정파일 루트 디렉토리
/var/lib/awstats/ : 분석이 끝난 자료를 정리해둔 파일
/etc/cron.d/awstats : cron job 에 등록될 내용이 저장되어 있다.
/usr/lib/cgi-bin/awstats.pl : 실제 실행 파일(cron 에서 매일 실행하거나, 웹에서 보여줄때 모두 사용된다.)
2. awstats 환경 설정
$ sudo vim /etc/awstats/awstats.conf
122번째줄 : LogFormat=4 를 LogFormat=1 로 변경. ubuntu apache 기본값이 1번입니다.
153번째줄 : SiteDomain=”” 를 SiteDomain=”mydomain.com” 로 변경. 작업중인 파일명을 참고하여 변경하세요.
168번째줄 : HostAliases=”localhost 127.0.0.1” 를 HostAliases=mydomain.com localhost 127.0.0.1” 로 변경. 현재 설정파일과 동일하게 취급할 도메인을 띄어쓰기를 구분자로 하여 적어줍니다.
188번째줄 : DNSLookup=1 을 DNSLookup=0 으로 변경. dnslookup 은 부하가 많이 걸리므로 꺼두는게 좋습니다.
905번째줄 : Lang=”auto” 를 Lang=”ko” 로 변경. 강제로 한국어를 지정합니다. awstats에는 한글UI를 지원합니다.
1305번째줄 : LoadPlugin="tooltips" #주석제거 툴팁 활성화 (선택)
1443번째줄 : LoadPlugin="geoip GEOIP_STANDARD /usr/share/GeoIP/GeoIP.dat" #주석제거 방문자를 나라별로 분류해서 볼 수 있습니다.
1462번째줄 : #LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /usr/share/GeoIP/GeoIPCity.dat" #주석제거(선택)
3. awstats 보안 설정
# awstats.도메인명.conf 를 자동으로 불러옴
$ sudo cp /etc/awstats/awstats.conf /etc/awstats/awstats.windwing.co.kr.conf
# 보안을 위해서 기본샘플파일인 awstats.conf 파일명을 awstats.conf_ 로 변경
$ sudo mv /etc/awstats/awstats.conf /etc/awstats/awstats.conf_
* 로그업데이트
/usr/lib/cgi-bin/awstats.pl -config=mydomain.com -update
4. 아파치 환경 설정
아파치 환경설정 파일을 읽어옵니다.
$ sudo vim /etc/apache2/sites-enabled/000-default
환경설정 파일에서 VirtualHost 태그 안에 awstats 설정 추가합니다.
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
## -- awstats 설정 ##
Alias /awstatsclasses "/usr/share/awstats/lib/"
Alias /awstats-icon/ "/usr/share/awstats/icon/"
Alias /awstatscss "/usr/share/doc/awstats/examples/css"
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
...
</VirtualHost>
아파치 서버 재시작
$ sudo /etc/init.d/apache2 restart
----------------------------------------------------
** 전체 설정 **
1) 아파치 설정
$sudo vi /etc/apache2/conf-enabled/awstats.conf
Alias /awstatsclasses "/usr/share/awstats/lib/"
Alias /awstats-icon/ "/usr/share/awstats/icon/"
Alias /awstatscss "/usr/share/doc/awstats/examples/css"
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
ScriptAlias /awstats/ /usr/lib/cgi-bin/
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
$sudo vi /etc/apache2/apache2.conf
<Directory /usr/lib/cgi-bin>
Options ExecCGI MultiViews SymLinksIfOwnerMatch FollowSymLinks
AllowOverride All
Require all granted
SetHandler cgi-script
</Directory>
위에 소스를 맨 밑에 추가한다
2) cgi 활성화
$ sudo a2enmod cgi
3) 아파치 재시작
$ sudo /etc/init.d/apache2 restart
----------------------------------------------------
5. 로그정보 업데이트
시스템에서 주기적으로 업데이트 하기위해 crontab 설정합니다. (반드시 sudo를 붙여 관리자 crontab에 등록)
sudo crontab -e
다음과같이 crontab에 awstats 업데이트 구문을 등록합니다. (30분 주기)
# awstats
00,30 * * * * /usr/lib/cgi-bin/awstats.pl -config=mydomain.com -update > /dev/null 2>&
//permission 에러시
chmod 755 /var/log/apache2
6. 결과 확인
다음의 주소로 접근하시면 아파치 로그를 확인하실 수 있습니다.
http://mydomain.com/cgi-bin/awstats.pl
references
http://mcchae.egloos.com/10515893
http://blog.sunghwanyoo.com/59
출처: http://mooyou.tistory.com/54 [무유 블로그]
관련자료
-
링크