Daily Grind

システム開発関連の忘備録です

CentOSでIRCサーバ構築

=====================
CentOSIRCサーバ構築
=====================

2015/11/10

参考URL
■CentOS5.8(x64)でircサーバ(ngircd)を構築してチャットをやってみよう
http://assimane.blog.so-net.ne.jp/2012-11-24

■[CentOS] yum でインストールする rpm ファイルだけをダウンロードする方法
http://code.ttsoft.jp/2014/09/centos-download-package-rpm-from-yum.html

CentOSにEPELリポジトリを追加する
http://qiita.com/muniere/items/6c4923a070cbbd824f39


【環境について】

 OS:CentOS6.5 X86_64
 IRCサーバ:ngircd

0.パッケージのダウンロード
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 IRCサーバをインストールしたいサーバはインターネットにつながらないため、
 ローカルの仮想サーバにパッケージだけダウンロードし、そのパッケージを
 実環境にもっていってインストールしました。

 1~2はダウンロード用のローカル仮想環境でやっています。
 3以降はIRCを導入するサーバでの作業です。

1.リポジトリの追加
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ngircdはデフォルトのリポジトリにはないのでリポジトリ(epel)の追加をします。

[root@localhost tmp]# wget http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm


 ダウンロードしたrpmをインストールします。

[root@localhost tmp]# rpm -ivh epel-release-6-8.noarch.rpm

2.パッケージのダウンロード
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 パッケージをダウンロードします。(/tmpにパッケージをダウンロードします)

[root@localhost tmp]# yum --enablerepo=epel install --downloadonly --downloaddir=/tmp ngircd

 ※ngircd-21.1-5.el6.x86_64.rpmとlibident-0.32-4.el6.x86_64.rpm(←依存しているパッケージ)がダウンロードされる

 IRCを導入するサーバがネットワークにつながらないので、ダウンロードしたパッケージを実環境へコピーします。


3.パッケージのインストール
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 2でダウンロードしたパッケージを、IRCを導入する実サーバにコピーします。

 パッケージをインストールします。

[root@test10-centos65 irc]# yum localinstall libident-0.32-4.el6.x86_64.rpm  ngircd-21.1-5.el6.x86_64.rpm

 ※ネットワークにつながる場合はyumでそのままインストールします。(リポジトリはepelを指定)
[root@test10-centos65 irc]# yum --enablerepo=epel install ngircd

4.ngircdの設定
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 設定ファイルを編集します。

[root@test10-centos65 irc]# cp -p /etc/ngircd.conf /etc/ngircd.conf.org
[root@test10-centos65 irc]# vi /etc/ngircd.conf

  以下のような感じで修正しました。(Listenのとこだけ修正するだけでもOKです)

  31行目(接続するためのパスワード)
  前       ;Password = abc
  後       Password = (使いたいパスワード)
  ---
  47行目(リッスンするIPアドレス)
  前       Listen = 127.0.0.1
  後       Listen = 0.0.0.0
  ※0.0.0.0にしないと、ポート(6667)が開かないらしい
  ---
  55行目(接続時のメッセージ)
  前       ;MotdPhrase = "Hello world!"
  後       MotdPhrase = "Hello world!"
  ---
  114行目(MAX接続数)
  前       ;MaxConnections = 0
  後       MaxConnections = 100
  ---
  118行目(同一IPの接続数)
  前       ;MaxConnectionsIP = 5
  後       MaxConnectionsIP = 10
  ---
  216行目(チャンネルのMAXユーザ数)
  前       ;MaxUsers = 23
  後       MaxUsers = 100

  ※ポートではデフォルトの6667にしています。
  
  
5.ngircdの起動
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ngircdを起動します。

[root@test10-centos65 irc]#  /etc/rc.d/init.d/ngircd start

  LimeChatから接続してみましょう。

6.ngircdの自動起動
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  接続が良好であれば、自動起動を設定します。

[root@test10-centos65 irc]#  chkconfig ngircd on
[root@test10-centos65 irc]#  chkconfig --list ngircd
                        ngircd          0:off   1:off   2:on    3:on    4:on    5:on    6:off