« 2005年09月 | メイン | 2005年11月 »

2005年10月30日

SHOUTcastのスクリプト

SHOUTcastを入れた後、起動スクリプトを「/usr/local/shout/shout」として記述したが、自動起動にするために「/etc/init.d/」内にシンボリックリンクを貼り、
# update-rc.d shout defaults 98
としたが、なぜかうまくいかない。
sc_servは起動するのだが、sc_transが起動しないのだ。

# cd /usr/local/shout
# ./shout
ならば、2つとも起動するので、「/etc/init.d/」内にスクリプトを記述してみた。

[/etc/init.d/shout.sh]
------------------------------------------------
#!/bin/sh

case $1 in
  'start')
    cd /usr/local/shout/
    ./shout
    ;;
  'stop')
    kill `ps -C sc_trans_linux -o pid=` 2>1 /dev/null
    kill `ps -C sc_serv -o pid=` 2>1 /dev/null
    ;;
  *)
    echo "Error"
    ;;
esac
------------------------------------------------
stopの際に面倒くさいことをやっているが、SHOUTcastの場合、プロセスIDを調べてkillしなければならないため・・・(実はエラーメッセージが出ているが、画面には出力しないようにしている)。

# chmod 0755 shout.sh
で、実行権を設定。

# update-rc.d -f shout remove
で、シンボリックリンクへのリンクファイルを削除。

# update-rc.d shout.sh defaults 98
で、自動起動にして完了。

投稿者 masatsu : 16:06 | コメント (0)

2005年10月27日

iptablesの設定保存

NiigataLinuxの23番ポートをiptablesを使って開けたが、その設定を保存するのを忘れていた。
保存しないと再起動時に消えてしまう。

# service iptables save
を打ち込むだけだ。
Fedora系は、このへん簡単だよな。

投稿者 masatsu : 14:19 | コメント (0)

Niigataの印象

NiigataLinuxを松下のCF-45に入れてみた(Debianは消去)。
お手軽にLAPP環境(Linux、Apache、PostgreSQL、PHP)を作れるというコンセプト通り、インストール時に指定する箇所はほとんど無い。
必要最小限のサーバソフトのみ入れて、X等余計なものを入れないのは好感が持てる。
LAMP環境(Linux、Apache、MySQL、PHP)にも対応していれば、もっと良いのだが・・・。

このNiigata、あくまでもインストール直後のデフォルト状態で使用するのを前提としているように感じる。
後でパッケージを追加する場合は、かなり苦労させられるディストリビューションでもあるので、カスタマイズしたい人にはお勧めできない。

パッケージ管理はrpmで、Fedoraベースのようなので、Fedoraの公開パッケージが使える。
しかし、aptもyumも入っていないので、依存関係を解消しながらインストールすることになる(Debianのaptを使ったことがある人間には耐えられない)。
さらにソースからビルドしようとしても、gccが入っていない。

とりあえずtelnetdを入れた際の苦労を書いておこう。
(私がSSHではなくTelnetに固執するのは、WindowsCEマシンをTelnet端末として使っているから・・・)

1.telnet-serverとxinetdのrpmを入手。
2.xinetdを入れてから、telnet-serverを入れる(依存の問題)。
3./etc/xinetd.d/telnetをviで開いて、disableをnoにする。
4.「chkconfig xinetd on」を実行。
5.「service xinetd start」でサービスを開始。

普通ならば、これでTelnetできるようになるはずだ。
ところが、Windowsから接続できない・・・。
サーバ自体のシェルから「telnet localhost」と打ってみると接続できるので、問題はファイアウォールにあると判明。
iptablesコマンドで確認してみると、確かに21(FTP)、22(SSH)、25(SMTP)、80(HTTP)、5432(PostgreSQL)ポートのみが開いている。

# iptables -I RH-Firewall-1-INPUT -p tcp -s 172.16.0.0/16 -d 0.0.0.0/0 --dport 23 -j ACCEPT
と打ち込むことで、23番ポートを開く。
これでやっとTelnet接続が行なえるようになった。

面倒くさいが、考えようによってはセキュリティが固いとも言える。
初心者が自宅でWebサーバを立てたいときなんかは、良いかもしれない。

投稿者 masatsu : 00:41 | コメント (0)

2005年10月25日

MP3ストリーミングサーバ

余っているノートPC(松下CF-M1V、Celeron333MHz、128MBメモリ、HDD8GB)にDebianSargeをインストールして、LAN内にMP3を配信するストリーミングサーバを構築してみた。
余談だが、バッテリーが死んでいるので、常時稼動の公開サーバにはできない。
daemonとしては、Apache2、SSH、Telnet、FTP(vsftpd)を入れているだけで、できるだけCPU負荷を軽くするようにしている。

1.ストリーミングサーバソフトとしてはSHOUTcastを選択。オフィシャルサイト(http://www.shoutcast.com/)から次の2つのソフトをダウンロード。
・SHOUTcast Linux server (glibc) v1.9.5
・SHOUTcast DSP Plug-In for Mac OS X, Linux and FreeBSD

2./usr/local/srcにコピーしてtarで解凍。
# tar xvzf shoutcast-1-9-5-linux-glibc6.tar.tar
# tar xvzf sc_trans_posix_040.tgz

3./usr/local/shoutディレクトリを作成して、必要なファイルを移動。
・sc_serv
・sc_serv.conf
・sc_trans_linux
・sc_trans.conf
・example.lst
の5つが必要。

4.sc_serv.confとsc_trans.confを適宜設定。

5.起動スクリプトを記述する。
[/usr/local/shout/shout]
---------------------------------------
#!/bin/sh

/usr/local/shout/sc_serv > /dev/null &
sleep 1
/usr/local/shout/sc_trans_linux > /dev/null &
---------------------------------------

6.新しいユーザ(sctrans)を作成して、/home/sctrans/content内にMP3ファイルを置くようにする。
なお、これは単なる管理上の問題で、必須ではない。

7.お気に入りのMP3ファイルを上記ディレクトリにFTP転送したら、ファイル名を適宜書き換え(日本語のファイル名が通るかは検証していないが、念のため全てASCIIに)。
そのファイル名をexample.lstファイルに列挙する。

8.起動スクリプトでソフトを起動したら、念のためpsコマンドで起動完了を確認しておこう。
sc_servとsc_trans_linuxのプロセスが複数起動していたら、成功だ。

9.あとはWindowsのMediaPlayerで「ファイル」→「URLを開く」で「サーバのIPアドレス:8000」を入力するだけで、勝手に接続する。

なんとも簡単だ。
但し、MediaPlayer上に曲名は出ないし、好きな曲を選択することもできない(シャッフル再生される)。

ストリーミングサーバという存在は、PCが1台しかなければ全く意味がないが、うちのように複数台稼動している環境では、まぁ便利かもしれない。
実は、単なるサーバ実験なんだけどね(自己満足)。

投稿者 masatsu : 17:12 | コメント (0)

2005年10月22日

はやりのUbuntu

持ち歩き用の富士通ノートPCにFedoraCore4を入れてWindows2000とデュアルブートにしていたが、あまり面白くないので、今流行のUbuntuを入れてみた。
インストール用のCDが1枚で、Synapticも入っていることから、印象としてはVineに近い(RPM系ではなく、dev系だが・・・)。
しかし、勝手にXやGNOME、OpenOffice等をインストールするので、あくまでもクライアント向けという感じ(もちろん、サーバとしても使えるが・・・)。
あと、Debianは膨大なパッケージ数を誇るが、Ubuntuのパッケージは(標準では)多くない。
Synapticの設定にUniverseを追加するのは必須か。
まぁ、サーバ機のOSとしてはどうかと思うが、クライアント用としてはなかなか良いよな。

投稿者 masatsu : 15:32 | コメント (0)