忍者ブログ

one's way

個人の趣味で色々な物を触ったり、検証した内容等纏めたブログです。

【NVR】zoneminder(1.34)のインストール・設定手順のまとめ(Ubuntu 20.04)

最終更新日:2021/02/10

約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