
zoneminder v1.38.4
ZoneMinderは、Linux向けに開発された無料のオープンソースの閉回路テレビソフトウェアアプリケーションで、IP、USB、アナログカメラをサポートします。
ZoneMinder
ZoneMinder に関するすべてのドキュメントは、現在 https://zoneminder.readthedocs.org で公開されています。
概要
ZoneMinder は、Linux ベースのマシンに接続された CCTV や防犯カメラのキャプチャ、解析、録画、監視を提供する完全な監視ソリューションを実現する、統合されたアプリケーション群です。Video For Linux (V4L) インターフェイスをサポートするディストリビューションで動作するように設計されており、BTTV カードに接続されたビデオカメラや各種 USB カメラでテストされているほか、ほとんどの IP ネットワークカメラにも対応しています。
開発チームへの連絡
GitHub フォーラムで issue を作成する前に、投稿ルールをお読みください: https://github.com/ZoneMinder/ZoneMinder/wiki/Github-Posting-Rules
Dockerfile の移転について
ZoneMinder Dockerfile に関する issue はこちらに登録してください: https://github.com/ZoneMinder/zmdockerfiles
インストール方法
パッケージリポジトリからのインストール
ZoneMinder をシステムにインストールする際に推奨される方法です。ZoneMinder のパッケージは、以下のディストリビューション向けにメンテナンスされています:
- Ubuntu: Isaac Connor の PPA
- Debian: デフォルトのリポジトリ
- RHEL/CentOS およびクローン: RPM Fusion
- Fedora: RPM Fusion
- OpenSuse: サードパーティリポジトリ
- Mageia: デフォルトのリポジトリ
- Arch: AUR
- Gentoo: Portage Overlays
お使いのディストリビューションで ZoneMinder パッケージを提供するリポジトリが利用できない場合は、ソースからビルドするのではなく、ご自身でパッケージをビルドすることをお勧めします。各ディストリビューションには他とは異なる点がありますが、多くの場合、別のディストリビューションのパッケージビルド手順を自分の環境に合わせて適用できるほど似ています。
ソースからのビルドは推奨されません
かつては、ZoneMinder をシステムにインストールするには、従来の configure、make、make install コマンドを実行してソースコードからビルドする必要がありました。ZoneMinder をビルドするには、あらかじめすべての依存関係を特定してインストールする必要がありました。また、ビルド後に init スクリプトや logrotate スクリプトを手動で所定の場所にコピーする必要がありました。jscalendar や Cambozola などのオプションパッケージも手動でインストールする必要がありました。アンインストール時に古いファイルが残り、アップグレード中に問題を引き起こす可能性がありました。アップグレードに関して言えば、そのたびにこれらの手動作業を繰り返す必要がありました。
現在では、これらの作業の多くを自動で行ってくれるより良い方法があります。現在の開発チームは、他のボランティアとともに、ソースからのビルドを避けるために必要なリソースを提供するために大きく前進してきました。
ZoneMinder パッケージのビルド
ZoneMinder をパッケージとしてビルドすることは、ソースからビルドするのと比べて難しくはありません。実際、これまでにソースから ZoneMinder のビルドに成功したことがあるなら、こちらの手順の方が簡単だと感じるかもしれません。
パッケージをビルドする際は、開発専用の独立した環境で行うのが最善です。これは、仮想マシンの作成、Docker の使用、mock の使用など、簡単な方法で構いません。本番サーバーでこの作業を行ったことを後悔するには、ほんの一度の「おっと」で十分です。
最後に、master ブランチから開発スナップショットをビルドしたい場合は、まず ZoneMinder の公式リリースを使用してパッケージをビルドすることをお勧めします。これにより、発生した問題がビルドプロセスによるものなのか、master ブランチの新しい問題なのかを特定しやすくなります。
ディストリビューション固有の手順については、ReadtheDocs サイト を参照してください。
パッケージメンテナ向け情報
ZoneMinder の設定変数のデフォルト値の多くは、autotools や cmake を使用してビルド時に設定することはできません。ソースにパッチを適用せずに ConfigData.pm に保存されている任意の変数を操作できるように、zmeditconfigdata.sh という新しいツールが追加されました。
例えば、cambozola の JavaScript ファイルを含む新しい ZoneMinder パッケージを作成したとします。ただし、デフォルトでは cambozola サポートは無効になっています。これを修正するには、パッケージングスクリプトに次を追加します:
./utils/zmeditconfigdata.sh ZM_OPT_CAMBOZOLA yes
zmeditconfigdata.sh は、cmake または configure を実行する前に、ルートのビルドフォルダから呼び出すことを想定していることに注意してください。
Docker
Docker は、アプリケーションを分離されたコンテナ内で実行するためのシステムです。ZoneMinder と ZM Webサーバーは、このリポジトリに含まれる Dockerfile を使用して実行されます。ただし、ZM の主要機能が適切に動作し、文書化されるようにするためには、まだ作業が必要です。
貢献モデルと開発
- ソースコードは GitHub でホストされています
- 問題の報告は GitHub Issues で行ってください
- 質問や機能リクエストは Slack または フォーラム で
プルリクエストは大歓迎です! 貢献したい場合は、次の手順に従ってください。手順 3 は任意ですが、推奨されます。
- リポジトリをフォークする
- GitHub Issues Tracker で issue を開く issue テンプレートに従って、見つけたバグやセキュリティ問題を記述してください。機能リクエストや質問は、ユーザーフォーラムまたは Slack チャンネルに投稿してください。
- フィーチャーブランチを作成する (
git checkout -b 456-my-new-feature) - 変更をコミットする (
git commit -am 'Added some feature') すべての変更を 1 つのコミットにまとめるのではなく、'早めに頻繁にコミット' することが推奨されます。 - ブランチを GitHub 上のフォークにプッシュする (
git push origin 456-my-new-feature) - 新しいプルリクエストを作成する
- チームがレビュー、議論し、できれば変更をマージします。

