Linux管理をはじめて数年、これまでPleskにお任せして避けてきた自力サーバー管理をはじめることになった。自宅サーバーもやってみたいし。
ソースコードなんかをブログに貼り付ける時は、<とか>とか&の扱いがめんどくさくてついついPREタグを使用してしまうものだが、PREタグを使うと強調表示したいときなどに打つ手がなく、やっぱPREタグは避けようってなってそしてまた<とか>とか&がめんどくさい問題に逆戻りしてしまう。
シンタックスハイライターも良さそうだが、スクリプト設置がめんどくさいのと、ときどきスクリプトが走るのがもたもたして具が見えてしまうことがあるのが気になる。
で、そんなときに便利なツールの紹介。
srctohtml
まずCSSだJSだをアップしなくてもよくて、単純なコピーペーストで簡潔するのがいい。そしてプロファイルというデザインのひな形のようなものを選べるのも良い。このブログでもこれまでPREタグを使ってきたが、今後はこのツールで行こう。
ちなみに実際のソース出力はこんな感じ。
シンタックスハイライターも良さそうだが、スクリプト設置がめんどくさいのと、ときどきスクリプトが走るのがもたもたして具が見えてしまうことがあるのが気になる。
で、そんなときに便利なツールの紹介。
srctohtml
まずCSSだJSだをアップしなくてもよくて、単純なコピーペーストで簡潔するのがいい。そしてプロファイルというデザインのひな形のようなものを選べるのも良い。このブログでもこれまでPREタグを使ってきたが、今後はこのツールで行こう。
ちなみに実際のソース出力はこんな感じ。
-
var obj = document.getElementById('test');
-
// コメント行
-
if (obj.name == 'test') {
-
alert ('テストです');
-
obj.name = 'test2';
-
}
すんなりといけたかに見えたMediaTombによるメディアサーバーの構築。
しかし思った通りすんなりとはいかなかった。Pleskを卒業したばかりの身にとっては、このくらいのトラブルがあって当然と思っているんだが、こういうちょっとしたソフトウェアを入れるのにも2~3時間悩んだりするのは結構辛いものがある。
さて、トラブルの内容だが、まず最初にメディアサーバで登録したMP3ファイルが文字化けした。これは恐らくうちのマシンがEUC-JP環境だからだろうなーとあたりをつけたら、本当に当たっていた。
シロウトながらそれなりに器械とつきあっていけば、それなりに具合が分かってくるものだ。
/var/log/mediatomb を見ると
このようなログが大量に出ていた。最初はMySQLのテーブルの紹介順序などをいじったりしていたがうまくいかない。ネットで調べていると、中にはソースを変更したりする人までいたりして、あーこりゃオレの手には負えないと思った。
もう化けててもいいか・・とか思い始めたところで、画期的な解決方法を編み出した。
PC directoryだけ使えばいいんでわ?
メディアサーバーのアルバムとかアーティストとか、ジャンルとかいうフォルダ・・・・個人的には全然使いやすいと思わない。全部のファイルを同じフォルダに入れているような人にはいいかもしれないが、最初からフォルダを分けている人にとっては別になくてもいい。
PC directoryはファイルのパスがそのまま出るので、整頓されたツリーならばこれだけでも問題ない。そしてなにより、PC directoryで見ると文字化けがない!
ということはMP3のメタデータの部分で化けてたんだな・・ということが分かった。分かっただけで、もうこの問題には関わらないことにした。
この修正でPC directoryだけ表示されるようになった。よし、文字化け問題解決。
で、このPC directoryには問題が一つある。
ディレクトリがフルパスで出てくるので、毎回めんどくさいことに
/mnt/hdd/media/mp3
みたいにサブフォルダを下っていくためにコントローラーの右ボタンを連打しなければならないということ。
これは最高にめんどくさい。許せん。
で、linuxにはシンボリックリンクというのがある。あることは知っていたが、ショートカットとの違いを理解していない。
うぃきぺでぃあで調べたが、分かったようで分からない。そういうときはだいたい分かっていない。
分かっていようが分かっていまいが、
このmediaserverをmediatombのUIで登録してみたところ、期待通りの結果が得られた。
ちなみにもう一つのトラブル「プロトコルエラー2104」についてはまた後日書きたいと思う。
しかし思った通りすんなりとはいかなかった。Pleskを卒業したばかりの身にとっては、このくらいのトラブルがあって当然と思っているんだが、こういうちょっとしたソフトウェアを入れるのにも2~3時間悩んだりするのは結構辛いものがある。
さて、トラブルの内容だが、まず最初にメディアサーバで登録したMP3ファイルが文字化けした。これは恐らくうちのマシンがEUC-JP環境だからだろうなーとあたりをつけたら、本当に当たっていた。
シロウトながらそれなりに器械とつきあっていけば、それなりに具合が分かってくるものだ。
-
<import hidden-files="no">
-
<filesystem-charset>EUC-JP</filesystem-charset>
-
<metadata-charset>CP932</metadata-charset>
/var/log/mediatomb を見ると
-
2012-04-25 03:56:58 WARNING: skipping /mnt/usb/media/mp3/ファイル名
-
r (1267): "Illegal mix of collations (ujis_japanese_ci,IMPLICIT) and (utf8_general_ci,COE
-
RCIBLE) for operation '='"; query: SELECT `id` FROM `mt_cds_object` WHERE `parent_id`=178
-
3 AND `ref_id`=9986 AND `dc_title`='3 詑惰唾
-
替楕胎大' LIMIT 1
このようなログが大量に出ていた。最初はMySQLのテーブルの紹介順序などをいじったりしていたがうまくいかない。ネットで調べていると、中にはソースを変更したりする人までいたりして、あーこりゃオレの手には負えないと思った。
もう化けててもいいか・・とか思い始めたところで、画期的な解決方法を編み出した。
PC directoryだけ使えばいいんでわ?
メディアサーバーのアルバムとかアーティストとか、ジャンルとかいうフォルダ・・・・個人的には全然使いやすいと思わない。全部のファイルを同じフォルダに入れているような人にはいいかもしれないが、最初からフォルダを分けている人にとっては別になくてもいい。
PC directoryはファイルのパスがそのまま出るので、整頓されたツリーならばこれだけでも問題ない。そしてなにより、PC directoryで見ると文字化けがない!
ということはMP3のメタデータの部分で化けてたんだな・・ということが分かった。分かっただけで、もうこの問題には関わらないことにした。
-
<playlist-script>/usr/share/mediatomb/js/playlists.js</playlist-script>
-
<virtual-layout type="disabled">
-
<import-script>/usr/share/mediatomb/js/import.js</import-script>
-
</virtual-layout>
この修正でPC directoryだけ表示されるようになった。よし、文字化け問題解決。
で、このPC directoryには問題が一つある。
ディレクトリがフルパスで出てくるので、毎回めんどくさいことに
/mnt/hdd/media/mp3
みたいにサブフォルダを下っていくためにコントローラーの右ボタンを連打しなければならないということ。
これは最高にめんどくさい。許せん。
で、linuxにはシンボリックリンクというのがある。あることは知っていたが、ショートカットとの違いを理解していない。
うぃきぺでぃあで調べたが、分かったようで分からない。そういうときはだいたい分かっていない。
分かっていようが分かっていまいが、
-
ln -s /mnt/data/media /mediaserver
このmediaserverをmediatombのUIで登録してみたところ、期待通りの結果が得られた。
ちなみにもう一つのトラブル「プロトコルエラー2104」についてはまた後日書きたいと思う。
PS3を使って、デジカメなんかで撮影した動画や写真を再生したい、誰だってそう考える。
しかし、PS3は普通にWindowsフォルダ共有やFTPなどの方法ではファイルを参照することができない。
その代わりにDLNAという規格を通じて、ネットワーク上のストレージからマルチメディアデータを再生することが出来る。
Linuxマシンをメディアサーバーにしたいと思ったら、MediaTombというソフトウェアが定番のようだから、これをインストールしてみようぢゃないか。
なぬー!つって
なぬー!つって
これまでの経験から、インストールが一発で完了するとは思っていなかった。これじゃ記事にならぬ。
そのようなわけで、/etc/sysconfig/mediatomb を修正
MT_INTERFACE="NOT_SET"
これを
MT_INTERFACE="eth0"
このように修正した。
次に
/etc/mediatomb/config.xml
を修正する。
じゃあちょっくら動作確認してみるか。
サービスを起動し、http://[IPアドレス]:50500/にアクセス。
しかし、繋がらない!
uiとかログも見たが、原因不明。
なぜだ、うおーとか思っていたらファイヤウォールの設定で50500ポートがブロックされていただけ、っていうオチ。
しかし、PS3は普通にWindowsフォルダ共有やFTPなどの方法ではファイルを参照することができない。
その代わりにDLNAという規格を通じて、ネットワーク上のストレージからマルチメディアデータを再生することが出来る。
Linuxマシンをメディアサーバーにしたいと思ったら、MediaTombというソフトウェアが定番のようだから、これをインストールしてみようぢゃないか。
-
yum install mediatomb
-
・・・省略
-
Dependency Installed:
-
js.i386 1:1.7.0-1.el5.rf libmp4v2.i386 0:1.5.0.1-3.el5.rf
-
mysql.i386 0:5.0.95-1.el5_7.1 taglib.i386 0:1.5-1.el5.rf
-
Complete!
なぬー!つって
なぬー!つって
これまでの経験から、インストールが一発で完了するとは思っていなかった。これじゃ記事にならぬ。
-
service mediatomb start
-
Please edit /etc/sysconfig/mediatomb and change the MT_INTERFACE variable to your network device (eth0, eth1, etc.)
そのようなわけで、/etc/sysconfig/mediatomb を修正
MT_INTERFACE="NOT_SET"
これを
MT_INTERFACE="eth0"
このように修正した。
-
service mediatomb start
-
Applying multicast settings to eth0... Starting mediatomb: [ OK ]
次に
/etc/mediatomb/config.xml
を修正する。
-
<protocolInfo extend="yes"/><!-- For PS3 support change to "yes" -->
-
<!--
-
Uncomment the lines below to get rid of jerky avi playback on the
-
DSM320 or to enable subtitles support on the DSM units
-
-->
-
<import hidden-files="no">
-
<filesystem-charset>UTF-8</filesystem-charset>
-
<metadata-charset>CP932</metadata-charset>
-
<scripting script-charset="UTF-8">
-
<common-script>/usr/share/mediatomb/js/common.js</common-script>
-
<mappings>
-
<extension-mimetype ignore-unknown="no">
-
<map from="jpg" to="image/jpeg"/>
-
<map from="jpeg" to="image/jpeg"/>
-
<map from="gif" to="image/gif"/>
-
<map from="png" to="image/png"/>
-
<map from="m4v" to="video/mp4"/>
-
<map from="mp4" to="video/mp4"/>
-
<map from="mpg" to="video/mpeg"/>
-
<map from="mpeg" to="video/mpeg"/>
-
<map from="mp3" to="audio/mpeg"/>
-
<map from="ogg" to="application/ogg"/>
-
<map from="mp3" to="audio/mpeg"/>
-
<map from="ogx" to="application/ogg"/>
-
<map from="ogv" to="video/ogg"/>
-
<map from="oga" to="audio/ogg"/>
-
<map from="ogg" to="audio/ogg"/>
-
<map from="ogm" to="video/ogg"/>
-
<map from="asf" to="video/x-ms-asf"/>
-
<map from="asx" to="video/x-ms-asf"/>
-
<map from="wma" to="audio/x-ms-wma"/>
-
<map from="wax" to="audio/x-ms-wax"/>
-
<map from="wmv" to="video/x-ms-wmv"/>
-
<map from="wvx" to="video/x-ms-wvx"/>
-
<map from="wm" to="video/x-ms-wm"/>
-
<map from="mka" to="audio/x-matroska"/>
-
<!-- Uncomment the line below for PS3 divx support -->
-
<map from="avi" to="video/divx"/>
-
<!-- Uncomment the line below for D-Link DSM / ZyXEL DMA-1000 -->
-
<!-- <map from="avi" to="video/avi"/> -->
じゃあちょっくら動作確認してみるか。
サービスを起動し、http://[IPアドレス]:50500/にアクセス。
しかし、繋がらない!
uiとかログも見たが、原因不明。
なぜだ、うおーとか思っていたらファイヤウォールの設定で50500ポートがブロックされていただけ、っていうオチ。
次のページ
>>