서버를 돌리다보면 아파치에서는 logs 디렉토리에 자동으로 access.log 와 error.log 파일을
저장하게 된다. 말그대로 access.log는 서버접속에 대한 외내부의 기록이고 error.log파일은
아파치 서버의 상태가 기록된 파일이다. error.log파일은 외부에서 만약 내 서버로 접속시에
파일을 찾을수 없었다면 IP와 그 상태도 기록하게 된다. error.log는 크기가 많이 커질일이 별로
없지만 요새는 검색사이트들의 로봇들이 웹페이지를 긁어가면서 못찾는 파일에 대한 에러가
꽤나 쌓인다. 어쨋든.. access.log 파일은 접속자 수가 많다면 순식간에 Mbyte 단위로 늘어나는데
이를 쌓아두면 로그분석도 쉽지 않을뿐더러 웹서버 성능도 떨어지게 된다. 때문에 일정 파일단위로
나눠서 로그파일을 저장할수 있는 방법(Rotatelogs.exe사용)과 로그를 분석할수 있는 webalizer
라는 프로그램 설치법에 대해 알아보겠다. 필자는 가상호스트를 사용중이기 때문에 이를 토대로
설명 하도록할것이다. 일단 webalizer 윈도우용 프로그램을 다운로드 받도록 하자.
Webalizer Homepage : http://www.webalizer.com/download.html
여기서 윈도우용(Win32)를 다운받도록 하자.
다됐으면 아파치가 설치되어있는 디렉토리 내의 conf 디렉토리로 가본다.
여기서 vhost.conf 파일을 볼수있다. (아파치 1.x 버전을 쓰고있다면 virtual/host.conf)
파일을 열고 수정을 한다.
(아래의 주소들은 예제입니다. 자신의 홈페이지 주소에 맞게 수정해주세요.)
<VirtualHost _default_:80>
ErrorLog logs/park.example.com-error_log
CustomLog "|C:/아파치가설치된경로/bin/rotatelogs.exe
C:/아파치가설치된경로/logs/park.access_log_%Y 5M" common
ServerName park.example.com
DocumentRoot "C:/아파치가설치된경로/htdocs"
</VirtualHost>
이부분을 추가 및 수정을 한다. 위에서 5M은 용량을 말하는 것으로 access 로그파일이 5Mb가
넘으면 치환해준다. (rotatelogs.exe 뒷부분에 한칸띄고 servername 전부분까지 붙혀쓴다.)
%Y 부분은 해당년도를 자동으로 로그파일 이름 맨뒷부분에 더해서 저장해준다. 필요없다면
%Y부분은 빼버려도 무방하다. 저장후 문법에러가 있는지 확인하자.
확인방법 : 시작->실행->cmd 입력->커맨드 창에서 c:\아파치가설치된경로\bin\apache -S
라고 치면 이상이 없다면 Syntax OK 라는 구문이 뜬다. 에러가 생겼다면 다시한번
살펴본다.
Webalizer 설치전 아파치 서버를 재시동 하자.
두번째로..Webalizer(로그분석기)를 설치하도록 하자.
예를들어 C:\아파치가설치된경로\webalizer 에 설치한다고 가정하자.
그럼 이곳에 그냥 압축을 풀어놓으면 된다.
그다음 이폴더내의 sample.conf 파일의 이름을 park.example.com.conf 로 고친다.
수정,저장후 파일을 편집기로 열어서 아랫부분을 수정한다.
(원본)
#LogFile /var/lib/httpd/logs/access_log
#OutputDir /var/lib/httpd/htdocs/usage
#HistoryName webalizer.hist
#Incremental no
#IncrementalName webalizer.current
#HostName localhost
(수정본)
LogFile C:/아파치가설치된경로/logs/park.access_log_2007
OutputDir C:/아파치가설치된경로/htdocs/weblog
HistoryName park.example.com
Incremental yes
IncrementalName park.current
HostName park.example.com
위와 같이 수정하는데 Outputdir은 아파치가 설치된경로의 다큐멘트 디렉토리에 임의의 디렉토리
를 하나 만들어주고 저장하는것이 좋다. Incremental 옵션은 기본값이 No 인데 Yes로 해주면
vhost.conf 에서 5M가 넘으면 치환되서 없어져 버리는 로그파일을 따로 저장을 해준다.
sample.conf에서 수정한 Logfile명은 vhost.conf에서 수정한 Customlog의 파일명과 일치해야만
한다. 자..여기까지 다됐다면 거의 성공한 것인데.. Webalizer를 실행하기 전에 vhost.conf 파일이
제대로 설정되었는지 확인하자.
시작->실행 에서 cmd 를 입력하여 커맨드창을 실행시키고 아래와 같이 입력한다.
C:\Webalizer가 설치된경로\webalizer.exe -c
C:\Webalizer가 설치된경로\park.example.com.conf
(-c 에서 한칸띄우고 나머지 부분을 쭉 이어서 입력하면 된다.)
분석기는 아파치서버와 같이 실행되는것이 아니라 따로 실행해줘야 하기때문에 위와같이 일일히
항상 입력하기 싫다면 배치파일을 하나 만드는 것이 좋다.
다음과 같이 만들어놓으면 편하다. 실행이 됐다면 확인이 남았다.
위처럼 실행하고 나면 아까 webalizer에서 sample.conf 파일에서 설정한 outputDir에 지정된
디렉토리에 index.html 파일과 나머지 파일들이 생성되는데
여기예제에 따라 웹브라우저에서 실행한다면 http://park.example.com/weblog 를 입력하면
이와같은 화면을 볼수있다. 그전 기록에 대해서 이 분석기에서 어떻게 읽어들일수 있는지는 방법을
모르겠고 웹서버를 설치하려 한다면 이 강좌대로 web alizer도 함께 설치하면서 rotatelogs를 이용
한 로그파일 관리도 함께 한다면 좋겠다.
한가지 덧붙이자면 Webalizer 실행커맨드를 배치파일로 저장했던지 했다면 한번씩 실행을 해줘야
로그갱신이 된다. 이는 윈도우 내부의 스케쥴 예약 프로그램등으로 일정 시간대를 지정해놓고
실행해주는것도 좋은 방법이 될수 있겠다.
'웹서버관련정보 > 윈도우' 카테고리의 다른 글
[강좌] 윈도우용 메일서버 설치하기 (0) | 2007.05.04 |
---|---|
[팁] 아파치서버에서 특정폴더에 암호걸기(인증사용) (0) | 2007.04.25 |
[팁] Mysql 서버 접속자수 늘리기 (0) | 2007.04.18 |
[팁] 아파치 2.x 로그파일 지우기 (0) | 2007.04.18 |
[팁] 아파치2.x 서버가 응답이 없을경우 해결법 (0) | 2007.04.18 |