『리눅스 학당-리눅스 강좌 / 연재 (go LINUX)』 471번 제 목:[강좌1] IRC 서버 구축 첫번째 올린이:bluefine(황보진호) 97/06/26 11:10 읽음:2393 관련자료 없음 ----------------------------------------------------------------------------- 아래에 쓰는 모든 내용은 어디든지 공개하셔도 좋고, 수정하셔도 좋습니다. 다른 곳에 올리시는 분은 저에게 메일을 주시면 고맙겠습니다. 1. IRC 란... - 기본적인 IRC 지식. 명령어는 소개 안합니다. 2. IRC 서버 설치 - 컴파일 및 인스톨 3. IRC 서버 환경 설정 - ircd.conf, ircd.motd 만들기, ircd daemon 실행 4. IRC 클라이언트 설치 - 서버에 접속하기 위한 클라이언트 설치 5. 마치며... 전남 나주에서. 황보 진호(TrueFeel) bluefine@nownuri.net truefeel@arsenel.paichai.ac.kr 97.6.26(목) ========================== 1. IRC 란... ========================== 우선 기본적인 IRC 에 대해서 얘기를 하겠습니다. IRC(Internet Relay Chaty) 가 무엇인지는 아시죠. 인터넷 채팅입니다. 88년도 핀란드의 자코 오이카리넨이란 학생이 만들어서 지금은 인터넷에서 인기있는 서비스가 되었습니다. IRC 는 서버들간의 연계가 가능합니다. 보통 통신망(여기서는 BBS)에서는 각 통신망에 있는 사람들끼리만 채팅이 가능한데 IRC 는 그렇지 않습니다. IRC 서버 끼리 연계가 되어있다면 서로 다른 서버에 접속해 있는 유저들도 같이 채팅이 가능한 겁니다. 참고로 아래는 IRC 서버들의 연계도(?) 입니다. ┌── mail.kornet.nm.kr ├── procsys.kwangwoon.ac.kr ├── geo.skku.ac.kr ├── bubble.yonsei.ac.kr irc.kornet.nm.kr ──┼── dragon.yonsei.ac.kr │ ├── cosmoas.kaist.ac.kr │ ├── bora.dacom.co.kr │ ├── orange.interpia.net │ ├── goldey.gbc.edu │ ├── hong.tower.wayne.edu │ └── irc.netizen.net │ hanabbs.com ────┬── cafe.iworld.net └── korea.usc.edu 위에서 보면 irc.kornet.nm.kr 에 접속한 유저나 cafe.iworld.net 으로 접속한 유저나 똑같은 방을 볼 수 있고, 동시에 채팅도 같이 할 수가 있습니다. ========================== 2. IRC 서버 설치 ========================== 이제 IRC 서버 구축얘기를 하겠습니다. 2-1. IRC 서버 프로그램 구하기 ftp://ftp.kornet.nm.kr/pub/Hangul/network/HanIRC/server 에서 아래의 세개 파일을 받습니다. 1. README.irc2.8.20.HAN 636 바이트 2. example.conf.han 6362 바이트 3. irc2.8.21.HAN2.tgz 316677 바이트 첫 번째 파일은 안 받으셔도 좋습니다. 두 번째 파일(example.conf.han) 은 ircd 의 환경파일인 ircd.conf 파일의 예입니다. 안에 ircd.conf 설정에 대해 한글로 설명이 되어 있습니다. 마지막 파일이 서버 프로그램입니다. 2-2. 컴파일 아무디렉토리에나 irc2.8.21.HAN2.tgz 파일을 풀고 만들어진 디렉토리로 갑니다. -------------------------------------------------------------------------- freenet:~/new# tar xvfz irc2.8.21.HAN2.tgz freenet:~/new# cd irc2.8.21.HAN2 freenet:~/new/irc2.8.21.HAN2# -------------------------------------------------------------------------- 그리고 README.HAN 과 doc/INSTALL 파일(영어임)을 읽어 보시면 설치에 도움 이 될겁니다. 꼭 읽어보세요. 1) include/config.h 부터 수정을 수정을 합니다. 디버그 모드를 쓰기를 원하신다면, #undef DEBUGMODE 을 #define DEBUGMODE 으로 지정을 하세요. 아래는 ircd 관련 파일들의 경로 지정 부분입니다. 꼭 아래와 같이 안으셔도 됩니다. ( 아래는 저의 경우입니다.) #define DPATH "/usr/local/lib/ircd" #define SPATH "/usr/local/bin/ircd" #define CPATH "/usr/local/lib/ircd.conf" #define MPATH "/usr/local/lib/ircd.motd" #define LPATH "/tmp/ircd.log" /* debug모드때 저장 파일 */ #define PPATH "/var/run/ircd.pid" DPATH = 서버를 위해 사용할 디렉토리입니다. SPATH = ircd daemon 이 있는 디렉토리를 지정합니다. 엄밀히 말하면 디렉토리와 ircd daemon 파일 CPATH = ircd daemon 의 환경파일입니다. MPATH = irc client 가 접속한 후에 보여 줄 motd(Message Of The Day) 파일 을 지정합니다. telnet 의 경우를 예로 들면, telnet 으로 접속을 할 경우 login 후에 보여주는 메시지와 같은 역할을 하는 파일이라고 생각 하시면 됩니다. LPATH = 디버그모드일 때 사용할 log 파일을 지정합니다. 디버그모드를 지정 하지 않았으면 /dev/null 을 넣으시기 바랍니다. PPATH = ircd daemon 이 실행될 때 PID 가 저장될 파일입니다. config.h 의 아래 부분은 고칠 것이 특별히 없습니다. 2) 이제 ircd/ircd.c 파일을 수정합니다. 이 것은 ircd daemon 을 root 로 실행하기 위한 것입니다. 보안을 위해 root 로 실행하기를 바라지 않을 수도 있습니다. 하지만 저의 경우 /etc/rc.d/rc.local 에서 부팅시에 바로 ircd daemon 이 실행 되도록하기 위해서 수정을 했습니다. if ((int)getuid() == 0) 을 if ((int)getuid() == 1) 으로 고치면 됩니다. 3) Makefile 파일을 수정합니다. 위의 config.h 파일에서 지정한 곳(SPATH= 에서 지정한 곳)에 'ircd' 파일이 install 되도록 하기위해서 고치는 겁니다. IRCDDIR=/usr/local/src/ircd 을 IRCDDIR=/usr/local/lib/ircd 으로 고치면 됩니다. 4) make; make install 을 합니다. make 을 하게되면 자동으로 ./Config 파일이 실행이 되고, 컴파일하기 위한 환경을 설정하게 됩니다. Which compiler do you use, gcc or cc or...? [cc] -> gcc 위의 경우만 gcc 로 하고, 나머지는 엔터만 쳐도 컴파일이 잘 됩니다. 그리고 컴파일할 때 발생하는 몇몇 경고는 무시하기 바랍니다. (경고도 없앨 수 있는 실력자(?)이면 더욱 좋겠지만...) 다 컴파일이 끝나면 make install 을 합니다. 5) 이제 맨페이지를 인스톨 합니다. 이게 참 귀찮더군요. 4 번에서 make install 하면 알아서 맨페이지도 설치 까지 해 주면 좋은데, 그렇지 못합니다. 그래서 우선 doc 디렉토리에 가서 make install 을 하시기 바랍니다. irc.1, ircd.8 맨페이지가 설치됩니다. 컴파일하는데 도움을 주신 김광욱(arsenel@arsenel.paichai.ac.kr, 나우 ID도 arsenel)님께 감사드립니다. ircd.conf 및 ircd.motd 만드는 것과 클라이언트 설치하는 것은 다음강좌에... 꿔니(fuga@ggwuni.com) [출처] IRC 서버 구축 #1 - 설치 |작성자 spacero