Fusionの提供するAsteriskクローズドβパッチをあててインストールするまでのメモを残しときます。
用意するもの
- CentOS 5 (ネットインストール用)
- Asterisk 1.4.26.3
- chan_sip-1.4.26.3(FUSIONで使えるようにするパッチ)
パッチが必要な方は↓より申し込んでください。
とりあえずサーバ機は自社の販売促進に使っている中古パソコン
DVDが読めないのでcentosはネットインストールのものを選んでみた。
■CentOSのインストール
CentOS-5.4-i386-netinstall.iso ←ここからイメージをダウンロード
ディスクに焼いたら起動しましょう。
なんかFTPとかHTTPとか選ぶところが出てきたら迷わずに「FTP」を選択!
FTPのサイトは理研が速くてすてき★
サイト:ftp.riken.jp/ディレクトリ:/Linux/centos/5/os/i386
GUIでインストールしようとするとなぜか固まるのでText Modeのままインストール
インストールするソフトとかを選ぶところにきたら欲しいものを選んでおきましょう。
インストールが始まると10分後ぐらいから進展が見え始める
全部で30〜40分ほどか書くみたいなんで、お茶でも飲みながら気長に待ちましょう。
■下準備
ごちゃごちゃならないようにディレクトリを作って移動しておく。
mkdir acd a
まず先に
yum update
でシステムをアップデートしておく。
次にいろいろコンパイルしてくのに必要な子達をインストール
yum install gcc gcc-c++ kernel-devel ncurses-devel
直接入力したりするのもめんどくさいので、
パソコンを2台お持ちの方はSSHをインストールしておい他方が、
コピペでペペッっとインストールできるので便利
yum install ssh
(FUSIONのパッチを使わない人や外部に公開したり外線につないでhogehogeしない人はスキップ)
FUSIONのパッチを割り当てて使う方はISPにGOLを使わないと逝けないってのと
NATの設定ヤらをいじるのはめんどくさいのでrp-pppoeを使ってpppoeのセッションを直接してしまう。
(Asteriskのインストール後じゃなぜかうまく逝かなかったからここら辺でしておくのが先決?)
tar zxvf rp-pppoe-3.10.tar.gzcd rp-pppoe-3.10/src./configuremakemake install
おわったら早速設定をしてしまう。
adsl-setup>>> Enter your PPPoE user name (default bxxxnxnx@sympatico.ca) : xxxx@xxxx.xxx.xx [Enter] ---- xxxx@xxxx.xxx.xxはプロパイダから指示されたPPPoE接続名::INTERFACE::>>> Enter the Ethernet interface connected to the ADSL modemFor Solaris, this is likely to be something like /dev/hme0.For Linux, it will be ethn, where 'n' is a number.(default eth0): eth1 [Enter] --- PPPoEで接続するイーサネットインターフェース::>>> Enter the demand value (default no): [Enter] ---- 自動切断の時間。通常はno::>>> Enter the DNS information here: [Enter] --- ネームサーバを指定。/etc/resolv.confで指定してある場合はここでの指定は不要::>>> Please enter your PPPoE password: xxxxx [Enter] --- PPPoEの接続のパスワード::>>> Choose a type of firewall (0-2): 2 [Enter] --- ファイヤーウォールとして設定するなら2、ファイヤーウォールの設定が不要なら0、単独でこのマシンだけをPPPoEで接続するなら1.** Summary of what you entered **::Ethernet Interface: eth1User name: xxxxx@xxxx.xxx.xxActivate-on-demand: NoDNS: Do not adjustFirewalling: MASQUERADE
>>> Accept these settings and adjust configuration files (y/n)? y [Enter] --今まで設定よければy。
adsl-start
↑でつながるはず。念のためにifconfigでppp0がいるかを確認しておきましょう。
■IPテーブルをいじる
pppoeで直接つないでるので、サーバがwan側にさらけ出されている状態になっている。
セキュリティてきにあまり良くないので設定する。
/etc/sysconfig/iptablesを編集する っが…
最初からiptablesファイルはいないので↓を実行
/sbin/service iptables save
保存されたiptablesファイルをnanode開く
nano /etc/sysconfig/iptables
中身を↓に書き換える。
# Firewall configuration written by system-config-securitylevel# Manual customization of this file is not recommended.*filter:INPUT ACCEPT [0:0]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [0:0]:RH-Firewall-1-INPUT - [0:0]-A INPUT -j RH-Firewall-1-INPUT-A FORWARD -j RH-Firewall-1-INPUT-A RH-Firewall-1-INPUT -i ppp0 -p udp -m udp --dport 5060 -j ACCEPT <--追加する。SIP(UDP/5060)-A RH-Firewall-1-INPUT -i ppp0 -p udp -m udp --dport 10000:20000 -j ACCEPT <--追加する。RTP(UDP10000~20000)-A RH-Firewall-1-INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT <--追加する。外部に対し張ったセッションの戻り-A RH-Firewall-1-INPUT -i ppp0 -j REJECT <--追加する。上記以外は全て拒否する。-A RH-Firewall-1-INPUT -i lo -j ACCEPT-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT-A RH-Firewall-1-INPUT -p 50 -j ACCEPT-A RH-Firewall-1-INPUT -p 51 -j ACCEPT-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT-A RH-Firewall-1-INPUT -p udp -m udp --dport 5060 -j ACCEPT <--注:ローカルでSIPを使うため-A RH-Firewall-1-INPUT -p udp -m udp --dport 10000:20000 -j ACCEPT <--注:ローカルでSIPを使うため-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibitedCOMMIT
■DAHDIのインストール
Zaptelの代わりになるもので、1.4ではどっちでも使えるけど1.6からは使えなく成るので、
DAHDIを使っておく事にした。
早速DAHDIの入手!
tar zxvf dahdi-linux-2.2.1.tar.gzcd dahdi-linux-2.2.1makemake installcd ../
最新バージョンのものを入手しましょう。今は2.2.1が最新な様なので↑をコピペしたらとってもカンタン!
■DAHDI Toolsのインストール
tar zxvf dahdi-tools-2.2.1.tar.gzcd dahdi-tools-2.2.1./configuremakemake installmake configcd ../
最新バージョンのものを入手しましょう。今は2.2.1が最新な様なので↑をコピペしたらとってもカンタン!
■udevの調整
Asteriskをasteriskユーザで起動させるとき、DAHDIのパーミッションがいろいろと問題になるんでudevを調整しとく。
groupadd -g 5060 asteriskadduser -g 5060 -u 5060 -d /var/lib/asterisk -s /sbin/nologin asterisk
■設定ファイルの編集
DAHDIの設定ファイルは /etc/dahdiにあります。今回はモジュールをロードするとこを編集するのでなかのmodulesファイルを編集します。nanoで/etc/dahdi/modulesを開きます。(viよりnanoの方がスキなので…)
nano /etc/dahdi/modules
今回は、アナログ回線やINS回線につながずにISPにつなぐのでdahdi_dummyをロードして他のモジュールはコメントアウトしておきましょう。
# Xorcom Astribank Devicesxpp_usb↓# Xorcom Astribank Devices#xpp_usb <--こんな感じで全部 # をつけとく
いらないのをコメントアウトしたら、dahdi_dummyをロードさせるところを一番下に追加。
# DAHDI Dummydahdi_dummy
ついかして Ctr+X で保存して終了したら
/etc/init.d/dahdi start
↑で起動させてみると、起動できるかやロードしているモジュールを確認できる。
Loading DAHDI hardware modules:dahdi_dummy: [ OK ]
Running dahdi_cfg: [ OK ]
↑みたいに成ったらOK
■AsteriskにFUSIONのパッチを当ててみる(パッチを使わない方はスキップ)
これでFUSIONのIP網に入れるようになる。
wget http://www.asterisk-fusion..........(パッチファイルをダウンロード)tar zxvf asterisk-1.4.26.3.tar.gztar zxvf chan_sip-1.4.26.3.tar.gzcd asterisk-1.4.26.3patch --verbose -p0 < ../chan_sip-1.4.26.3-20091119.patch
■Asteriskのインストール
↑でパッチを当ててない人はここからしましょう。
tar zxvf asterisk-1.4.26.3.tar.gzcd asterisk-1.4.26.3
パッチを当てた人はここから
./configuremake menuselect
めにゅーがでるので、インストールしたいものを選んでください。
(通常はデフォルトのママでおk)
選んだら Q をおして Y で保存。
makemake installmake samplemake config
これでインストール完了!!
↓###パッチを当てた人は実行してください###
cp ../incoming.agi /var/lib/asterisk/agi-bin/cp ../outgoing.agi /var/lib/asterisk/agi-bin/
chmod +x /var/lib/asterisk/agi-bin/incoming.agichmod +x /var/lib/asterisk/agi-bin/outgoing.agi
■Asteriskの音声を日本語にする
tar zxvf asterisk-sound-jp_14_beta.tar.gzmv jp /var/lib/asterisk/sounds
■サンプルファイルを入手と元のサンプルファイルをバックアップ
cd /etcmv asterisk asterisk.bakmkdir asteriskcd asterisktar zxvf conf-sample-1.4_01.tar.gz
■起動させてみる
/etc/init.d/dahdi startasterisk -vvvvc
これで起動するはずです。
■コピペしやすいようにまとめとく
①
mkdir acd ayum updateyum install gcc gcc-c++ kernel-devel ncurses-develyum install sshtar zxvf rp-pppoe-3.10.tar.gzcd rp-pppoe-3.10/src./configuremakemake installcd ~/aadsl-setup
/sbin/service iptables savenano /etc/sysconfig/iptables
# Firewall configuration written by system-config-securitylevel# Manual customization of this file is not recommended.*filter:INPUT ACCEPT [0:0]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [0:0]:RH-Firewall-1-INPUT - [0:0]-A INPUT -j RH-Firewall-1-INPUT-A FORWARD -j RH-Firewall-1-INPUT-A RH-Firewall-1-INPUT -i ppp0 -p udp -m udp --dport 5060 -j ACCEPT-A RH-Firewall-1-INPUT -i ppp0 -p udp -m udp --dport 10000:20000 -j ACCEPT-A RH-Firewall-1-INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT-A RH-Firewall-1-INPUT -i ppp0 -j REJECT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT-A RH-Firewall-1-INPUT -p 50 -j ACCEPT-A RH-Firewall-1-INPUT -p 51 -j ACCEPT-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT-A RH-Firewall-1-INPUT -p udp -m udp --dport 5060 -j ACCEPT-A RH-Firewall-1-INPUT -p udp -m udp --dport 10000:20000 -j ACCEPT-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibitedCOMMIT
②
tar zxvf dahdi-linux-2.2.1.tar.gzcd dahdi-linux-2.2.1makemake installcd ../tar zxvf dahdi-tools-2.2.1.tar.gzcd dahdi-tools-2.2.1./configuremakemake installmake configcd ../groupadd -g 5060 asteriskadduser -g 5060 -u 5060 -d /var/lib/asterisk -s /sbin/nologin asterisknano /etc/dahdi/modules
③
# DAHDI Dummydahdi_dummy
④パッチファイルをを~/aにいれる
⑤
tar zxvf chan_sip-1.4.26.3.tar.gztar zxvf asterisk-1.4.26.3.tar.gzcd asterisk-1.4.26.3patch --verbose -p0 < ../chan_sip-1.4.26.3-20091119.patch./configuremake menuselect
⑥
makemake installmake samplemake configcp ../incoming.agi /var/lib/asterisk/agi-bin/cp ../outgoing.agi /var/lib/asterisk/agi-bin/chmod +x /var/lib/asterisk/agi-bin/incoming.agichmod +x /var/lib/asterisk/agi-bin/outgoing.agitar zxvf asterisk-sound-jp_14_beta.tar.gzmv jp /var/lib/asterisk/soundscd /etcmv asterisk asterisk.bakmkdir asteriskcd asterisktar zxvf conf-sample-1.4_01.tar.gz/etc/init.d/dahdi startasterisk -vvvvc
【参考資料】