CentOS7で作る快適サーバー生活 01 -ampacheでiTunesを捨てる-

Page content


(写真は現在の自宅サーバーで稼働中の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には、下記に示すバックエンドの構築が必要である。

  1. WEBサーバー。ここではapacheを用いる。インターネット上に公開するサーバーの場合、著作権法の、送信可能化権に抵触する可能性を考慮し、SSL対応が必須となる。SSLに関しては、Let’s Encryptを用い暗号化するものとする。
  2. mysqlサーバー。CentOS7では、互換製のあるmariadbが採用されているのでこれを用いる。
  3. php。ampacheはphpアプリケーションであるので必要である。
  4. ffmpeg。CentOS7では、パッケージマネージャで導入できるものではなく独自でビルドした方が良い。libmp3lameを組み込む必要がある。

また、インターネット上に公開するサーバーであるので、下記の設定は必須といえる
・ sshサーバーの設定。公開鍵認証に変更・ポートの変更
・ ファイアウォールの適切な設定
・ OSの定期的なアップデート

3.安全なサーバー構築

これだけで結構骨が折れるので別記した。詳しくは、

を参考に。