Ubuntu에서 간단 설치
webalizer의 설정파일 위치
/etc/webalizer/webalizer.conf
이 파일에서 고쳐줄만한 설정들은 다음과 같다.
webalizer의 실행파일 위치
/usr/bin/webalizer
이하는 virtualhost로 한 서버에 여러 사이트를 운영하는 경우에 적용할 방법이다.
아파치 virtualhost 세팅에서 각 사이트마다 accesslog를 다르게 쓰도록 한다.
예를 들어 필자는 memori.co.kr, bomool.net을 운영하고 있다.
/etc/apache2/conf.d/virtualhost.conf
이렇게 로그파일을 사이트별로 각각 쓰도록 설정을 바꾼 뒤에 아파치를 재시작
이제 webalizer에서 각각의 로그파일을 따로 분석하도록 /etc/webalizer/ 폴더에 사이트별로 설정파일을 만든다.
일단은 기존의 내용을 복사해서 만들고 LogFile, OutputDir, Incremental, HostName 내용을 찾아 필요한 부분만 수정하자.
이제 필요한 설정은 끝났다. cron을 이용해 주기적으로 실행시켜주기만 하면 된다. 필자는 1시간에 2회씩 로그를 분석한 뒤에 로그 파일을 비워버리는(clear) 방식을 택했다.
webalizer 설정 폴더인 /etc/webalizer/에 webalizer.sh라는 파일을 생성하고, 실행 가능하도록 mod를 755로 변경하자.
이렇게 한 뒤에 crontab에서 매시 0분, 30분에 실행되도록 다음과 같이 추가해주자
이상
# apt-get install webalizer
webalizer의 설정파일 위치
/etc/webalizer/webalizer.conf
이 파일에서 고쳐줄만한 설정들은 다음과 같다.
LogFile /var/log/apache2/access.log # 액서스로그파일 위치
OutputDir /home/사용자이름/webalizer # 결과를 출력할 폴더 위치
Incremental yes # 로그파일을 주기적으로 지워주는 경우 yes로 놓자
HostName bomool.net # 자기 사이트의 도메인을 써주자
OutputDir /home/사용자이름/webalizer # 결과를 출력할 폴더 위치
Incremental yes # 로그파일을 주기적으로 지워주는 경우 yes로 놓자
HostName bomool.net # 자기 사이트의 도메인을 써주자
/usr/bin/webalizer
이하는 virtualhost로 한 서버에 여러 사이트를 운영하는 경우에 적용할 방법이다.
아파치 virtualhost 세팅에서 각 사이트마다 accesslog를 다르게 쓰도록 한다.
예를 들어 필자는 memori.co.kr, bomool.net을 운영하고 있다.
/etc/apache2/conf.d/virtualhost.conf
<virtualhost *:80>
servername memori.co.kr
serveralias www.memori.co.kr
documentroot /home/memori
ErrorLog /var/log/apache2/memori.error.log
LogLevel warn
CustomLog /var/log/apache2/memori.access.log combined
</virtualhost>
<virtualhost *:80>
servername bomool.net
serveralias www.bomool.net
documentroot /home/bomool
ErrorLog /var/log/apache2/bomool.error.log
LogLevel warn
CustomLog /var/log/apache2/bomool.access.log combined
</virtualhost>
servername memori.co.kr
serveralias www.memori.co.kr
documentroot /home/memori
ErrorLog /var/log/apache2/memori.error.log
LogLevel warn
CustomLog /var/log/apache2/memori.access.log combined
</virtualhost>
<virtualhost *:80>
servername bomool.net
serveralias www.bomool.net
documentroot /home/bomool
ErrorLog /var/log/apache2/bomool.error.log
LogLevel warn
CustomLog /var/log/apache2/bomool.access.log combined
</virtualhost>
이렇게 로그파일을 사이트별로 각각 쓰도록 설정을 바꾼 뒤에 아파치를 재시작
# /etc/init.d/apache2 restart
이제 webalizer에서 각각의 로그파일을 따로 분석하도록 /etc/webalizer/ 폴더에 사이트별로 설정파일을 만든다.
일단은 기존의 내용을 복사해서 만들고 LogFile, OutputDir, Incremental, HostName 내용을 찾아 필요한 부분만 수정하자.
# cd /etc/webalizer/
# cp webalizer.conf memori.conf
# cp webalizer.conf bomool.conf
# vi memori.conf
# vi bomool.conf
# cp webalizer.conf memori.conf
# cp webalizer.conf bomool.conf
# vi memori.conf
# vi bomool.conf
이제 필요한 설정은 끝났다. cron을 이용해 주기적으로 실행시켜주기만 하면 된다. 필자는 1시간에 2회씩 로그를 분석한 뒤에 로그 파일을 비워버리는(clear) 방식을 택했다.
webalizer 설정 폴더인 /etc/webalizer/에 webalizer.sh라는 파일을 생성하고, 실행 가능하도록 mod를 755로 변경하자.
# cd /etc/webalizer/
# vi webalizer.sh
# vi webalizer.sh
/usr/bin/webalizer -c /etc/webalizer/memori.conf
cat /dev/null > /var/log/apache2/memori.access.log
/usr/bin/webalizer -c /etc/webalizer/bomool.conf
cat /dev/null > /var/log/apache2/bomool.access.log
cat /dev/null > /var/log/apache2/memori.access.log
/usr/bin/webalizer -c /etc/webalizer/bomool.conf
cat /dev/null > /var/log/apache2/bomool.access.log
# chmod 755 webalizer.sh
참고로 webalizer -c 는 config 파일을 지정해주는 것이고, cat /dev/null > 파일명 이렇게 하면 아무 내용도 없는 것이 파일로 써진다.이렇게 한 뒤에 crontab에서 매시 0분, 30분에 실행되도록 다음과 같이 추가해주자
# crontab -e
0,30 * * * * /etc/webalizer/webalizer.sh
이상