CentOS7で作る快適サーバー生活 01 -ampacheでiTunesを捨てる-
(写真は現在の自宅サーバーで稼働中のampacheサーバー。)
0.概要
CentOS7を利用して、ネット上どこからでも自分の手持ち音楽をストリーミングできるサーバーを構築する。ターゲットはさくらのVPS 1GBプラン(HDD 100GB)。OSにはCentOS7を採用した。ampacheにはaapaache・php・mysqlの導入が必要である。一部権限変更の必要もある。ここでは、ampacheとは何か?という説明から、実際にサーバー上でmp3ファイルを再生できるようになるまでの一連の流れを説明する。
1. ampacheとは何か。
近年、音楽聞き放題サービスなどが流行っている。たとえばgoogleミュージックとか、Lineミュージックとか、spotifyとか、数多のサービスがある。しかし、自分の手持ちの(大量の)mp3を、大学や、実家などの出先PCから快適に再生するのはいささか面倒である。ampacheはこのような、手持ちの楽曲を、WEBブラウザ及び、スマートフォンクライアントから再生するためのphpソフト群である。バックエンドでffmpegが走っており、ブラウザなどのクライアントで再生可能な形式にエンコードし配信することが可能である。また、m3uでのストリーム配信にも対応しており、変換元の楽曲を配信することも可能となっている。ampacheと同等のサービスとして、subsonicが挙げられるが、ライセンス契約が必須となっている点がampacheと異なる。ampacheは完全フリーである。そして、subsonicがJavaを用いているのとは違い、aampacheはLAMP環境で動作するので、既存のサーバーとの親和性も高い。なお、Sousonicのパチ物のインストールは以前行ったので、興味がある方はこちら
[blogcard url=“http://mu-923.sakura.ne.jp/blog/?p=533”]
なお、文中にあるampacheが不安定という一文は、当時のサーバー CF-R5のスペック不足によるもの。
2. ampache導入に必要な手順
ampacheには、下記に示すバックエンドの構築が必要である。
- WEBサーバー。ここではapacheを用いる。インターネット上に公開するサーバーの場合、著作権法の、送信可能化権に抵触する可能性を考慮し、SSL対応が必須となる。SSLに関しては、Let’s Encryptを用い暗号化するものとする。
- mysqlサーバー。CentOS7では、互換製のあるmariadbが採用されているのでこれを用いる。
- php。ampacheはphpアプリケーションであるので必要である。
- ffmpeg。CentOS7では、パッケージマネージャで導入できるものではなく独自でビルドした方が良い。libmp3lameを組み込む必要がある。
また、インターネット上に公開するサーバーであるので、下記の設定は必須といえる
・ sshサーバーの設定。公開鍵認証に変更・ポートの変更
・ ファイアウォールの適切な設定
・ OSの定期的なアップデート
3.安全なサーバー構築
これだけで結構骨が折れるので別記した。詳しくは、
を参考に。