30分(OSセットアップ完了時より)で作るmp3ストリーミングサーバ!
勿論、最低限Linux系・ネットワーク系の知識がある人向けです。
CentOS 4.4 に Streamsicle 2.0 を導入してみました。
構成としては、ADSL回線にDDNSを導入してドメインを作り、そこに自分用のmp3サーバを立てるという感じです。
OSのセットアップについては省略します。
自分はコンパイル環境だけあればいいので、X-windowsはすべて削除してインストールしました。
最初にセットアップすると、SSHによるrootログインが許可されているんで、まずはこれを外します。
#PermitRootLogin yes とコメントアウトされているので、以下のように変更しkill HUPします。
# vi /etc/ssh/sshd_conf
PermitRootLogin no
ホントは protcol も 2のみにして、PasswordAuthentication も no にして鍵ログインのみにしたいところですが、まぁ今回は無視します。
で、まずはユーザーを作ります。
# useradd -d /home/kamira -s /bin/tcsh kamira
# mkdir /home/kamira/src
# chown -R kamira:kamira /home/kamira/src
# passwd kamira
で、パスワードを入力して完了。一旦rootをログアウトして自前アカウントでログインします。
次は何はともあれ、yumの設定をします。
# rpm –import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-4
# yum install yum-plugin-fastestmirror
# vi /etc/yum.confplugins=1 < - これを追加する # yum upgrade yum # yum update
随時[y]を押してください。
次は、データ用のディレクトリを作成します。
自分は、/data/mp3 としました。
# mkdir /data
# mkdir /data/mp3
# chown -R kamira:kamira /data
現在はwindowsサーバ上にデータがあるので、それを持って行くため(だけ)にsambaを導入しました。
winscpでちまちまアップしてもいいんですが、文字コードをutf-8に統一したかったという理由もあります。
# yum install samba
さくさく行きます。
次は、sambaのconfigです。とりあえずデータだけコピーできればいいので、セキュリティも最低限でいいと思います。
終わったら停止してもいいわけですし。
# vi /etc/samba/smb.conf
[global]
workgroup = eriane
server string = eriane samba server
hosts allow = 192.168.0. 127. < - ネットワークアクセスの制限 load printers = no <- プリンタは使用しない log file = /var/log/samba/%m.log max log size = 50 security = user socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 dos charset = CP932 unix charset = UTF-8 <- 重要 display charset = UTF-8 <- 重要 dns proxy = no idmap uid = 16777216-33554431 idmap gid = 16777216-33554431 template shell = /bin/false winbind use default domain = no [homes] comment = Home Directories writable = yes printable = no browseable = no vfs objects = recycle recycle:repository = .recycle recycle:keeptree = no recycle:versions = yes recycle:touch = no recycle:maxsize = 0 recycle:exclude = *.tmp ~$* [mp3] comment = mp3 Directories path = /data/mp3 public = yes guest ok = no writable = yes browseable = yes printable = no vfs objects = recycle recycle:repository = .recycle recycle:keeptree = no recycle:versions = yes recycle:touch = no recycle:maxsize = 0 recycle:exclude = *.tmp ~$*
ホント最低限です。
一応、recycleボックスも作ったけど使わない・・・と思います。
今回はpublicを一切使わないので、これで良いかと。
なので、nobodyオーナーのディレクトリを作ったりしなくて済みます。
設定が終わったので、手動で起動します。
# /etc/rc.d/init.d/smb start
# chkconfig smb on < - 自動起動させたい場合のみ # pdbedit -a kamira <- kamiraアカウントをsambaに作る。
もしセキュリティ的に怖ければ、
useradd -d /home/senduser -s /sbin/nologin senduser
こんなユーザーを作ってSSHログインを許可させなければ良いかと。
これでwindowsからネットワーク経由でアクセスが可能になるので、[ファイル名を指定して実行]から、\\[IPアドレス]\でアクセスしてみてください。
しっかり設定してあれば、[マイネットワーク]アイコンの中に表示されるかも知れません。
XPなら、smb.confの中身を workgroup = MS HOME とかにすればつながるかも。
で、これでSAMBAの設定は完了なので適当に転送してください。
日本語ファイル名も気にせずにばしばしと転送してもokです。
Terminalソフトが utf-8 に対応していれば、ls -l /data/mp3 とやれば日本語文字で表示されるはずです。
次。
Streamsicle導入方法を参考にします。
こちらで配布されている、Streamsicle-2.0jpFull.tar.gzこちらを利用させていただきます。
ダウンロードから解凍、インストール?まで一気にやります。
(一般ユーザーで)
$ cd /home/kamira/src/
$ wget http://vps.orz.cn/Kirika/Streamsicle-2.0jpFull.tar.gz
$ tar zxvf Streamsicle-2.0jpFull.tar.gz
$ su
# mv streamsicle /usr/local/
# cd /usr/local/streamsicle/
設定ファイルの変更箇所は以下くらいで大丈夫です。
# vi tomcat/webapps/ROOT/WEB-INF/conf/streamsicle.conf
streamsicle.playdir = /data/mp3/
streamsicle.host = eriane.moe.hm
streamsicle.description = Eriane STREAMSICLE
streamsicle.maxclients = 5
maxclientsは最大コネクション数(リスナー数)です。
主に自分用なので、念のため5にしておきました。
(1にして、何らかの状態でコネクションが残ったままになってしまうと接続できなくなるため)
streamsicle.host は使用するDDNSによって変更してください。
ちなみに、例はサンプルなので自分用のホンモノアドレスは別です:)
次は、javaのインストールです。
http://java.sun.com/j2se/1.5.0/ja/download.html
上記より、JDK 5.0 Update 9 の Linux Platform の Linux RPM in self-extracting file をダウンロードしてください。
ダウンロードしたら、/home/ユーザー名/src に置きます。
$ cd /home/kamira/src
$ chmod 755 jdk-1_5_0_09-linux-i586-rpm.bin
$ ./jdk-1_5_0_09-linux-i586-rpm.bin[同意します]
$ su
# rpm -Uvh ./jdk-1_5_0_09-linux-i586-rpm
正常にインストールされていれば、/usr/java/jdk1.5.0_09/ にあるはずです。
これを環境変数JAVA_HOMEに設定します。
自分はtcshなので、vi ~/.tcshrc ですが、bashであれば vi ~/.bash_profile に設定します。
勿論、パスも通しておきます。
[tcsh版]
set path=(./\
/usr/local/bin /usr/bin \
/usr/local/bin \
/usr/bin \
/usr/sbin \
/bin \
/sbin \
/usr/java/jdk1.5.0_09/bin \
/usr/java/jdk1.5.0_09/jre/bin \
)
setenv JAVA_HOME /usr/java/jdk1.5.0_09[bash版]
PATH=$PATH:$HOME/bin:/usr/java/jdk1.5.0_09/bin:/usr/java/jdk1.5.0_09/jre/bin
JAVA_HOME=/usr/java/jdk1.5.0_09
これで、source ~/.tcshrc ないし、ログオフして設定を適応させます。
javac -version のコマンドを打って反応があればok。
これでストリーミングに関する設定はすべて完了です。
実行方法は、/usr/local/streamsicle/ にある streamsicle.sh を実行すればokです。
# /usr/local/streamsicle/streamsicle.sh
最後にDDNSの設定です。
DiCE for Linuxをダウンロードして、いつもの場所に置きます。
$ tar zxvf diced01913.tar.gz
$ su
# mv DiCE /usr/local/bin
# /usr/local/bin/DiCE/diced
DiCEの使い方は、パソコンおやじさんのページを参考にどうぞ。
決して自分の手抜きじゃありません。
これですべて完了です。
基礎知識があれば簡単に作れるので、是非色々と試してみてください。
map_all_freegorahe.com4.txt;15;20