ウェブサイト検索

ZoneMinder - ビデオ監視ソフトウェアを Debian 9 にインストールする


家庭であろうと企業であろうと、物理的なセキュリティは常に、包括的なセキュリティ ポリシーの基礎となる要素です。セキュリティ カメラの使用は、物理的なセキュリティ監視ソリューションの基礎となる傾向があります。

カメラに関する最大の課題の 1 つは、ビデオ フィード/画像の管理と保存である傾向があります。このタスクに対処するための最もよく知られたオープンソース ソリューションの 1 つは、Zone Minder です。

Zone Minder は、セキュリティ カメラからのビデオ フィードを監視、管理、分析するための多数のソリューションをユーザーに提供します。 Zone Minder のハイライトには次のようなものがあります。

  • 無料、オープンソースであり、常に更新されています。
  • ほとんどの IP カメラ (PTZ、暗視、4k 解像度などの特別な機能を備えたカメラでも) で動作します。
  • Webベースの管理コンソール。
  • どこからでも監視できる Android および iOS アプリケーション。

Zone Minder のその他の機能を確認するには、プロジェクトのホームページ (https://zoneminder.com/features/) にアクセスしてください。

この記事ではDebian 9 ストレッチへのZone Minderのインストールについて説明し、別の記事ではセキュリティ カメラ フィードを監視するための Zone Minder の設定について説明します。

Zone Minder ラボのセットアップ図

これはほとんどの IP カメラの設置を簡素化したものですが、 カメラがゾーン マインダー サーバーにネットワーク接続されていると仮定すれば、この概念は引き続き機能します。

この記事は、読者がすでにDebian 9 Stretch の最小限の基本インストールを実行していることを前提としています。 SSH 接続を使用したベア インストールのみが想定されています。

すべてがApache Web サーバーを介してZone Minder Web インターフェイスに接続しているクライアントに提供されるため、サーバーにグラフィカル環境は必要ありません。

Debian 9 のインストールについては、Tecmint に関するこの記事を参照してください: https://linux-console.net/installation-of-debian-9-minimal-server/。

サーバー仕様:

ゾーン マインダー は大量のビデオ/画像を保存する可能性があるため、このサーバーに必要な最大のコンポーネントはネットワークとストレージ容量になります。その他に考慮すべき項目としては、カメラの数、サーバーに送信される画像/ビデオの品質、Zone Minder システムに接続するユーザーの数、Zone Minder システムを介してライブでストリームを視聴することなどがあります。

重要: このガイドで使用されているサーバーは古いものですが、一般的なホーム ユーザー システムではありません。 Zone Minder システムをセットアップする前に、使用要件を十分に評価してください。

Zone Minder の仕様に関する wiki 記事: https://wiki.zoneminder.com/How_Many_Cameras

システム仕様:

  • 1 HP DL585 G1 (デュアルコア CPU 4 個)
  • RAM: 18 GB
  • IP カメラ用の 1 x 1Gbps ネットワーク接続
  • 管理用 1 Gbps ネットワーク接続 x 1
  • ローカル ストレージ: RAID 10 の 4 x 72GB (OS のみ。ZM 画像/ビデオは後でオフロードされます)
  • 1 x 1.2 TB HP MSA20 (画像/ビデオのストレージ)

ゾーンマインダーのインストール

Zone Minder のインストールは非常に簡単で、Zone Minder がインストールされている特定のサーバーへのroot または sudo アクセスが前提となっています。

Debian Stretch のリポジトリには、デフォルトでは Zone Minder 1.30.4 がありません。幸いなことに、Zone Minder の新しいバージョンが Debian Stretch バックポートで利用可能です。

Debian のクリーン インストールでバックポートを有効にするには、次のコマンドを実行します。

echo -e “\n\rdeb http://ftp.debian.org/debian stretch-backports main” >> /etc/apt/sources.list

バックポートが有効になると、システムには一連の更新が必要になる可能性があります。この記事の残りの部分の準備として、次のコマンドを実行してパッケージを更新します。

apt-get update
apt-get upgrade
apt-get dist-upgrade

ゾーン マインダー のインストールと構成の最初のステップは、次のコマンドを使用して必要な依存関係をインストールすることです。

apt-get install php mariadb-server php-mysql libapache2-mod-php7.0 php7.0-gd zoneminder

このインストール プロセス中に、MariaDB サーバーのインストールにより、データベースのroot パスワードを構成するようユーザーに求められる場合があります。**DOこのパスワードを忘れないでください**

インストールが完了したら、次のコマンドを使用してデータベースを保護することを強くお勧めします。

mysql_secure_installation

上記のコマンドでは、最初に MariaDB のインストール中に作成された root パスワードの入力を求めるプロンプトが表示され、その後、テスト ユーザーの無効化、データベースへのリモート root ログイン、およびテスト データベースの削除に関するいくつかのセキュリティの質問がユーザーに尋ねられます。安全なので、これらすべての質問に対する答えは 「はい」 であることをお勧めします。

次に、データベースを準備し、 データベースのゾーン マインダー ユーザーを準備する必要があります。 Zone Minder パッケージは、インポートに必要なスキーマを提供します。インポートにより、ユーザー「zmuser」、データベース「zm」が作成され、システムにデフォルトのパスワードが設定されます *これを変更する方法については、以下を参照してください<*。

次のコマンドは、ユーザーに MariaDB データベースの root ユーザー パスワードの入力を求めます。

mariadb -u root -p < /usr/share/zoneminder/db/zm_create.sql
mariadb -u root -p -e "grant all on zm.* to ‘zmuser’@localhost identified by ‘zmpass’;"

この部分は、ユーザーがデータベースのデフォルトのユーザー/パスワードを変更したい場合にのみ必要です。データベース名、ユーザー名、またはデータベースのパスワードを変更することが望ましい場合があります。

たとえば、管理者が別のユーザーとパスワードの組み合わせを使用したいとします。

User: zm_user_changed
Password: zmpass-test

これにより、上記の MariaDB ユーザー コマンドは次のように変更されます。

mariadb -u root -p -e "grant all on zm.* to ‘zm_user_changed’@localhost identified by ‘zmpass-test’;"

ただし、これを行うと、 変更されたデータベースとユーザー名をゾーン マインダー に認識させる必要があります。 「/etc/zm/zm.conf」にある ZM 設定ファイルに適切な変更を加えます。

次の行を見つけて変更します。

  • ZM_DB_USER=zmuser ← 「zmuser」を上記の新しいユーザーに変更します。 「zm_user_changed
  • ZM_DB_PASS=zmpass ← 「zmpass」を上記で使用した新しいパスワードに変更します。 「zmpass-test

次のステップでは、次のコマンドを使用して、Apache ユーザー (www-data) が読み取れるように Zone Minder 構成ファイルの所有権を修正します。

chgrp www-data /etc/zm/zm.conf

www-data ユーザーは、このシステムの「video」グループのメンバーである必要もあります。これを実現するには、次のコマンドを使用する必要があります。

usermod -aG video www-data

/etc/php/7.0/apache2/php.ini」 にある php.ini ファイルに適切なタイムゾーンを設定することも必要です。適切なタイムゾーンを見つけて、テキストエディタを使用して次の行を見つけてタイムゾーン情報を追加します。

nano /etc/php/7.0/apache2/php.ini

;date.timezone =」 の行を 「date.timezone=America/New_York」 に変更します。

次に、Apache を、Zone Minder Web インターフェイスを提供するように設定する必要があります。最初のステップは、デフォルトの Apache ページを無効にし、Zone Minder 構成ファイルを有効にすることです。

a2dissite 000-default.conf
a2enconf zoneminder

Zone Minder が適切に機能するには、有効にする必要がある Apache モジュールもいくつかあります。これは次のコマンドで実行できます。

a2enmod cgi
a2enmod rewrite

最後のステップはゾーン マインダーを有効にして開始することです。これを行うには、次のコマンドを使用します。

systemctl enable zoneminder.service
systemctl restart apache2.service
systemctl start zoneminder.service

すべてがうまくいけば、サーバーの IP および Zone Minder ディレクトリに移動すると、次のような Zone Minder 管理コンソールが表示されるはずです。

http://10.0.0.10/zm

おめでとう! Zone MinderDebian 9 上で稼働するようになりました。次回の記事では、Zone Minder コンソール内のストレージ、カメラ、アラートの構成について説明します。