Anope with UnrealIRCd on Windows
UnrealIRCd를 설치하였다면 기본적인 IRC 기능을 사용하는데는 큰 무리가 없습니다. 그러나 채널 및 닉네임의 설정 유지와 관리등을 위해서는 부가적으로 IRC 서비스라 불리는 확장기능들이 필요합니다.[1] 이를 지원하는 여러 프로그램이 있으나 그 중에서 업데이트도 꾸준하고 기능도 막강한 Anope을 UnrealIRCd와 연동하여 설치해 보도록 하겠습니다.[2] 참고로 Anope은 Linux용도 있으며, 현존하는 대부분의 IRC Daemon을 지원합니다.
이 포스트를 작성하는 현재 Anope의 최신버전은 1.8.4이며 다운로드는 여기에서 받을 수 있습니다. (UnrealIRCd의 버전은 3.2.8.1을 기준으로 설명하겠습니다.) 다운로드 후에는 먼저 설치를 합니다. 설치과정은 매우 간단하므로 생략하겠습니다. 설치 후에는 설치된 디렉토리의 /data로 이동하여 example.conf를 동일 디렉토리에 services.conf로 복사합니다. Anope의 설정을 전에 UnrealIRCd의 설정부터 바꾸어 주어야 합니다.
먼저 UnrealIRCd의 unrealircd.conf부터 수정을 하도록 하겠습니다. 구문을 찾아가며 수정을 하면 됩니다. (본인의 설정과 조금 다를 수 있으니 잘 살펴보시기 바랍니다.)
{
options
{
};
};
listen *:8000; 통신포트를 하나 더 지정해줍니다. 포트번호는 본인이 원하는 포트로 타 프로그램과 중복되지 않도록 주의합니다.
주석처리가 되어 있던 아래의 구문을 주석 해제하고 수정합니다.
{
username *;
hostname 1.2.3.4; 127.0.0.1을 입력합니다.
bind-ip *;
port 8000; 위에서 지정한 포트와 동일하게 입력합니다.
hub *;
password-connect “PASSWORD”; 임의의 패스워드를 입력하고 기억합니다.
password-receive “PASSWORD”; 위와 같은 패스워드를 입력합니다.
class servers;
options {
/* Note: You should not use autoconnect when linking services */
autoconnect; 삭제합니다.
ssl; 삭제합니다.
zip; 삭제합니다.
};
};
제일 중요한 설정입니다. 아래의 구문을 찾아 정확히 입력합니다. (uline이 잘못 설정된 경우 닉네임과 관련된 여러기능이 작동하지 않습니다.)
services.roxnet.org; service.mydomain.com의 형식으로 입력합니다.
stats.roxnet.org; stats.mydomain.com의 형식으로 입력합니다.
};
아래의 구문을 찾아 다음과 같이 수정합니다.
network-name “ROXnet”; 클라이언트 접속시 보여질 IRC의 명칭
default-server “IRC.roxnet.org”; IRC 접속 주소
services-server “services.roxnet.org”; 위에서 입력한 service.mydomain.com
stats-server “stats.roxnet.org”; 위에서 입력한 stats.mydomain.com
help-channel “#ROXnet”; 헬프채널의 이름 #help 등등
hiddenhost-prefix “rox”;
}
여기까지 수정을 끝마쳤으면 저장을 하고 종료합니다.
이제 Anope 디렉토리로 이동하여 처음에 복사한 services.conf 파일을 열어 수정을 합니다. 각 섹션별로 반드시 수정해야 되는 부분만 표시하였습니다. 형광색 부분을 빨간글씨로 표기된 대로 수정합니다.
#
# IRCD configuration
#
###########################################################################
# IRCDModule <module_name> [REQUIRED]
# The ircd protocol module should be used when connecting anope to your
# chosen IRCD. This should be one of the following options, or a file
# provided by your IRCD author.
#
# Bahamut 1.4.27 [or later] – “bahamut”
# Charybdis 1.0 [or later] – “charybdis”
# DreamForge 4.6.7 – “dreamforge”
# Hybrid IRCd 7.0 [experimental] – “hybrid”
# InspIRCd 1.1 [beta 8 or later] – “inspircd11”
# InspIRCd 1.2 [RC3 or later] – “inspircd12”
# Plexus 3.0 [or later] – “plexus3”
# Plexus 2.0 [or later] – “plexus2”
# PTLink 6.15.0 [experimental] – “ptlink”
# RageIRCd 2.0.x – “rageircd”
# Ratbox 2.0.6 [or later] – “ratbox”
# ShadowIRCD 4.0x [beta 7 or later] – “shadowircd”
# Solid IRCD 3.4.x [3.4.6 or later] – “solidircd”
# UltimateIRCd 3.0.0 [or later] – “ultimate3”
# UltimateIRCd 2.8.2 [or later] – “ultimate2”
# Unreal 3.2 [beta-19 or later] – “unreal32”
# Unreal 3.1.1 [or later] – “unreal31”
# ViagraIRCd 1.3.x [or later] – “viagra”
#
#IRCDModule “unreal32” #를 제거하여 주석을 해제합니다.
#
# Remote server configuration
#
###########################################################################
# RemoteServer <hostname> <port> <password> [REQUIRED]
# Specifies the remote server hostname and port. The hostname may
# either be a standard Internet hostname or dotted-quad numeric
# address; the port number must be an integer between 1 and 65535
# inclusive. The password is a string which should be enclosed in
# double quotes if it contains any spaces (or just for clarity).
#
# The remote server and port may be overridden at runtime with the
# -remote command-line option. The password may not be set at runtime.
#
# If services can’t connect to the RemoteServer, they will try
# RemoteServer2 (if defined). If they can’t connect to RemoteServer2,
# they will use RemoteServer3 (if defined).
RemoteServer localhost 6667 “mypass”
RemoteServer 127.0.0.1 8000 “PASSWORD”
localhost를 127.0.0.1로 변경 6667을 unrealIRCd에서 설정한 포트로 변경 (예제에서는 8000), PASSWORD는 위에서 입력한 패스워드를 동일하게 입력합니다.
#RemoteServer2 localhost 6667 “mypass”
#RemoteServer3 localhost 6667 “mypass”
#
# Services identification and pseudoclient names
#
###########################################################################
# ServerName <name> [REQUIRED]
# Specifies the IRC server name which Services should use. May be
# overridden by the -name command-line option.
ServerName “services.localhost.net” 위에서 입력한 services.mydomain.com 형식으로 입력합니다.
# ServerDesc <text> [REQUIRED]
# Specifies the text which should appear as the server’s information in
# /whois and similar queries. May be overridden by the -desc
# command-line option.
ServerDesc “Services for IRC Networks” 서비스에 대한 설명. 원하는대로 입력합니다.
# ServiceUser <usermask> [REQUIRED]
# Specifies the user@host mask which should be used by the Services
# pseudoclients. May be overridden by the -user and -host command-line
# options.
ServiceUser “services@localhost.net” 서비스 공급자의 이메일을 입력합니다.
#
# Basic functionality
#
###########################################################################
# UserKey1|2|3 <value> [RECOMMENDED]
#
# These keys are required to initiate the random number generator. These
# numbers MUST be random as you want your passcodes to be random. Don’t
# give these keys to anyone! Keep them private!
#
# *** NOTE ***
# If you don’t enable these, or keep their default values, any talented
# programmer would be able to easily “guess” random strings used to mask
# information. Be safe, and come up with three different 7 digit numbers
#UserKey1 9866235 3줄 모두 주석해제 후 7자리의 임의의 숫자 입력합니다.
#UserKey2 8362013
#UserKey3 2362899
#
# Mail-related options
#
###########################################################################
# NOTE: if UseMail is not set, all parameters after it in this section
# are optional.
# UseMail [OPTIONAL]
#
# This option enables the mail commands in Services. You may choose
# to disable it if you have no sendmail-compatible mailer installed.
# This setting is [REQUIRED] if NSEmailReg is enabled.
UseMail 메일서버가 설정되어 있지 않다면 첫머리에 #를 입력하여 주석처리합니다.
# SendMailPath <path> [REQUIRED]
#
# This is how we should call SendMail to send a mail. It must be
# called with all parameters needed to make it scan the mail input
# to find the mail recipient; consult your SendMail documentation.
#
# Postfix users must use the compatible sendmail utility provided
# with it; this one usually needs no parameters on the command line.
# Most sendmail applications (or replacements of it) require the -t
# option to be used.
SendMailPath “/usr/sbin/sendmail -t”
# SendFrom <e-mail> [REQUIRED]
#
# This is the e-mail from which all the e-mails are to be sent. It should
# really exist.
SendFrom services@localhost.net 위에서 입력한 서비스 공급자의 이메일 주소
#
# OperServ configuration
#
###########################################################################
# ServicesRoot <nicks> [REQUIRED]
# Specifies the Services “super-users”. The super-users, or “roots” as in
# Unix terminology, are the only users who can add or delete Services
# admins.
#
# You can specify more than one nick by separating each one by a space.
#
# This is commented out by default; make sure you insert the correct
# nick before uncommenting it.
#ServicesRoot “dengel anope” #를 제거하여 주석을 해제하고 Root 권한을 가질 닉네임을 입력합니다.
수정을 완료하였으면 저장 후 Anope을 실행합니다. 실행이 되지 않는다면 data/logs 디렉토리에서 service.log 파일을 열어 에러 메세지를 확인 후 수정하세요. 이곳에 소개된 설정은 구동하기 위한 최소한의 설정법입니다. 이 외의 설정은 주석을 참고하여 본인의 용도에 맞게 설정을 해주면 됩니다. Anope이 제대로 구동이 된다면 클라이언트로 접속하여 아래와 같이 여러 서비스 봇을 사용할 수 있게 됩니다.
각 서비스 봇의 사용법은 여기에서 알 수 있습니다. 서비스 봇들을 사용하면 채널 설정 유지 및 닉네임 등록, 자동 옵/보이스 주기, 호스트등록 및 관리 등등 편리한 기능들을 사용할 수 있습니다.
- UnrealIRCd에서 Anope alias 설정하기 (May 13, 2010 | Match 47%)
UnrealIRCd에서 Anope을 사용한다면 서비스 명령어들을 조금 더 간편하게 사용할 수 있도록 alias 설정이 가능합니다.[1] 설정은... - UnrealIRCd Configuration on Windows (April 27, 2010 | Match 36%)
Windows용 IRC Daemon중에 가장 널리 이용되는 UnrealIRCd의 설정에 대해 알아보겠습니다. 최신 버전의 다운로드는 여기에서 받을... - qwebirc installation on Windows (October 22, 2010 | Match 11%)
IRC 사용자가 극히 드물어진 요즘, 딱히 IRC 클라이언트 사용법을 배워서 IRC를 이용해야 할 장점이 없는...