ぐーぐるさんで探してみるとraspi + nginx + rtmp の場合には
自力コンパイル & /usr/local へインストールしている人が多いっぽい。
やっぱりパッケージ管理でやりたい&最新版でやりたい人向けの覚え書き。
#結局armのパッケージが無く自力コンパイルしますが後の管理が楽なので(笑
[事前準備]
ビルド環境やgitがある&vi使えることが前提 (^^;
- nginx パッケージリストの追加
今は /etc/apt/sources.list.d/ へ個別に置けるので以下ファイルを作成
sudo vi /etc/apt/sources.list.d/nginx.list
#deb http://nginx.org/packages/mainline/debian/ jessie nginx
deb-src http://nginx.org/packages/mainline/debian/ jessie nginx
※1行目は無くてもいいです(armのバイナリが無く、エラーになるのでコメントアウト) - nginx のキー追加
sudo apt-key list
curl http://nginx.org/keys/nginx_signing.key | sudo apt-key add –
sudo apt-key list
※1回目は無くても可、2回目のapt-key list に nginx signing key の行が追加されればOK
[nginx + rtmp(モジュール) の deb パッケージ化]
- 念のためアップデート
sudo apt-get update && sudo apt-get upgrade - nginxのビルドに必要なヘッダやライブラリパッケージのインストール
sudo apt-get build-dep nginx - ディレクトリ作成&作成したディレクトリへ移動
mkdir nginx ; cd nginx - ソースファイル取得
apt-get source nginx
もしここで”WARNING: The following packages cannot be authenticated!”なんていわれたら
apt-key update と apt-get update をやってみて再度チャレンジ - nginxのモジュールディレクトリの作成と移動
cd nginx*/debian
mkdir modules
cd modules/
※modulesディレクトリが無いので作成してます(extraに入れたほうがよさそう?)
nginxのバージョンによって異なるのでワイルドカード(*)で移動先を指定してます - rtmpモジュールの取得
git clone https://github.com/arut/nginx-rtmp-module.git
※nginx-rtmp-module のディレクトリが作成され、その下にソースが取得されています - ディレクトリの移動(nginx/nginx-x.x.x へ)
cd ../../ - オプションの書き換え
※nginx-1.9.11で動的モジュールが可能になりましたがまだモジュール側が対応していないので
今までどおりのモジュール追加で指定します
vi debian/rules
/COMMON_CONFIGURE_ARGS で対象行に移動
そこから $(WITH_HTTP2) \ が書かれている前まで移動して以下を追加。
–add-module=$(CURDIR)/debian/modules/nginx-rtmp-module \
※続きの行があるので最後の\は必須
書き換えが終わったら保存して終了変更内容(rtmpモジュール追加した)を debian/changelog に入れておいたほうが良いかも
このあたりはご自由に(^^; - パッケージ作成
dpkg-buildpackage -b -j4
* -j4 は付けなくても可(同時実行可能ジョブ指定:makeのオプションと意味は同じ)
nginx 付属のrulesだと -j オプション効いてないかも… - パッケージのインストール
一つ上のディレクトリに deb パッケージが作成されているのでインストールします
sudo dpkg -i nginx_*.deb
※他に色々なパッケージが作成されていますが必要に応じてインストールはご自由に - あとはnginx の設定して、起動させます。詳細はどこか適当にぐぐってくださいな
他のモジュールも同じようにすれば追加したパッケージを作ることが出来ます。
apache みたいに動的モジュール作って入れられるようになると楽なのですが
このあたりの対応はもう少し後になりそうですね。
あとはgstreamerとかffmpegとかあるけど…そのうち
でわでわ。