웹 통계 · 4 min read · Nov 26, 2025
AWStats 및 JAWStats를 사용한 웹 사이트 통계 생성하기 (Debian Lenny)
AWStats 및 JAWStats를 사용한 웹 사이트 통계 생성하기 (Debian Lenny)
버전 1.0
저자: Falko Timme
Twitter에서 나를 팔로우하세요
이 튜토리얼에서는 Debian Lenny 웹 서버에서 AWStats 및 JAWStats를 사용하여 웹 사이트 통계를 생성하는 방법을 설명합니다. AWStats는 고급 웹 서버 통계를 생성하는 무료 강력한 도구입니다. JAWStats는 AWStats와 함께 실행되며 웹 사이트 방문자에 대한 명확하고 유익한 차트, 그래프 및 표를 생성합니다. AWStats는 통계에 대한 그래픽 웹 페이지를 생성할 수 있지만, JAWStats는 이 데이터를 훨씬 더 보기 좋게 제공합니다 - 훨씬 더 잘 정리되어 있으며 Ajax 및 Flash를 사용합니다.
이것이 여러분에게 작동할 것이라는 보장은 하지 않습니다!
1 사전 참고
이 튜토리얼에서는 www.example.com (별칭: example.com, www.example.net, example.net)이라는 웹 사이트와 문서 루트 /var/www/www.example.com/web을 사용합니다.
2 AWStats 설치 및 구성
AWStats는 다음과 같이 설치할 수 있습니다:
aptitude install awstats구성 파일은 /etc/awstats/ 디렉토리에 위치합니다. 각 가상 호스트에 대해 해당 디렉토리에 awstats.
cd /etc/awstats/
cp awstats.conf awstats.www.example.com.conf
vi awstats.www.example.com.conf
다음 설정을 수정합니다:
| [...] LogFile="/var/log/apache2/access.log" [...] LogFormat=1 [...] SiteDomain="www.example.com" [...] HostAliases="example.com www.example.net example.net" [...] |
LogFile은 가상 호스트의 Apache 접근 로그 또는 전체 Apache 접근 로그(모든 사이트에 대한 로그)의 경로를 포함해야 합니다; AWStats는 웹 사이트에 속하지 않는 기록을 필터링할 수 있습니다. 동적 파일 이름이 있는 경우(예: 날짜가 포함된 경우, cronolog 또는 vlogger에 의해 접근 로그가 생성되는 경우) 자리 표시자를 사용할 수 있습니다. 예를 들어:
LogFile="/var/log/httpd/access.log_%YYYY-0_%MM-0_%DD-0"AWStats 구성 파일의 주석에서 다음과 같이 설명되어 있습니다:
“LogFile”은 분석할 웹, ftp 또는 메일 서버 로그 파일을 포함합니다.
가능한 값: 전체 경로 또는 awstats.pl 디렉토리에서의 상대 경로.
예: “/var/log/apache/access.log”
예: “../logs/mycombinedlog.log”
날짜 또는 시간에 따라 동적 파일 이름이 필요한 경우 이 파일 이름에 태그를 사용할 수 있습니다(대체는 AWStats가 실행 시작 시 수행됩니다). 사용 가능한 태그는 다음과 같습니다:
%YYYY-n 은 n시간 전의 4자리 연도로 대체됩니다.
%YY-n 은 n시간 전의 2자리 연도로 대체됩니다.
%MM-n 은 n시간 전의 2자리 월로 대체됩니다.
%MO-n 은 n시간 전의 3글자 월로 대체됩니다.
%DD-n 은 n시간 전의 일로 대체됩니다.
%HH-n 은 n시간 전의 시로 대체됩니다.
%NS-n 은 1970년 00:00 이후의 초 수로 대체됩니다.
%WM-n 은 월의 주 번호(1-5)로 대체됩니다.
%Wm-n 은 월의 주 번호(0-4)로 대체됩니다.
%WY-n 은 연도의 주 번호(01-52)로 대체됩니다.
%Wy-n 은 연도의 주 번호(00-51)로 대체됩니다.
%DW-n 은 주의 일 번호(1-7, 1=일요일)로 대체됩니다.
n=24를 사용하면 필요합니다(1-7, 1=월요일).
%Dw-n 은 주의 일 번호(0-6, 0=일요일)로 대체됩니다.
n=24를 사용하면 필요합니다(0-6, 0=월요일).
현재 연도, 월, 일, 시, …이 필요한 경우 n에 0을 사용합니다.
예: “/var/log/access_log.%YYYY-0%MM-0%DD-0.log”
예: “C:/WINNT/system32/LogFiles/W3SVC1/ex%YY-24%MM-24%DD-24.log”
로그 파일이 파이프에서 오는 경우 파이프를 사용할 수도 있습니다:
예: “gzip -d 로드 밸런싱 서버에서 여러 로그 파일이 있는 경우:
예: “/pathtotools/logresolvemerge.pl *.log |”
아마도 Apache의 결합 로그 형식을 사용하고 있으므로 LogFormat=1을 사용해야 합니다(다시 말하지만, 올바른 형식을 찾으려면 파일의 주석을 확인하세요. 대부분의 경우 Apache의 결합 로그 형식을 사용하고 있습니다).
SiteDomain: 웹 사이트의 주요 도메인(이 경우 www.example.com)을 지정합니다.
HostAliases: 웹 사이트에 접근하는 데 사용되는 모든 다른 도메인/서브도메인을 지정합니다(이 예에서는 example.com, www.example.net, example.net).
다음으로 AWStats를 9분마다 실행하는 cron 작업을 생성합니다:
crontab -e | 9,19,29,39,49,59 * * * * /usr/lib/cgi-bin/awstats.pl -config=www.example.com -update >/dev/null |
(동적 접근 로그가 있는 경우, cronolog 또는 vlogger에 의해 생성된 경우, AWStats가 0:00h에 새로운 접근 로그가 생성되기 전에 23:59h에 현재 접근 로그를 처리할 수 있도록 cron 작업에 59분을 포함하는 것이 좋습니다 - 그렇게 하면 통계에서 23:59h와 0:00h 사이의 1분만 손실됩니다.)
3 JAWStats 설치 및 구성
http://www.jawstats.com/download로 이동하여 최신 JAWStats 버전을 다운로드하고 PC에서 압축을 풀고 www.example.com 웹 사이트 내의 디렉토리에 업로드합니다. 이 튜토리얼에서는 /var/www/www.example.com/web/jawstats 디렉토리에 업로드합니다.
그 후, config.dist.php의 이름을 config.php로 바꾸고 수정해야 합니다:
mv /var/www/www.example.com/web/jawstats/config.dist.php /var/www/www.example.com/web/jawstats/config.php
vi /var/www/www.example.com/web/jawstats/config.php
| "/var/lib/awstats/", "updatepath" => "/usr/lib/cgi-bin/", "siteurl" => "http://www.example.com", "sitename" => "My Example.com Web Site", "theme" => "default", "fadespeed" => 250, "password" => "secret", "includes" => "", "language" => "en-gb" ); ?> |
“사이트 변경” 링크를 제거하려면 $bConfigChangeSites를 false로 변경합니다.
사용자가 스스로 통계를 업데이트할 수 없도록 하려면 $bConfigUpdateSites를 false로 설정합니다.
그 후, 배열 $aConfig[“site1”]의 이름을 웹 사이트 이름( $aConfig[“www.example.com”]로) 바꿉니다. statspath을 /var/lib/awstats/로 설정합니다(끝 슬래시를 잊지 마세요!), updatepath를 /usr/lib/cgi-bin/로 설정하고, siteurl을 http://www.example.com으로 설정하며, sitename 아래에 웹 사이트 이름을 지정합니다. 비밀번호는 $bConfigUpdateSites를 true로 설정한 경우에만 필요합니다(사용자가 브라우저를 통해 통계를 업데이트할 수 있도록 허용하는 경우, 이 비밀번호를 입력해야 합니다).
그게 전부입니다 - AWStats cron 작업이 처음으로 실행된 후(트래픽이 많은 웹 사이트의 경우 시간이 오래 걸릴 수 있으므로 인내심을 가지세요), http://www.example.com/jawstats에서 통계에 접근할 수 있습니다.
다음은 어떻게 보일 수 있는지에 대한 몇 가지 스크린샷입니다:




4 JAWStats 출력 디렉토리 비밀번호 보호 (선택 사항)
이제 모든 사람이 웹 사이트 통계에 접근할 수 있도록 하려면 /var/www/www.example.com/web/jawstats 디렉토리를 비밀번호로 보호하는 것이 좋습니다.
이를 위해 /var/www/www.example.com/web/jawstats에 .htaccess 파일을 생성합니다:
vi /var/www/www.example.com/web/jawstats/.htaccess| AuthType Basic AuthName "Members Only" AuthUserFile /var/www/www.example.com/.htpasswd |
그런 다음 비밀번호 파일 /var/www/www.example.com/.htpasswd를 생성해야 합니다. 사용자 이름 admin으로 로그인하고 싶으므로 다음과 같이 합니다:
htpasswd -c /var/www/www.example.com/.htpasswd adminadmin의 비밀번호를 입력하면 완료됩니다!
5 링크
- AWStats: http://www.awstats.org/
- JAWStats: http://www.jawstats.com/
- Apache: http://httpd.apache.org/
- Debian: http://www.debian.org/
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.