새소식

Server

Ubuntu에서 Docker를 이용한 IRC 서버 구축

  • -

IRC란?

Internet Relay Chatting의 약자로, 특정 topic을 가지고 사용자끼리 대화를 할 수 있습니다.

Installation

먼저 방화벽에서 6667, 6697, 7000, 7001 포트를 열어줍니다.

iptables -I INPUT 1 -p tcp --dport 6667 -j ACCEPT
iptables -I INPUT 1 -p tcp --dport 6697 -j ACCEPT
iptables -I INPUT 1 -p tcp --dport 7000 -j ACCEPT
iptables -I INPUT 1 -p tcp --dport 7001 -j ACCEPT

 

또는 서버 방화벽 (보안 그룹) 페이지에서 해당 포트를 열어줄 수 있습니다.

sudo apt install docker
sudo apt install certbot
sudo apt install screen

 

도커, 인증서 발급 패키지, 백그라운드 실행 패키지를 설치합니다.

인증서 발급

IRC 서버를 운영하기 위해서는 인증서가 필요합니다.

sudo certbot certonly --standalone -d <domain>

도커 세팅

이제 도커를 이용해서 서비스를 시작해봅시다.

mkdir irc
cd irc
touch docker-compose.yml
mkdir config

 

 

docker-compose.yml 을 아래와 같이 작성합니다.

version: "3.5"
services:
    irc:
        container_name: irc_server
        image: inspircd/inspircd-docker:2.0.27
        ports:
            - "6667:6667"
            - "6697:6697"
        environment:
            - INSP_NET_SUFFIX=.irc.your.domain.com
            - INSP_ADMIN_NAME=
            - INSP_ADMIN_NICK=
            - INSP_ADMIN_EMAIL=
        volumes:
            - ./config:/inspircd/conf/

인증서 적용

sudo cp /etc/letsencrypt/live/<도메인>/fullchain.pem ./config/cert.pem
sudo cp /etc/letsencrypt/live/<도메인>/privkey.pem ./config/key.pem
sudo chown 10000 ./config/ -R

서비스 시작

screen -S irc
docker-compose up

 

Ctrl + A, D 를 눌러서 screen 에서 나옵니다.

screen -r

 

screen 에 들어갈 때는 위의 명령을 사용하면 됩니다.

IRC 서버 접속 방법

irc 클라이언트 중 하나인 irssi 를 사용하겠습니다.

sudo apt install irssi
irssi

 

irssi 가 실행이 되면 자신의 서버에 접속할 수 있습니다.

/connect -tls <도메인> 6697
/join <채널>

 

일일이 접속할 때 마다 위의 명령을 쳐야하기 때문에 zshrc 에 등록해줘도 됩니다.
아래의 명령어를 ~/.zshrc 파일 끝에 추가합니다.

alias irc='irssi -c <도메인> -n <닉네임>'

motd 변경

MOTD 란 Message Of The Day 의 약자로 IRC 서버에 접속할 때 보여주는 문자열입니다.
주로 서버 소개, 규칙 등을 적어놓습니다.

screen -r
cd config

 

이후 docker.motd 파일을 수정해서 사용하면 됩니다.

                        _        _
 ___  ___  ___ _ __ ___| |_     (_)_ __ ___
/ __|/ _ \/ __| '__/ _ \ __|____| | '__/ __|
\__ \  __/ (__| | |  __/ ||_____| | | | (__
|___/\___|\___|_|  \___|\__|    |_|_|  \___|



👋 환영합니다!

이곳은 Devleo 가 운영하는 비밀 IRC 서버입니다.

가볍고 빠른 성능의 IRC 서버에서 쾌적한 채팅을 경험하세요!

채팅 채널을 소개합니다.

#general: 잡담
#develop: 개발 관련
#hacking: 해킹 관련

 

2022년 1월 25일에 작성한 글입니다.
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.