IRC 사용자가 극히 드물어진 요즘, 딱히 IRC 클라이언트 사용법을 배워서 IRC를 이용해야 할 장점이 없는 것이 사실입니다. (물론 비공개 트래커라던지 매니아들의 전문 채널들은 아직도 IRC가 주류입니다.) 특히나 개인서버에서 어렵게 IRC 데몬을 설치하더라도 같이 접속해서 채팅을 할 친구들에게 IRC 클라이언트 사용법을 배우라는 것은 컴퓨터에게 관심이 없는 이들에게 또다른 일거리만 될 뿐입니다.

이런 문제는 IRC의 인기가 줄어들고 웹에서 편하게 사용할 수 있는 채팅툴의 등장으로 더더욱 심해지고 있습니다. 외국에서도 이때문에 웹IRC 서비스[1] 가 나올 정도입니다. 배너를 보는 조건으로 무료로 사용이 가능하고 여러가지 기능이 있다는 장점이 있는 반면, 외국에 있는 서버를 통해 접속을 하기 때문에 IRC 접속 속도도 늦고 서버에 문제가 생기면 무한정 복구될 때가지 기다려야 하는 불편함이 있습니다. 실제로 몇 달간 사용해 본 결과 기능은 무척 강력하고 여러가지 커스터마이징도 가능합니다만 잦은 서버 다운과 이유모를 핑지연으로 자체적으로 웹IRC를 설치해보기로 하였습니다.

웹IRC 프론트 앤드에는 몇 가지가 있습니다만 가장 많이 알려지고 사용되는 것에는 CGI:IRC와 qwebirc이 있습니다. CGI:IRC는 프로그램 이름에도 있듯이 CGI로 이루어져 설치도 간편하고 빠른 실행 속도를 가지고 있습니다만 일부 명령어가 리눅스에서만 작동하기 때문에 cygwin을 이용하거나 가상머신으로 리눅스에서 구동하여야 합니다. 실제로 CentOS에 설치를 하여 작동해보았습니다만 개발이 오래전에 중단되어서인지 실행은 가능하나 현재의 브라우저에서 정상적인 동작이 되지 않았습니다.

이제 본격적으로 소개할 qwebirc는 Python으로 이루어져 있으며, 윈도우와 리눅스 모두 작동이 가능합니다. 다만 조건이 Python이 설치되어 있어야 하고 여러 모듈도 구성이 되어 있어야 한다는 점입니다. 여기서는 윈도우에서 qwebirc를 설치하는 것으로 작성하겠습니다. (리눅스에서 python을 설치하는 것은 구글링만 해도 무수히 많이 나와 있으며 qwebirc 자체로도 설명이 잘 되어 있습니다.)

프로그램 버전은 이 포스트가 작성되는 2010년 10월 22일 기준으로 작성합니다.

먼저 qwebirc의 홈페이지에서 qwebirc stable 버전을 다운로드 합니다. 그리고 본인의 홈페이지 루트 밑에 본인이 원하는 디렉토리명으로 압축을 해제 합니다. 여기서는 c:/htdocs/qwebirc/에 압축 해제하였다고 가정하겠습니다. 그 다음에 가장 중요한 Python을 설치하여야 합니다. qwebirc를 구동하기 위해서는 Python 버전이 2.5 이상이 되어야 합니다. 홈페이지에 여러 버전이 있습니다만 32비트 2.6 버전 인스톨러를 다운로드 합니다. 2.6 버전을 선택한 이유는 이후 설치할 Twisted와 Zope interface 모듈 때문입니다. Python 다운을 완료하였으면 pywin32 다운로드 페이지로 이동하여 pywin32를 다운로드 합니다 여러 가지 버전중 pywin32-214.win32-py2.6.exe를 다운합니다. 그리고 이제 Twisted를 다운로드 합니다. 홈페이지에 Twisted 10.1.0 for Python 2.6 (exe)를 다운로드 합니다. 그리고 이 곳으로 이동하여 Zope.interface를 검색합니다. 그럼 Python 버전 및 64비트와 32비트 버전으로 여러 다운로드가 있습니다만 Twisted 때문에 Python 2.6 32비트 버전을 설치했으므로 Zope.interface도 동일한 32비트 Python 2.6 버전용을 다운로드 합니다.

그러면 이제 설치를 시작합니다. 설치 순서는 Python – Twisted – Zope.interface – pywin32 순입니다. Python 설치시 지정한 경로에 Twisted와 Zope.interface를 설치합니다. 만약 변경하지 않고 그대로 인스톨하였다면 Twisted, Zope.interface, pywin32도 그대로 클릭하여 설치하면 됩니다. 모두 설치하였으면 이제 qwebirc를 설정할 준비가 되었습니다.

이제 제일 처음에 압축 해제 하였던 qwebirc 디렉토리로 이동합니다. 그리고 config.py.example을 config.py로 복사하고 편집기로 열어 아래의 두 곳을 본인의 서버에 맞게 수정합니다. 다른 옵션들은 반드시 설정이 필요한 것은 아니므로 설명은 생략합니다.

# IRC OPTIONS

# ———————————————————————
#
# OPTION: IRCSERVER
#         Hostname (or IP address) of IRC server to connect to.
# OPTION: IRCPORT
#         Port of IRC server to connect to.
IRCSERVER, IRCPORT = “irc.myserver.com”, 6667 본인의 ircd 도메인과 포트를 기재합니다.

# OPTION: REALNAME
#         The realname field of IRC clients will be set to this value.
REALNAME = “http://moo.com/qwebirc의 주소를 기재합니다. 예를 들어 http://mydomain.com/qwebirc

config.py의 수정이 완료 되었으면 이제 커맨드 프롬프트로 접속하여 compile.py를 실행합니다. 그럼 이제 config.py의 내용에 맞게 각종 파일들이 생성됩니다. 만일 모든 모듈이 제대로 설치되어 있지 않다면 compile.py 실행중 에러가 발생합니다. 그러므로 위의 패키지를 반드시 모두 설치하여야 합니다. compile이 제대로 실행되었으면 이제 run.py를 실행합니다. 이 run.py 실행창은 항상 열려있어야 합니다. 시작 프로그램에 run.py의 링크를 생성해주면 서버 구동시 자동으로 qwebirc가 구동됩니다.

에러없이 모든 설명대로 끝마쳤다면 http://mydomain.com:9090/ 으로 접속해봅니다. 모든 설정이 제대로 되었다면 아래와 같이 qwebirc의 초기 화면이 나옵니다. 이제 아이디와 본인이 들어갈 채널을 입력하고 접속을 하여 최종적으로 확인을 합니다. 마지막으로 qwebirc는 UTF-8만을 지원합니다. 그러므로 mIRC나 X-chat 등 외부 클라이언트를 사용하는 사용자와 qwebirc 사용자가 서로 한글을 사용하기 위해서는 IRC 클라이언트 프로그램에서 UTF-8로 설정하여 사용해야 합니다.

실제로 제 서버에 설치한 qwebirc 입니다. 실제 속도와 기능을 확인하시려면 이 곳에서 테스트 해보시기 바랍니다.

  1. 광고를 보면 무료로 사용할 수 있으며, IRC 스크립트를 자체 인터페이스로 흡수해 글자색, 크기, 번역, 링크기능등 일반 웹채팅과 거의 동일한 기능을 가지고 있습니다. [back]

웹서버 운영시 본인의 도메인의 분석을 위해 보통 아파치 로그를 기반으로한 Webalizer, AWStats 웹로그 분석툴을 사용하게 됩니다. 설치형 외에 이런 웹페이지 분석을 도와주는 훌륭한 무료 웹서비스를 Google이 제공하고 있습니다. Google Analytics가 바로 그 서비스인데 이 서비스는 간단한 스크립트 삽입만으로 아주 자세한 웹분석 보고서를 보여줍니다. (HTML에 삽입하는 형식이기 때문에 모든 웹페이지에서 사용할 수 있습니다.) 서비스는 구글 계정을 가지고 있는 누구나 이용할 수 있으며 무료로 제공되고 있습니다.

이제 간단한 사용법에 대해 알아보겠습니다. 먼저 Google Analytics 홈페이지로 접속을 하고 구글 계정으로 로그인 합니다.

작동에 있어서 가장 중요한 페이지 입니다. 서브 도메인이 존재하지 않는다면 단일 도메인을 선택하고 2번 항목에 생성된 스크립트 코드를 본인의 홈페이지에서 반복되는 페이지의 <BODY> 사이의 적당한 곳에 붙여넣습니다. 반복되는 페이지가 없다면 분석하고 싶은 도메인의 모든 페이지에 이 코드를 붙여넣어야 합니다. (WordPress는 플러그인이 존재하므로 이를 이용하면 간편합니다.)

설치가 완료된 후 대시보드를 보면 상태에 느낌표 표시가 보이게 됩니다.

코드를 올바른 위치에 붙여넣었다면 수 시간 후에 스크린샷과 같이 녹색의 체크 아이콘을 볼 수 있습니다.

녹색 아이콘이 보이면 제대로 작동하고 있다는 뜻이며 이제 분석 서비스를 이용할 수 있습니다. 보고서 보기를 클릭하면 도메인에 대한 자세한 분석 페이지를 볼 수 있습니다.

유입경로는 물론 트래픽, 접속 국가, 방문자 수, 베스트뷰 페이지등등 매우 다양한 분석 서비스를 받을 수 있으며 목표관리, 보고서 기능, Google Adsense를 위한 최적화 분석등 부가 서비스도 훌륭합니다.

AWStats는 주로 Apache 로그 분석에 사용되지만 Apache 로그외에도 FTP 로그, 스트리밍 로그 및 메일서버 로그 또한 분석이 가능합니다. hMailServer는 이를 위해 자체적으로 AWStats용 로그를 생성하도록 옵션이 존재하며 약간의 설정으로 AWStats에서 사용할 수 있습니다. 이 포스트에서는 hMailServer 5.3.2 build 1769, AWStats 6.95 버전을 기준으로 설정법을 간략히 알아보겠습니다. hMailServer의 설치는 여기, AWStats의 설치는 여기를 참고하시기 바랍니다.

먼저 hMailServer에서 AWStats용 로그를 생성하도록 설정을 합니다. hMailServer 관리자로 접속하여 Settings-Logs에서 아래의 스크린샷과 같이 AWStats 로그를 선택합니다.

이제 AWStats에서 hMailServer 분석을 위한 설정파일을 생성하고 아래의 사항을 수정합니다.

LogFile=”c:/hMailServer/logs/hmailserver_awstats.log” hMailServer의 AWStats용 로그 파일 경로를 입력합니다.

LogType=M

LogFormat=”%time2 %email %email_r %host %host_r %method %url %code %bytesd

LogSeparator=”\t

SiteDomain=”mail.mydomain.com” 본인의 메일 서버 도메인명을 입력합니다.

DirData=”c:/AWStats/data” 분석결과가 저장될 디렉토리 경로

AllowToUpdateStatsFromBrowser=1

ShowEMailSenders=1

ShowSMTPErrorsStats=1

설정을 저장 후 웹페이지로 접속하여 작동을 확인합니다.