CentOS7 에 webalizer 설치 및 설정 그리고 GeoDB, GeoIP 같이 설치

"CentOS 7"에 webalizer 설치 방법입니다.

사전 준비

webalizer를 설치하기전에 필요한 라이브러리들은 미리 설치를 해야한다.(이미 설치되어 있으면 그냥 통과)

사전 설치 파일




  • zlib-devel
  • libpng-devel
  • libgd-devel
  • libdb-devel
  • libbz2-devel
  • GeoDB
  • GeoIP

  • zlib-devel 설치

    데이터의 송수신에 압축을 사용하는 라이브러리이다. 아래와 같이 설치하자.
    # yum install zlib-devel
    

    libpng-devel 설치

    PNG 이미지를 웹상으로 만들어주는 라이브러리이다. 
    "libpng-devel"을 "yum"으로 설치
    # yum install libpng-devel
    

    libgd-devel 설치

    사진 이미지를 동적으로 조작하기위한 라이브러리 인 "gd" 와 "gd-devel"  설치
    # yum install gd gd-devel
    

    libbz2-devel 설치

    bzip2의 암호화 알고리즘인 'bzip2-devel " 설치
    # yum install bzip2-devel
    

    libdb-devel 설치

    libdb 라이브러리 인 "libdb-devel" 설치
    # yum install libdb-devel
    

    GeoDB 설치

    webalizer의 GeoDB 데이터베이스파일을 다운로드 받습니다.
    이건 정보파일이라 "yum"을 통해 설치하는게 아니므로 아래와 같이 그낭 다운로드만 받아서 해당디렉토리로 복사하기만 하면됩니다.

    다운로드

    # wget ftp://ftp.mrunix.net/pub/webalizer/geodb/geodb-latest.tgz
    

    압축풀기 · 이동

    # tar xzfv geodb-latest.tgz
    
    압축을 풀면 "GEODB.README" "GeoDB.dat"가 나온다.
    "GEODB.README"에도 설명이 되어있지만, "/usr/share/GeoDB"에 "GeoDB.dat"을 넣으면 됩니다.
    "/usr/share/GeoDB"는 디렉토리를 만들어야 한다.
    # mkdir /usr/share/GeoDB
    # cp -p GeoDB.dat /usr/share/GeoDB
    

    GeoIP 설치

    IP에 의한 국가 정보 분석에 사용하는 "GeoIP" "GeoIP-devel"를 설치합니다.
    # yum install GeoIP GeoIP-devel
    

    webalizer 설치

    필요 라이브러리 설치가 끝났으면 이제 "webalizer"를 설치하자.
    # yum install webalizer

    초기 설정

    설정 파일 "/etc/webalizer.conf"가 생성되며, 설정은 아파치의 로그파일을 가지고 하게되며, 아파치 로그파일을 사이트별로 만들었다면, 사이트별로 webalizer.conf 파일을 만들어 줘야한다.
    # cp -p /etc/webalizer.conf /home/계정/webalizer.conf
    # vi webalizer.conf
    

    설정 파일 이름

    설정 파일 이름은 "webalizer.conf"로 했지만, 가상 호스트를 사용하거나 여러사이트를 분석하려면 분석 로그만큼 설정 파일을 작성한다.

    webalizer.conf  에서 필요한 설정에 대해서 알아보자.

    설정

    "webalizer.conf"의 설정중 가장 중요한 건 아래 2가지이다.
    LogFile분석 할 로그 파일을 지정(아파치 로그파일)
    OutputDirwebalizer가 작성한 로그 분석 파일을 저장할 경로(웹으로 접근이 가능해야함)
    LogFile 설정
    아래는  "/var/log/httpd/access_log '를 분석할 경우의 webalizer.conf 파일의 예
    LogFile /var/log/httpd/access_log
    
    OutputDir 설정
    아래는 분석한 디렉토리를  "/var/www/html/usage"에 넣을 경우이다. 만약 분석한 파일을 가상호스트의 특정디렉토리로 넣어서 확인할 수도있다. 물론 디렉토리는 미리 만들어둔다.
    예)  /home/사용자/public_html/usage
    OutputDir /var/www/html/usage

    보고서 작성

    "webalizer"는 상주하는 데몬이 아니기에 분석파일을 보고싶을때 마다 수동으로 실행을 해줘야 분석이 된다. 따라서 하단에도 나오듯이 크론에 넣어서 실행하는것을 추천한다.

    실행방법

    # /usr/bin/webalizer -c webalizer.conf
    

    결과 확인

    "webalizer"는 "OutputDir"에서 설정 한 디렉토리에 생성된다
    # cd /var/www/html/usage/    <- OutputDir에 설정된 디렉토리로 이동
    # ls -l
    총 9
    drwxr-xr-x 2 root root 4096 11 월 26 03:08.
    drwxr-xr-x 5-root root 47 11 월 23 17:16 ..
    -rw-r - r-- 1 root root 2303 11 월 26 03:08 ctry_usage_201511.png
    -rw-r - r-- 1 root root 2764 11 월 26 03:08 daily_usage_201511.png
    -rw-r - r-- 1 root root 1786 11 월 26 03:08 hourly_usage_201511.png
    -rw-r - r-- 1 root root 3663 11 월 26 03:08 index.html
    -rw-r - r-- 1 root root 2205 11 월 26 03:08 usage.png
    -rw-r - r-- 1 root root 49618 11 월 26 03:08 usage_201511.html
    -rw-r - r-- 1 root root 2870 11 월 26 03:08 webalizer.hist
    
    index.html 파일이 생성된 것을 알 수 있다.

    apache 설정

    "OutputDir"에서 설정 한 디렉토리가 웹에서 접근 가능하도록 apache 를 설정한다.

    동작 확인

    아래와 같은 화면이 보인다면 정상적으로 완료


    webalizer를 cron에 등록

    성공적으로 보고서가 작성되는 것을 확인할 수 있으면, 이번에는 'cron'에 등록하고 "webalizer"정기적으로 보고서를 만들수있도록 하자.
    이번 root 사용자의 "crontab"에 등록하는 방법과 "/etc/cron.d"에 등록하는 방법 두 가지가 있겠다.

    root의 crontab에 등록

    root 사용자의 crontab에 등록하는 방법
    root 권한으로 "crontab -e"명령을 실행하여 root 사용자의 crontab의 설정을 할수있다

    crontab 설정

    # crontab -e
    
    설정 예
    매일 0:00 분에 로그 분석을 할 경우에는 cron 설정 예입니다.
    00 0 * * * /usr/bin/webalizer -c /경로/webalizer.conf
    

    /etc/cron.d에 등록

    "/etc/cron.d"디렉토리에 설정 파일을 작성하여 등록 할 수 있습니다.

    설정 파일 생성

    이번에는 "webalizer"라는 파일을 생성합니다.
    # vi /etc/cron.d/webalizer
    

    설정 예

    아래의 예는 매일 0:00에 webalizer에서 보고서를 분석하기위한 설정 예입니다.
    #
    # cron-jobs for webalizer
    #
    
    MAILTO = root
    
    WEBALIZER = /usr/bin/webalizer
    CONF = /경로/ webalizer.conf
    
    00 0 * * * root $WEBALIZER -c $CONF

    댓글 없음:

    댓글 쓰기