【NVR】zoneminder(1.34)のインストール・設定手順のまとめ(Ubuntu 20.04)
約2年半前にUbuntu 18.04でZoneMinder(1.32)を稼働させる環境を構築していたのですが、OSだけでなくZoneMinderもバージョンが上がっていたので、検証しなおしてみました。
本記事の内容では、Ubuntu 20.04上でZoneMinder 1.34を稼働させています。
カメラについては現在のところ以下の物で動作を確認しております。
・IPカメラ(ONVIF対応)
又、OSには”Ubuntu Server 20.04 Server LTS”を使用しています。
0.目次
1.環境等について
1-1)検証環境について
1-2)前提条件
1-3)特記事項
2.ZoneMinderのインストール手順
2-1)事前作業1(パッケージの更新)
2-2)事前作業2(TimeZoneの設定)
2-3)日本語環境設定
2-4)ZoneMinder1.34のインストール
2-5)TimeZoneの設定
3.参考
4.まとめ
1.環境について
1-1)検証環境について
検証環境について以下の通りです。○PC
・NEC VersaPro VK-26M/B-F(元ジャンクPC)
※元ジャンクPCについての詳細はこちらをご確認下さい
○OS
・Ubuntu Server 20.04 Server LTS
○ZoneMinder
・1.34( v1.34.16)
→v1.34.23でも問題有りませんでした ※2021/02/11追記
1-2)前提条件
前提条件として、OS(Ubuntu)のインストール等が完了している事とします。又、SSHを利用可能にしております。
1-3)特記事項
動作確認(検証)を目的としている為、セキュリティは最低限です。別途其のあたりも考慮したいとは考えておりますが、まずは試しに使う事を目的としておりますので、そこを考慮し自己責任で利用願います。
それでは、早速作業に掛かります。
2.ZoneMinderのインストール手順
2-1)事前作業1(パッケージの更新)
①パッケージの更新”apt-get update”
”apt-get upgrade -y”
2-2)事前作業2(TimeZoneの設定)
①TimeZoneの設定(事前確認)"timedatectl"
# timedatectl Local time: Thu 2020-07-09 01:49:06 UTC Universal time: Thu 2020-07-09 01:49:06 UTC RTC time: Thu 2020-07-09 01:49:06 Time zone: Etc/UTC (UTC, +0000) System clock synchronized: yes NTP service: active RTC in local TZ: no |
②TimeZoneの設定(日本への変更)
"timedatectl set-timezone Asia/Tokyo"
③TimeZoneの設定(事後確認)
"timedatectl"
# timedatectl Local time: Thu 2020-07-09 10:49:28 JST Universal time: Thu 2020-07-09 01:49:28 UTC RTC time: Thu 2020-07-09 01:49:28 Time zone: Asia/Tokyo (JST, +0900) System clock synchronized: yes NTP service: active RTC in local TZ: no |
・「Local time: XXX yyyy-mm-dd hh:mm:ss JST」JSTである事
・「Time zone: Asia/Tokyo (JST, +0900)」である事
2-3)事前作業3(日本語環境設定)
※OS環境の日本語化です①以下のコマンドを実行する
”apt -y install language-pack-ja-base language-pack-ja ibus-kkc”
”localectl set-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja" ”
"source /etc/default/locale"
"echo $LANG"
→"ja_JP.UTF-8"である事を確認
“date”
→日本語で表示される事を確認する
例:YYYY年 MM月 DD日 XXXX HH:MM:SS JST
2-4)ZoneMinder1.34のインストール
①LAMPインストール”apt install apache2 php mariadb-server php-mysql libapache2-mod-php”
※リプライは"y"を返答する
※処理に多少時間が掛かります
②MariaDBのセキュリティ強化
※必項ではないですが、セキュリティ強化の為、やっておいた方が良いです
"mysql_secure_installation"
以下、リプライメッセージに返答していく Enter current password for root (enter for none): ※ubuntuのrootパスワードを入力 →(ubuntuのrootパスワードを入力) Change the root password? [Y/n] ※rootのパスワードを変更するか? →(Y/nを返答) ※"y"の場合は変更、"n"の場合はそのまま ※以下、"n"の場合 Remove anonymous users? [Y/n] ※匿名ユーザを削除するか? →"y" Disallow root login remotely? [Y/n] ※リモートからのrootログインを禁止するか? →"y" Remove test database and access to it? [Y/n] テスト用DBを削除するか? →"y" Reload privilege tables now? [Y/n] ※権限テーブルの再読み込みを行うか? →"y" Thanks for using MariaDB!で終了 |
③zm-installの作成(インストール用シェルの作成)
例:"vi zm-install"
尚、Wikiではエディターにnanoを使用していますが、当方はviを使用しています。
(ご自分の使いやすいエディターを使用して下さい)
○zm-instalの中身
#!/bin/sh clear read -p "This script installs Zoneminder 1.34.x on Ubuntu 20.04 or 18.04 with LAMP (MySQL or Mariadb) installed... Press Enter to continue or Ctrl + c to quit" nothing clear read -p "You must be logged in as root using sudo su If you are installing on MySQL 8 perform the additional steps before continuing! Press Enter to continue or Ctrl + c to quit" nothing clear read -p "Next we will add the PPA repository, install and configure the system to run Zoneminder. Press enter to continue" nothing apt install -y software-properties-common clear add-apt-repository ppa:iconnor/zoneminder-1.34 clear apt install -y zoneminder systemctl enable zoneminder service zoneminder start adduser www-data video a2enconf zoneminder a2enmod rewrite a2enmod headers a2enmod expires service apache2 reload clear read -p "Install complete. Open Zoneminder/Options and set the timezine. Press enter to continue" nothing clear |
④アクセス権の変更
"chmod 755 zm-install"
⑤シェルの実行
"./zm-install"
→確認が来るので[Enter]を入力
※4回確認が来ますので[Enter]キーを押下します。
その後、インストール処理が進み「Install complete. Open Zoneminder/Options and set the timezine. Press enter to continue」が表示されればインストールは完了です。
→[Enter]キーを押下します。
⑥動作確認(その1)
ブラウザで対象サーバにアクセスし、zoneminderのサイト(ZoneMinder - Privacy)が表示されます。
接続url:<サーバIP>/zm
⓻動作確認(その2)
そのまま、「ZoneMinder - Privacy」が表示されているので画面を下にスクロールさせ、左下にある"Decline"を"Accept"に変更し、右下にある"APPLY"を押下します。
→その後、ZonmeMinderのメイン画面が表示されればOKです。
2-5)TimeZoneの設定
シェルの最終メッセージにも表示(先の⑤のOptions and set the timezine.)されていますが、そのままですとZoneMinderのログに以下のエラーメッセージが出力し続けます。〇ZoneMinder上のエラーログの内容
「ZoneMinder is not configured properly: php's date.timezone is not set to a valid timezone. Please check Options->System->Timezone」
その対応策として、以下の3か所の設定を変更をします。
〇対象
①/etc/php/7.4/cli/php.ini
②/etc/php/7.4/apache2/php.ini
③ZoneMinderのOption
備考)ファイルの探し方
"find / -name "php.ini""
※これで探せます。
①/etc/php/7.4/cli/php.iniの変更
例:"vi /etc/php/7.4/cli/php.ini"
※959行にある[Date]内に以下の内容を追加し、保存する。
date.timezone = "Asia/Tokyo"
②/etc/php/7.4/apache2/php.iniの変更
例:"vi /etc/php/7.4/apache2/php.ini"
※959行にある[Date]内に以下の内容を追加し、保存する。
date.timezone = "Asia/Tokyo"
③ZoneMinderのOptionの変更
WebブラウザーでZonmeMinderに接続し、上部の「Options」内にある「TIMEZONE」を
"Unset -use value in php.ini"から"(GMT+09:00) Asia,Tokyo"に変更し、画面右下の「SAVE」を押下して保存する
④サーバーを再起動
※各サービスの再起動でも良いですが、おまじないも含めてシステム自体を再起動させています
⑤再起動後、ZoneMinderのログを確認しエラーが出ない事を確認する。
インストール後は、旧バージョン(1.32)とベースは変わらないと思いますので、設定項目等については
以下の物を参照頂ければと思います。
・【NVR】zoneminder(1.32)の設定手順のまとめ(Ubuntu 18.04)
3.参考
本記事のベースとなった情報です。
・[外部サイト]: Ubuntu Server or Desktop Zoneminder 1.34.x(英語)
4.まとめ
旧バージョン(Ubuntu18.04とZoneMinder1.32)と比べてインストールは比較的簡単になっているかと思います。 (その代わり、セキュリティ強化の部分やTimeZoneの部分等が増えていますが・・)
何にしても現行の最新バージョンで利用できるので試してみるとよいでしょう。
以上
○改定履歴
2020/07/09 初版作成
2021/02/10 誤字の修正(編集対象が/etc/php/7.4/apache2/php.iniだった)
2021/02/11 ZoneMinder v1.34.23での記事確認
タグもどき:IPカメラ Webカメラ Zoneminder セキュリティ NVR
PR