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]