강좌
클라우드/리눅스에 관한 강좌입니다.
기타 분류

Webalizer 설치 및 운용

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

icon01.giftitle01.gif

  처 : 수퍼유저코리아(www.superuser.co.kr)<?XML:NAMESPACE PREFIX = O />

저작권 : 박성수(papa@superuser.co.kr)

이 문서는 웹로그분석을 위해 가장 많이 사용되고 있는 webalizer를 리눅스에서의 사용 및 활용법에 관한 것입니다. 이 문서의 배포는 반드시 저작권의 명시와 함께 허용됩니다.


웹서버 특히 웹호스팅서버를 관리하는 일은 대부분 웹마스터나 서버관리자가 하게됩니다.

웹서버를 운영한다면 반드시 웹로그를 분석해야하는 일을 하게됩니다. 그 역할 또한 서버관리자가 하는 경우가 대부분입니다. 대개는 웹마스터가 서버관리를 겸하는 경우가 대부분訣嗤?필자가 여기서 설명드리고하는 경우는 단순한 웹로그분석이 아닌 여러 개의 웹사이트를 자동으로 분석하는 방법에 대한 것입니다. 공식적인 명칭은 아니지만 설명의 편의성을 위하여 동시에 여러 개의 웹로그파일을 자동으로 분석하는 방법을 필자는 “멀티웹로그분석”이라고 하겠습니다. 하나의 웹사이트가 아닌 여러 개의 웹사이트의 웹로그를 분석하는 일은 단순한 작업이 아닐 것입니다. 단순히 하나의 서버에 하나의 웹로그만 분석하는 일은 그렇게 어려운 작업은 아닙니다.

 

한대의 서버에 여러 개의 웹사이트를 운용하고 있다면 웹로그를 분석 할 때마다 모두 수작업을 한다면 시간과 작업량에 있어서 여간 힘든일이 아닐 것입니다.

 

필자가 서버관리라는 관점에서 웹로그분석법을 다루고자 하는 것은 단순한 웹로그분석법만을 다루고자하는 것이 아니라 여러 개의 웹사이트를 주기적으로 자동분석되게 하는 방법에 대한 내용을 다루고자 하는 것입니다.

 

앞에서도 누차 강조드린 바와 같이 서버관리자는 주기적이고 단순 반복적인 작업들은 자동화, 단순화 시켜나가면서 서버관리업무를 체계화 시켜나가야합니다.

 

이번에 설명드릴 webalizer를 통한 웹로그분석 또한 이런 관점에서 단순한 웹로그분석 방법 보다는 많은 웹사이트의 웹로그를 각각 자동분석되게 하여 그 결과 또한 사이트별로 각각 확인할 수 있도록 하는 방법을 제시할 것입니다.

 

참고로 이번절 뒤에는 accesswatch라는 웹로그분석 프로그램을 이용한 웹로그 자동분석법에 대한 설명을 합니다. Webalizer와 accesswatch를 비교분석해 보시는 것도 좋은 방법이 될 수 있을 것 같습니다.

 

, 그럼 webalizer의 웹로그분석법에 대한 설명을 시작해 보겠습니다.

 

1. Webalizer의 소개와 특징

 

우선, webalizer의 특징에 대해서 간단히 설명드리면 다음과 같습니다.

 

        - C언어로 개발되었기 때문에 실행속도가 굉장히 빠릅니다.
          (참고, 이번 절 뒤에 설명되는 accesswatch는 Perl로 개발되었으며,

           webalizer에 비해서는 그 속도가 현저하게 떨어집니다. _

        - 특히, 한국어를 지원한다는 점에 굉장한 매력이 있습니다.

        - webalizer는 C로 개발되었지만 그 소스를 공개하고 있습니다.

        - 분석대상이 되는 소스파일의 크기에 제한이 없습니다.


icon01.giftitle02.gif

 

그리고 webalizer를 다운받을 수 있는 곳은 다음과 같습니다. 

 

-http://ftp.superuser.co.kr/pub/weblog/webalizer/

-http://www.webalizer.com
 

아래는 Webalizer의 공식적인 홈페이지(www.webalizer.com) 입니다.

image002.gif

다운을 받으시려면 맨 아래 우측에 보이는 “Download”를 클릭하시면 됩니다.

 


icon01.giftitle03.gif

 

먼저 다운받은 Webalizer를 설치해 보겠습니다. 앞서도 말씀드렸지만 설치방법을 포함하여 여기서 설명드리는 모든 내용들은 단순한 방법이 아닌 호스팅서버등에서 여러 개의 웹사이트의 웹로그분석을 동시에 자동으로 설정하는 방법에 대한 것입니다.

 

아래 보시는 바와 같이 현재 작업위치는 /usr/local 입니다. 물론, 다른위치에서 작업을 하셔도 상관없지만 필자의 경우에 대부분 소스를 가져와서 설치하는 위치는 /usr/local로 하고 있습니다.

image004.jpg

 

아래 예처럼 가져온 webalizer의 압축을 풀어줍니다. tgz로 압축되어 있는 파일은 tar와 gzip으로 압축이 되어있는 것이므로 tar에서 xvfz라는 옵션으로 풀어주시면 됩니다.

image005.gif

 

압축을 풀고나면 webalizer 디렉토리가 생성이되면서 그 디렉토리내에 필요한 파일들이 들어갑니다.

image007.jpg

다음 작업은 configure작업입니다. Configure할 때에는 한국어 지원을 위해서 옵션을 -with-language-korean을 주십시오.

image009.jpg

configure작업이 정상적으로 끝났다면 이번에는 컴파일(make)을 합니다. 컴파일은 아래 예처럼 “make”라고만 하시면 됩니다.

image011.jpg

컴파일 작업까지 정상적으로 끝났다면 이번에는 “make install”으로 설치작업을 하시면 됩니다.

설치작업까지 정상적으로 끝났다면 webalizer의 설치는 끝난 것입니다.

image013.jpg

이제부터 Webalizer를 이용하여 여러 개(여기서는 3개)의 사이트를 동시에 자동분석하는 방법에 대해서 알려드리겠습니다.


icon01.giftitle04.gif

 

이제 본격적으로 웹사이트분석을 하도록 하겠습니다. 우선, 다음과 같이 3개의 웹사이트가 서버내에서 설치되어 운용되고 있다는 가정을 하겠습니다. 아래는 3개의 웹사이트를 위한 가상호스트 설정입니다.

image014.gif

이들 3개의 웹사이트의 구성방법은 모두 동일합니다. 그리고 Webalizer를 포함한 디렉토리구성은 다음과 같습니다.

 

        - 기본 홈페이지 위치 : /home/ID/www/
        - 웹로그파일 위치 : /home/ID/www_log/access_log

        - 웹로그분석 결과가 저장될 위치 : /home/ID/www/weblog

        - 웹로그 결과 확인방법 : http://도메인/weblog

 

위의 구성은 분석하고자하는 모든 웹사이트에 동일하게 적용이되는 구성입니다. 즉 모든 웹사이트의 홈디렉토리는 /home/ID/www/가 될 것이며, 웹로그파일의 저장 위치는 /home/ID/www_log/access_log가 될 것입니다. 그리고 Webalizer로 분석된 결과가 저장 위치는 각각 /home/ID/www/weblog가 됩니다. 그리고 Webalizer 분석결과를 웹으로 확인하는 방법은 http://도메인/weblog로 각각 확인할 수 있습니다.

image015.gif

위의 예는 여기서 예로든 3개의 웹사이트의 로그파일위치를 각각 확인한 것입니다.


icon01.giftitle05.gif

 

여러 개의 웹사이트를 동시에 분석하려면 다음과 같은 작업이 필요합니다 .

현재 webalizer가 설치된 위치는 /usr/local/webalizer이며 webalizer뒤에는 버전번호가 붙여져 있지만 가능하다면 버전번호를 생략한 webalizer라는 이름으로 변경을 해주시는 것이 좋습니다.

 

Webalizer를 설치하고난 후에는 설치시에 생성되지 않는 디렉토리와 파일들을 만들어 주셔야합니다. 이 또한 멀티웹로그분석을 위한 작업입니다.

 

        - 환경설정파일 디렉토리 : /usr/local/webalizer/conf/개별도메인.conf

        - 실행 쉘스크립트 파일 : /usr/local/webalizer/bin/webalizer.sh

 

이 두개의 디렉토리와 파일들은 모두 직접 만들어 주셔야합니다. 멀티웹로그분석을 위해 모두 필자가 직접 만들어 둔 것입니다. 그리고 webalizer.conf 파일에는 분석대상이 되는 모든 웹사이트의 웹로그분석을 위한 설정파일들이 “도메인.conf”라는 파일이름으로 각각 한 개씩 생성해야합니다. 그리고 /usr/local/webalizer/bin에 생성되는 webalizer.sh 파일 또한 직접 만들어 주셔야하며 이 파일에는 개별 conf 파일들을 하나씩 분석하기 위한 실행명령들이 들어가게 됩니다.

 


icon01.giftitle06.gif

 

, 그럼 먼저 conf 디렉토리를 아래와 같이 만들어 주십시오.

image016.gif

그리고 이 디렉토리내에서 분석하고자하는 대상 도메인의 설정파일(*.conf)파일을 다음과 같이 만들어 주셔야합니다.

Webalizer설치하고 나면 “make install”과정에서 샘플설정파일(webalizer.conf.sample)이 /etc/디렉토리내에 생성됩니다. 따라서 아래의 예처럼 이 샘플파일을 도메인에 하나씩 복사해오시면 됩니다.

image018.gif

모두 복사된 후에 개별 도메인의 설정파일들을 확인한 것입니다.

image019.gif

무엇보다 중요한 것은 이렇게 복사해온 샘플파일의 내용은 개별 도메인의 환경과는 맞지않다는 것 입니다. 따라서 개별 도메인의 환경에 맞게 조금 수정을 해주셔야하는데 수정하는 내용은 꼭 필요한 5개 항목만 변경해주시면 됩니다.

 

수정해주실 항목은 개별 설정파일내의 5개항목이며 다음과 같습니다.

 

- LogFile        : 로그파일 위치 (예 : /home/bsuhak/www_log/access_log)

- OutputDir      : 분석결과 저장위치 (예 : /home/bsuhak/www/weblog)

- HistoryName    : 사이트명 (예 : bsuhak.com)

- ReportTitle    : 분석결과 페이지 이름 (예 : BSUHAK.COM WebSite)

- HostName     :  호스트명 FQDN형식 (예 : www.bsuhak.com)

 

다음의 예는 위의 3개의 설정파일중 하나인 bsuhak.com.conf 파일의 예를 보인 것입니다.

3개 파일 모두 vi로 파일을 열어서 최소한 5개 부분은 맞게 수정을 해주셔야 합니다.

만약 분석하는 사이트수가 3개 이상된다 하더라도 모두 이와 같은 방법으로 수정해주시면 됩니다. 아래의 진하게 표시된 부분이 수정해주셔야 할 부분입니다. 

[root@su2 conf]# cat bsuhak.com.conf

LogFile        /home/bsuhak/www_log/access_log

#LogType        clf

OutputDir      /home/bsuhak/www/weblog

HistoryName     bsuhak.com

#Incremental    no

#IncrementalName        webalizer.current

ReportTitle    BSUHAK.COM WebSite

HostName       www.bsuhak.com

#HTMLExtension  html

PageType        htm*

PageType        cgi

#PageType       phtml

#PageType       php3

#PageType       pl

#UseHTTPS       no

#DNSCache       dns_cache.db

#DNSChildren    0

#HTMLPre <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

#HTMLHead <META NAME="author" CONTENT="The Webalizer">

#HTMLBody <BODY BGCOLOR="#E8E8E8" TEXT="#000000" LINK="#0000FF" VLINK="#FF0000">

#HTMLPost       <BR CLEAR="all">

#HTMLTail <IMG SRC="msfree.png" ALT="100% Micro$oft free!">

#HTMLEnd </BODY></HTML>

#Quiet          no

#ReallyQuiet    no

#TimeMe         no

#GMTTime                no

#Debug          no

#FoldSeqErr     no

#VisitTimeout   1800

#IgnoreHist     no

#CountryGraph   yes

#DailyGraph     yes

#DailyStats     yes

#HourlyGraph    yes

#HourlyStats    yes

#GraphLegend    yes

#GraphLines     2

 

#TopSites        30

#TopKSites       10

#TopURLs         30

#TopKURLs        10

#TopReferrers    30

#TopAgents       15

#TopCountries    30

#TopEntry        10

#TopExit         10

#TopSearch       20

#TopUsers        20

 

#AllSites       no

#AllURLs        no

#AllReferrers   no

#AllAgents      no

#AllSearchStr   no

#AllUsers       no

 

#IndexAlias     home.htm

#IndexAlias     homepage.htm

 

#HideSite       *mrunix.net

#HideSite       localhost

 

#HideReferrer   mrunix.net/

 

#HideReferrer   Direct Request

 

HideURL         *.gif

HideURL         *.GIF

HideURL         *.jpg

HideURL         *.JPG

HideURL         *.png

HideURL         *.PNG

HideURL         *.ra

 

#HideAgent      RealPlayer

 

#HideUser       root

#HideUser       admin

 

#GroupURL       /cgi-bin/*      CGI Scripts

#GroupURL       /images/*       Images

 

#GroupSite      *.aol.com

#GroupSite      *.compuserve.com

 

#GroupReferrer  yahoo.com/      Yahoo!

#GroupReferrer  excite.com/     Excite

#GroupReferrer  infoseek.com/   InfoSeek

#GroupReferrer  webcrawler.com/ WebCrawler

 

#GroupUser      root            Admin users

#GroupUser      admin           Admin users

#GroupUser      wheel           Admin users

 

#GroupAgent     MSIE            Micro$oft Internet Exploder

#HideAgent      MSIE

#GroupAgent     Mozilla         Netscape

#HideAgent      Mozilla

#GroupAgent     Lynx*           Lynx

#HideAgent      Lynx*

 

#HideAllSites   no

 

#GroupDomains   0

 

#GroupShading   yes

 

#GroupHighlight yes

 

#IgnoreSite     bad.site.net

#IgnoreURL      /test*

#IgnoreReferrer file:/*

#IgnoreAgent    RealPlayer

#IgnoreUser     root

 

#IgnoreURL      *

#IncludeURL     ~joeuser*

 

#IgnoreUser     *

#IncludeUser    someuser

 

#MangleAgents    0

 

SearchEngine    yahoo.com       p=

SearchEngine    altavista.com   q=

SearchEngine    google.com      q=

SearchEngine    eureka.com      q=

SearchEngine    lycos.com       query=

SearchEngine    hotbot.com      MT=

SearchEngine    msn.com         MT=

SearchEngine    infoseek.com    qt=

SearchEngine    webcrawler      searchText=

SearchEngine    excite          search=

SearchEngine    netscape.com    search=

SearchEngine    mamma.com       query=

SearchEngine    alltheweb.com   query=

SearchEngine    northernlight.com  qr=

 

#DumpPath       /var/lib/httpd/logs

 

#DumpHeader     no

 

#DumpExtension  tab

 

#DumpSites      no

#DumpURLs       no

#DumpReferrers  no

#DumpAgents     no

#DumpUsers      no

#DumpSearchStr  no



icon01.giftitle07.gif

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,033 명
  • 현재 강좌수 :  35,783 개
  • 현재 접속자 :  129 명