• カテゴリー別アーカイブ zoneminder
  • ZoneMinder新規インストール時に「ZoneMinder – Privacy」から先に進まない件

    サーバ入れ替えに伴い、ZoneMinderを新規インストールしました。その際に「ZoneMinder – Privacy」でAPPLYを押してもエンドレスループしました。

    エンドレスループした画面は以下。

    その際に出ていたApacheログは以下。

    [Sun Feb 21 20:53:02.940049 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_LOG_LEVEL_DATABASE - assumed 'ZM_LOG_LEVEL_DATABASE' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/logger.php on line 102
    [Sun Feb 21 20:53:02.940090 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_LOG_LEVEL_FILE - assumed 'ZM_LOG_LEVEL_FILE' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/logger.php on line 107
    [Sun Feb 21 20:53:02.940101 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_LOG_DEBUG - assumed 'ZM_LOG_DEBUG' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/logger.php on line 136
    [Sun Feb 21 20:53:02.940107 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_LOG_DEBUG_TARGET - assumed 'ZM_LOG_DEBUG_TARGET' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/logger.php on line 137
    [Sun Feb 21 20:53:02.940198 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_LOG_LEVEL_DATABASE - assumed 'ZM_LOG_LEVEL_DATABASE' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/logger.php on line 102
    [Sun Feb 21 20:53:02.940210 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_LOG_LEVEL_FILE - assumed 'ZM_LOG_LEVEL_FILE' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/logger.php on line 107
    [Sun Feb 21 20:53:02.940216 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_LOG_LEVEL_WEBLOG - assumed 'ZM_LOG_LEVEL_WEBLOG' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/logger.php on line 112
    [Sun Feb 21 20:53:02.940219 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_LOG_LEVEL_SYSLOG - assumed 'ZM_LOG_LEVEL_SYSLOG' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/logger.php on line 117
    [Sun Feb 21 20:53:02.940237 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_LOG_DEBUG - assumed 'ZM_LOG_DEBUG' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/logger.php on line 136
    [Sun Feb 21 20:53:02.940244 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_LOG_DEBUG_TARGET - assumed 'ZM_LOG_DEBUG_TARGET' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/logger.php on line 137
    [Sun Feb 21 20:53:02.940631 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_COOKIE_LIFETIME - assumed 'ZM_COOKIE_LIFETIME' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/session.php on line 11
    [Sun Feb 21 20:53:02.940808 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_COOKIE_LIFETIME - assumed 'ZM_COOKIE_LIFETIME' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/session.php on line 39
    [Sun Feb 21 20:53:02.940818 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  A non-numeric value encountered in /usr/share/zoneminder/www/includes/session.php on line 39
    [Sun Feb 21 20:53:02.940823 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_COOKIE_LIFETIME - assumed 'ZM_COOKIE_LIFETIME' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/session.php on line 40
    [Sun Feb 21 20:53:02.940826 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_COOKIE_LIFETIME - assumed 'ZM_COOKIE_LIFETIME' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/session.php on line 40
    [Sun Feb 21 20:53:02.940830 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  A non-numeric value encountered in /usr/share/zoneminder/www/includes/session.php on line 40
    [Sun Feb 21 20:53:02.945388 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_OPT_USE_AUTH - assumed 'ZM_OPT_USE_AUTH' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/auth.php on line 296
    [Sun Feb 21 20:53:02.945410 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_AUTH_HASH_LOGINS - assumed 'ZM_AUTH_HASH_LOGINS' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/auth.php on line 306
    [Sun Feb 21 20:53:02.945415 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_AUTH_TYPE - assumed 'ZM_AUTH_TYPE' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/auth.php on line 321
    [Sun Feb 21 20:53:02.945420 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_AUTH_HASH_LOGINS - assumed 'ZM_AUTH_HASH_LOGINS' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/auth.php on line 264
    [Sun Feb 21 20:53:02.945423 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_AUTH_RELAY - assumed 'ZM_AUTH_RELAY' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/auth.php on line 264
    [Sun Feb 21 20:53:02.945696 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_AUTH_HASH_IPS - assumed 'ZM_AUTH_HASH_IPS' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/auth.php on line 331
    [Sun Feb 21 20:53:02.945715 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_OPT_USE_AUTH - assumed 'ZM_OPT_USE_AUTH' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/auth.php on line 216
    [Sun Feb 21 20:53:02.945726 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_AUTH_RELAY - assumed 'ZM_AUTH_RELAY' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/auth.php on line 216
    [Sun Feb 21 20:53:02.947984 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_LANG_DEFAULT - assumed 'ZM_LANG_DEFAULT' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/lang.php on line 46
    [Sun Feb 21 20:53:02.952628 2021] [php7:notice] [pid 279548] [client 192.168.0.240:62176] WAR [System language file lang/ZM_LANG_DEFAULT.php does not exist.]
    [Sun Feb 21 20:53:02.952719 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_BANDWIDTH_DEFAULT - assumed 'ZM_BANDWIDTH_DEFAULT' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/skins/classic/skin.php on line 22
    [Sun Feb 21 20:53:02.952765 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_ENABLE_CSRF_MAGIC - assumed 'ZM_ENABLE_CSRF_MAGIC' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/index.php on line 226
    [Sun Feb 21 20:53:02.952777 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_AUTH_HASH_SECRET - assumed 'ZM_AUTH_HASH_SECRET' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/csrf/csrf-magic.php on line 55
    [Sun Feb 21 20:53:02.952783 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_AUTH_HASH_SECRET - assumed 'ZM_AUTH_HASH_SECRET' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/csrf/csrf-magic.php on line 105
    [Sun Feb 21 20:53:02.952796 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_OPT_USE_AUTH - assumed 'ZM_OPT_USE_AUTH' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/index.php on line 251
    [Sun Feb 21 20:53:02.952804 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_SHOW_PRIVACY - assumed 'ZM_SHOW_PRIVACY' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/index.php on line 267
    [Sun Feb 21 20:53:02.952858 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_WEB_TITLE_PREFIX - assumed 'ZM_WEB_TITLE_PREFIX' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/skins/classic/includes/functions.php on line 97
    [Sun Feb 21 20:53:02.952984 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_TELEMETRY_DATA - assumed 'ZM_TELEMETRY_DATA' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/skins/classic/views/privacy.php on line 66
    [Sun Feb 21 20:53:02.955589 2021] [php7:notice] [pid 279548] [client 192.168.0.240:62176] WAR [Specified value ZM_TELEMETRY_DATA not in contents: Array\n(\n    [1] => Accept\n    [0] => Decline\n)]
    [Sun Feb 21 20:53:02.955726 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_WEB_AJAX_TIMEOUT - assumed 'ZM_WEB_AJAX_TIMEOUT' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/skins/classic/js/skin.js.php on line 27
    [Sun Feb 21 20:53:02.955735 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_WEB_REFRESH_NAVBAR - assumed 'ZM_WEB_REFRESH_NAVBAR' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/skins/classic/js/skin.js.php on line 28
    [Sun Feb 21 20:53:02.955739 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  A non-numeric value encountered in /usr/share/zoneminder/www/skins/classic/js/skin.js.php on line 28
    [Sun Feb 21 20:53:02.955803 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_WEB_ANIMATE_THUMBS - assumed 'ZM_WEB_ANIMATE_THUMBS' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/skins/classic/js/skin.js.php on line 55
    [Sun Feb 21 20:53:02.955815 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_AUTH_HASH_IPS - assumed 'ZM_AUTH_HASH_IPS' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/skins/classic/js/skin.js.php on line 83
    [Sun Feb 21 20:53:02.955820 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_OPT_USE_AUTH - assumed 'ZM_OPT_USE_AUTH' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/auth.php on line 216
    [Sun Feb 21 20:53:02.955823 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_AUTH_RELAY - assumed 'ZM_AUTH_RELAY' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/auth.php on line 216
    [Sun Feb 21 20:53:02.955828 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_OPT_USE_AUTH - assumed 'ZM_OPT_USE_AUTH' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/auth.php on line 281
    [Sun Feb 21 20:53:02.955832 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_AUTH_RELAY - assumed 'ZM_AUTH_RELAY' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/auth.php on line 282
    [Sun Feb 21 20:53:02.955835 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_AUTH_RELAY - assumed 'ZM_AUTH_RELAY' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/auth.php on line 284
    [Sun Feb 21 20:53:02.955838 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_AUTH_RELAY - assumed 'ZM_AUTH_RELAY' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/auth.php on line 287
    [Sun Feb 21 20:53:02.955842 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_AUTH_RELAY - assumed 'ZM_AUTH_RELAY' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/auth.php on line 290
    [Sun Feb 21 20:53:02.958641 2021] [php7:notice] [pid 279548] [client 192.168.0.240:62176] ERR [Unknown value for ZM_AUTH_RELAY ZM_AUTH_RELAY]
    [Sun Feb 21 20:53:03.297556 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_LOG_LEVEL_DATABASE - assumed 'ZM_LOG_LEVEL_DATABASE' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/logger.php on line 102, referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.297584 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_LOG_LEVEL_FILE - assumed 'ZM_LOG_LEVEL_FILE' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/logger.php on line 107, referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.297592 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_LOG_DEBUG - assumed 'ZM_LOG_DEBUG' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/logger.php on line 136, referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.297595 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_LOG_DEBUG_TARGET - assumed 'ZM_LOG_DEBUG_TARGET' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/logger.php on line 137, referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.297647 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_LOG_LEVEL_DATABASE - assumed 'ZM_LOG_LEVEL_DATABASE' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/logger.php on line 102, referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.297655 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_LOG_LEVEL_FILE - assumed 'ZM_LOG_LEVEL_FILE' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/logger.php on line 107, referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.297659 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_LOG_LEVEL_WEBLOG - assumed 'ZM_LOG_LEVEL_WEBLOG' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/logger.php on line 112, referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.297663 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_LOG_LEVEL_SYSLOG - assumed 'ZM_LOG_LEVEL_SYSLOG' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/logger.php on line 117, referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.297668 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_LOG_DEBUG - assumed 'ZM_LOG_DEBUG' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/logger.php on line 136, referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.297672 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_LOG_DEBUG_TARGET - assumed 'ZM_LOG_DEBUG_TARGET' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/logger.php on line 137, referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.297976 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_COOKIE_LIFETIME - assumed 'ZM_COOKIE_LIFETIME' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/session.php on line 11, referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.298133 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_COOKIE_LIFETIME - assumed 'ZM_COOKIE_LIFETIME' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/session.php on line 39, referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.298144 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  A non-numeric value encountered in /usr/share/zoneminder/www/includes/session.php on line 39, referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.298150 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_COOKIE_LIFETIME - assumed 'ZM_COOKIE_LIFETIME' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/session.php on line 40, referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.298154 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_COOKIE_LIFETIME - assumed 'ZM_COOKIE_LIFETIME' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/session.php on line 40, referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.298158 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  A non-numeric value encountered in /usr/share/zoneminder/www/includes/session.php on line 40, referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.302252 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_MIN_STREAMING_PORT - assumed 'ZM_MIN_STREAMING_PORT' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/functions.php on line 106, referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.302367 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_OPT_USE_AUTH - assumed 'ZM_OPT_USE_AUTH' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/auth.php on line 296, referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.302380 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_AUTH_HASH_LOGINS - assumed 'ZM_AUTH_HASH_LOGINS' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/auth.php on line 306, referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.302385 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_AUTH_TYPE - assumed 'ZM_AUTH_TYPE' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/auth.php on line 321, referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.302391 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_AUTH_HASH_LOGINS - assumed 'ZM_AUTH_HASH_LOGINS' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/auth.php on line 264, referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.302395 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_AUTH_RELAY - assumed 'ZM_AUTH_RELAY' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/auth.php on line 264, referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.302637 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_AUTH_HASH_IPS - assumed 'ZM_AUTH_HASH_IPS' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/auth.php on line 331, referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.302651 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_OPT_USE_AUTH - assumed 'ZM_OPT_USE_AUTH' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/auth.php on line 216, referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.302656 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_AUTH_RELAY - assumed 'ZM_AUTH_RELAY' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/auth.php on line 216, referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.305289 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_LANG_DEFAULT - assumed 'ZM_LANG_DEFAULT' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/lang.php on line 46, referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.307597 2021] [php7:notice] [pid 279548] [client 192.168.0.240:62176] WAR [System language file lang/ZM_LANG_DEFAULT.php does not exist.], referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.307672 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_BANDWIDTH_DEFAULT - assumed 'ZM_BANDWIDTH_DEFAULT' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/skins/classic/skin.php on line 22, referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.307711 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_ENABLE_CSRF_MAGIC - assumed 'ZM_ENABLE_CSRF_MAGIC' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/index.php on line 226, referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.307735 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_AUTH_HASH_SECRET - assumed 'ZM_AUTH_HASH_SECRET' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/csrf/csrf-magic.php on line 55, referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.307742 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_AUTH_HASH_SECRET - assumed 'ZM_AUTH_HASH_SECRET' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/csrf/csrf-magic.php on line 105, referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.307767 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_OPT_USE_AUTH - assumed 'ZM_OPT_USE_AUTH' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/index.php on line 251, referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.307777 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_SHOW_PRIVACY - assumed 'ZM_SHOW_PRIVACY' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/index.php on line 267, referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.307806 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_LOG_LEVEL_DATABASE - assumed 'ZM_LOG_LEVEL_DATABASE' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/logger.php on line 102, referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.307814 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_LOG_LEVEL_FILE - assumed 'ZM_LOG_LEVEL_FILE' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/logger.php on line 107, referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.307817 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_LOG_LEVEL_WEBLOG - assumed 'ZM_LOG_LEVEL_WEBLOG' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/logger.php on line 112, referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.307820 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_LOG_LEVEL_SYSLOG - assumed 'ZM_LOG_LEVEL_SYSLOG' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/logger.php on line 117, referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.307827 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_LOG_DEBUG - assumed 'ZM_LOG_DEBUG' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/logger.php on line 136, referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.307831 2021] [php7:warn] [pid 279548] [client 192.168.0.240:62176] PHP Warning:  Use of undefined constant ZM_LOG_DEBUG_TARGET - assumed 'ZM_LOG_DEBUG_TARGET' (this will throw an Error in a future version of PHP) in /usr/share/zoneminder/www/includes/logger.php on line 137, referer: http://192.168.0.230/zm/index.php?view=privacy
    [Sun Feb 21 20:53:03.310910 2021] [php7:notice] [pid 279548] [client 192.168.0.240:62176] ERR [TypeError%3A%20canEdit%20is%20undefined], referer: http://192.168.0.230/zm/index.php?view=privacy

    原因

    最初のログからわかる通り「ZM_LOG_LEVEL_DATABASE」等の環境変数が無くてエラーになっています。その環境変数は「/usr/share/zoneminder/db/zm_create.sql」で作成され、MySQLの「zm」データベース「Config」テーブルに存在しているはずが、それが無いためにエラーとなっていました。

    対策

    ZoneMinderのDBを再作成します。

    # 対象のDBを削除
    sudo mysql
    drop database zm
    quit
    
    # SQL文中にDB作成も入っているので、以下を流し込む
    sudo mysql -uroot < /usr/share/zoneminder/db/zm_create.sql

  • iPhone/Androidで外出先から自宅、オフィスへVPN(L2TP)接続する方法(NURO光の設定例)

    外出先からiPhone/Androidを用いて自宅やオフィスのVPNにアクセスし、最低限の出費で自宅・オフィス内のリソースにアクセスする方法をスクリーンショットを用いて懇切丁寧に解説します。

    VPN設定完了後に、iPhone/Androidから監視カメラの映像を確認することを目的として書いていますが、出先から自宅にVPN接続して前日のTV録画データを見たい等の要件でも、同様の設定でお使いいただけます。

    最終的な構成図は下図の通りで、NURO光(ニューロ光)を導入していることを前提としていますが、おそらくAU光等でも、ホームゲートウェイで同じ設定が出来れば設定できるかと思います。

    構成図

    初めに:VPN経由で自宅の監視カメラ映像を確認したい状況とは?

    外出先から自宅・オフィスの状況を確認したい状況は思いつく限りで以下が挙げられます。

    • 防犯目的
    • 来客・宅配状況の確認
    • 子供の遊んでいる・寝ている状況の確認
    • ペットの確認
    • 要介護のご高齢者宅に設置したカメラの確認(一台だけで済む場合には、格安SIMをセッティングしたLTEモバイルルータと、Amazon Echo showでもTV電話の組み合わせの方が良いと思います。)

    NURO光ではVPNを利用できない?⇒出来ます

    VPNを設定する知識が必要ですが、L2TPやipsec対応ルータを出荷しているメーカーは、その設定方法や設定例を公開していることが多く、その設定例に従うことで設定可能です。

    但し、NURO光は、速度が出る為人気のあるプロバイダなのですが、ルータ機能が内蔵されたゲートウェイを貸し出しており、そのゲートウェイを使う事が必須となります。

    ここで問題なのは「VPNルータを他のルータの下に置いてVPNが張れるのか?」です。その問題については、下図の通り、NURO光ホームゲートウェイ(NURO光wi-fiルーター)から、配下のVPNルータにVPN関係の通信を全てフォワードすることで解決できます。

    NURO光を押すもう一つの理由

    インターネットプロバイダと契約する場合には、「固定IP」か「非固定IP(動的)」かを選択することになりますが、「固定IP」は有料オプション、ないしはビジネス用メニューでのみサポートされていることが一般的です。

    ・・・なのですが、普通に契約する一般家庭向けのNURO光は、固定IPではないのですが、契約して6年以上経つ現在もいまだ一回もIPが変更されたことはありません。ですので、「半固定IP」と認識してもいいかと考えられます。

    VPNを設定するうえで、接続先のIPが変更となると、VPN接続元(iPhone/Android)で接続先サーバを変更する必要があります。自身のWAN側IPアドレスが変更されるたびに、DNSサーバにIPを登録しなおす仕組みDDNS(Dynamic DNS)を設定してもいいのですが、話を簡単にするためにNURO光をお勧めさせていただきました。

    UbuntuやCentOSのイメージを1日に何度もDLして、AmazonPrimeVideoを日中時間帯ずっと見つつ、Zoomのビデオ会議をしていても速度規制もされない点もおすすめポイントの一つですね。

    具体的な条件

    本投稿で構築する環境の前提条件は以下の通りです。

    • ニューロ光が導入済み、もしくはこれから導入する予定であること
    • L2TPサーバ機能を有するVPNルータを購入済みであること
    • ZoneMinderサーバをセットアップ済みである事(VPNを引きたいだけの場合、こちらは無視して構いません)

    NURO光の導入について

    開通済みであれば先に進んでください。まだ申し込んでいない場合には適宜キャンペーンを用いて申し込みするといいと思います。アナログ固定電話もある場合、NURO光電話もセットで申し込むと電話代が月500円に削減可能です。

    序の紹介となりますが、NURO光電話はNURO光テレフォニーアダプターまではLANケーブルなので、LANケーブルさえ伸ばせば、NURO光Wi-Fiルータから離れた場所に電話機を設置することも可能です。(マンションなどの壁面コンセントが1端子しかない場合には、VLAN対応のスイッチを導入すると、電話とデータの通信を1本のLANケーブルで伝送できます)

    L2TPサーバ機能を有するVPNルータの購入について

    ヤフオクで中古品を購入する事に抵抗が無ければ、ヤフオクで以下製品が5000円以下で購入可能です。仕事で購入する場合には、新品購入が良いかと思います。その場合はRTX830あたりがねらい目でしょうか。

    メーカー型番中古価格新品価格備考
    YAMAHA(ヤマハ)RTX8104,000円弱販売終了消費電力少な目
    YAMAHA(ヤマハ)RTX83035,000円前後49,480円消費電力少な目。値段差を考えると、新品で良いかと
    YAMAHA(ヤマハ)RTX12005,000円前後販売終了
    YAMAHA(ヤマハ)RTX121060,000円前後79,800円値段差を考えると、新品で良いかと
    YAMAHA(ヤマハ)FWX1203,500円前後57,980円消費電力少な目。ヤマハ製品のファイアウォールと言う扱いで、RTX系とはコマンドが微妙に違うため、不人気。但し、現行品にも限らず中古品が安いのでお勧め。ちなみにうちはFWX120です。

    なお、VPNにはIPsec、L2TP、PPTPの3種類の選択肢がありますが、PPTPのみしかサポートしていないルータは利用しないことを強くお勧めします。

    ※PPTPを非推奨とする理由は、アップルのPPTP終了が製品/サービスに影響を参照してください。

    NURO光Wi-Fiルータの設定について

    NURO光Wi-Fiルータは導入時期によって以表の通りバリエーションが多数存在します。どのルータでも設定する内容に大差はないと思いますが、ここでは、HG8045Dの画面を例に解説しています。

    機種有線LANポート数TAポート数無線LAN下り最大通信速度無線LAN規格
    ZXHN F660T31450MbpsIEEE 802.11
    a/b/g/n
    HG8045j31450MbpsIEEE 802.11
    a/b/g/n
    HG8045D31450MbpsIEEE 802.11
    a/b/g/n
    ZXHN F660A311300MbpsIEEE 802.11
    a/b/g/n/ac
    HG8045Q311300MbpsIEEE 802.11
    a/b/g/n/ac
    FG4023B311300MbpsIEEE 802.11
    a/b/g/n/ac
    SGP200W311300MbpsIEEE 802.11
    a/b/g/n/ac
    NSD-G1000T31最大4800 Mbps802.11ax/ac/a/b/g/n

    NURO光 Wi-FiルータのVPN中継設定

    NURO光 Wi-Fiルータに対するVPN中継設定は以下のように実施してください。票の下に順番に画像も載せておきます。

    No種別マッピング名内部ホストプロトコル内部ポート番号外部ポート番号
    カスタムipsecVPNルータのWAN側IPUDP500 – 500500 – 500
    カスタムL2TP-UDP-4500VPNルータのWAN側IPUDP4500 – 45004500 – 4500
    カスタムL2TPVPNルータのWAN側IPUDP1701 – 17011701 – 1701
    カスタムL2TP-TCP-1723VPNルータのWAN側IPTCP1723 – 17231723 – 1723
    NURO光 Wi-FiルータのVPN中継設定

    ①ipsec

    ②L2TP-UDP-4500

    ③L2TP

    ④L2TP-TCP-1723

    VPNルータ側L2TP設定

    ヤマハの「L2TP/IPsecを使用したリモートアクセス : Web GUI設定」(画像を流用させていただきました。)を参考に設定します。

    スマホ(iPhone/Android)側でも設定する必要がある項目は以下なので、事前に決めておいてください。①事前共有鍵、③パスワードをスマホで打ち込むのは手間ですので、場合によってはメール等で送ってもいいかと思います。

    項目設定例備考
    ①事前共有鍵lckdio!_____0d9cu8cds8A1lc9cdu832ncd##c
    ※上記は設定例です。必ず変更してください
    出来るだけ複雑かつ長くしてください。
    ユーザー毎に事前共有鍵を変更することも可能ですが、L2TPでスマホを接続する場合には、全ユーザー共通の設定値となります。
    ②ユーザーIDuser1ユーザー毎に設定します。複数人いる場合には、user1、user2、user3・・・と設定してください。もちろん、「user1」はあなたの氏名でも構いません。
    ③パスワードid89cd89sCSD83kc))c3Ace__0cddcdsaA34出来るだけ難しくしてください。

    ①かんたん設定を選択

    ②プロバイダー接続を選択

    ③新規をクリック

    ④NURO光Wi-FiルータとVPNルータのLAN2インターフェースををLANケーブルで接続してください。そのうえで、LAN2を選択して次へ。

    ⑤次へ

    ⑥VPNルータがインターネット直下(ONU直下)の場合には、PPPoE接続を選択するのですが、今回はNURO光Wi-Fiルータを経由しますので、「DHCP、または固定IPアドレスによる接続」を選択します。次へ。

    ⑦DNSサーバのプライマリーDNSサーバーアドレスには「8.8.8.8」を入れて次へを押してください。(NURO光のDNSサーバアドレスを指定してもいいのですが、私の環境下ではNURO光のDNSサーバをLAN配下のPCに配るとインターネット接続が不安定になる為、使っていません)

    ⑧フィルターの設定をして次へ。ここでは「すべてのアプリケーションの利用を許可する」を選択しています。

    ⑨設定内容を確認して、問題なければ設定を確定してください。

    ⑩NURO光との接続設定が完了しました。

    ⑪次に、かんたん設定からVPNを選択します。

    ⑫リモートアクセスをクリックします。

    ⑬新規をクリックします。

    ⑭VPN(L2TP/IPsec)の設定をします。

    「①事前共有鍵」は、ユーザーID、パスワードと共に後でスマホ(iPhone/Android)にも設定するセキュリティ上重要な鍵です。この事前共有鍵は、VPNを設定する人以外には教えないようにすることで、VPN接続する人を制限できます。

    認証鍵①事前共有鍵(例:lckdio!_____0d9cu8cds8A1lc9cdu832ncd##c)
    認証アルゴリズムHMAC-SHA
    暗号アルゴリズムAES-CBC
    PPP認証方式CHAPもしくはPAP

    ⑮ユーザーの登録をします。

    下表の「②ユーザーID」と「③パスワード」を必要なユーザー数分登録します。念のために書いておきますが、「③パスワード」はユーザー毎に違うものにしてください。

    項目設定例備考
    ②ユーザーIDuser1ユーザー毎に設定します。複数人いる場合には、user1、user2、user3・・・と設定してください。もちろん、「user1」はあなたの氏名でも構いません。
    ③パスワードid89cd89sCSD83kc))c3Ace__0cddcdsaA34出来るだけ難しくしてください。

    ⑯入力内容に問題が無ければ設定を確定します。

    ⑰以上で、VPNルータの設定完了です。

    iPhone/AndroidのVPN設定

    ここから、iPhone/AndroidのVPN設定を行います。

    下準備:必要な情報の再確認

    最初に、スマホ(iPhone/Android)に設定するべき情報の一つである「④NURO光Wi-FiルータのWAN側IPアドレス」を以下画面から確認します。下図の赤枠部分(IPアドレス)ですね。

    ここで大事なのはVPNルータの設定手順中で設定した下表の値です。「②ユーザーID」と、「④NURO光Wi-FiルータのWAN側IPアドレス」は、手打ちでも入力可能なはずですので、「①事前共有鍵」「③パスワード」のみを、メール等でスマホに送り、コピペで入力するのが良いかと思います。

    項目設定例備考
    ①事前共有鍵lckdio!_____0d9cu8cds8A1lc9cdu832ncd##c
    ※上記は設定例です。必ず変更してください
    出来るだけ複雑かつ長くしてください。
    ユーザー毎に事前共有鍵を変更することも可能ですが、L2TPでスマホを接続する場合には、全ユーザー共通の設定値となります。
    ②ユーザーIDuser1ユーザー毎に設定します。複数人いる場合には、user1、user2、user3・・・と設定してください。もちろん、「user1」はあなたの氏名でも構いません。
    ③パスワードid89cd89sCSD83kc))c3Ace__0cddcdsaA34出来るだけ難しくしてください。
    ④NURO光Wi-FiルータのWAN側IPアドレスxxx.xxx.xxx.xxx
    iPhone/AndroidのVPN設定に必要な値

    iPhoneのVPN(L2TP)設定

    設定をタップします。

    一般をタップします。

    VPNをタップします。

    タイプにL2TPを選択します。

    設定画面に、下表の値を設定します。

    項目名対応する項目設定例備考
    説明自宅ただの識別名称です。何でもいいです。自宅でも職場でも。
    サーバ④NURO光Wi-FiルータのWAN側IPアドレスxxx.xxx.xxx.xxxサーバのグローバルIPアドレス
    アカウント②ユーザーIDuser1ユーザー毎に設定します。複数人いる場合には、user1、user2、user3・・・と設定してください。もちろん、「user1」はあなたの氏名でも構いません。
    パスワード③パスワードid89cd89sCSD83kc))c3Ace__0cddcdsaA34出来るだけ難しくしてください。
    シークレット①事前共有鍵lckdio!_____0d9cu8cds8A1lc9cdu832ncd##c
    ※上記は設定例です。必ず変更してください
    出来るだけ複雑かつ長くしてください。
    ユーザー毎に事前共有鍵を変更することも可能ですが、L2TPでスマホを接続する場合には、全ユーザー共通の設定値となります。
    全ての信号を送信OFFONにすると、何でもかんでもVPN側に送信します。
    その場合、VPNを有効化している間はスマホはインターネットを見れません(メールやLineも出来なくなります)。
    なので、OFFにしておいた方が無難です。
    iPhone/AndroidのVPN設定に必要な値

    設定が完了したら、状況が未接続になっているので、タップして接続してみます。

    一点、注意事項ですが、VPN先の無線LANに接続したままVPN接続すると、上手くいきません(当たり前ですよね。最初からVPN接続先のLANにいるのですから)。ですので、スマホがWifi接続されている場合には、Wifiを無効にして外出先同様、キャリア回線を利用してVPNを有効にしてください。

    下図の通り、接続済みとなれば設定完了です。

    ZoneMinderにVPN経由でアクセスする

    ブラウザを起動し、ZoneMinderサーバを以下のように指定します。

    http://zoneminderサーバ/zm

    VPN経由であっても、宅内同様に以下のようにコンソール画面が確認できます。

    録画映像画面は以下の通り。

    最後に

    NTTのフレッツ光の場合には、ONU直下に自分でチョイスしたお好きなルータを置けたのですが、最近速度・価格面で一押しのNURO光(ニューロ光)やAU光はONUとルータがセットになったものしか提供されない為、VPN接続等を利用する場合の選択肢が狭まって困ります。

    しかし、実際のところ上位のNURO光(ニューロ光)のWi-Fiルータ側で適切にフォワーディングしてやることで、VPN接続をすることが出来ます。どの設定項目をどう使えばいいのか、一気通貫でまとまっているところが無かったので、今回その紹介記事を書いてみました。

    VPNルータはYAMAHA製(すいません。設定画面のスクリーンショットを拝借しました)が一押しだったため、YAMAHA製品の設定例を載せました。YAMAHA製品はコマンドラインからもきめ細かい設定が出来る為、万が一、VPNがつながらなくても何とか設定で回避できる事があります。

    また、企業で導入する際にはSCSKさんでCarePlusと言うパッケージを用意してくださっています。先出センドバックで年間1万円以下なので、企業のユーザーさんで「壊れた時はどうするの?」と言う方は、CarePlusをあわせて導入すればいいかと思います。なお、CarePlusは新規購入したルータのシリアル番号等を添えて申し込むため、必要ならSCSKさんのサイトで確認してみてください。(注:私はSCSKさんの関係者ではありません。)


  • ZoneMinderの録画用HDDを新規追加する方法

    HDDを新規追加し、既存データを移行する段取りを紹介します。またZoneMinderはカメラ10台程度であれば、3MByte/秒以上(カメラ1台当たり80kbyte~500kbyte)の書き込みが出来ればいいことから、HDDにはわざとCMRではなくSMR(瓦)の2.5inch HDDを利用しています。

    初めに

    この投稿では2TBのHDDに引っ越ししていますが、引っ越し前はST1000LM048×2台でLinuxのソフトウェアRAIDを組み、うち500GByteを監視カメラ用の領域として利用していました。

    防犯カメラ用のHDDと言うと、一般的には録画用途に専用設計されたHDDを思い浮かべるかと思います。有名どころではWD(ウェスタンデジタル)のPurpleシリーズと、SeagateのSkyhawkです。
    まともなメーカーのDVRの場合には、PurpleやSkyhawk等の防犯カメラ専用に売られているHDDでないと、認識すらしてくれないこともある為、SHOP店員さんに「防犯カメラの録画用HDDをください」と言うと、それらシリーズを進められることが多いです。

    しかし、PurpleもSkyhawkも高価な為、庶民的な価格のHDDを用いて(必要ならRAID1を組んで)録画データを記録したい為、私は敢えてSMRのHDDを利用しています。Linuxで認識可能なHDDで、かつ速度がある程度出れば利用可能な点もZoneMinderならではの利点ですね。

    私は、5インチベイに3.5インチHDDをスロットインで搭載するケースを利用していることもあり、今回24時間365日運用の消費電力削減も狙って東芝の「MQ04ABD200」を購入しました。お値段6000円程度です。

    ※WDのPurple3TBはAmazonでも9000円程度です。特にこだわりが無ければPurple3TBでも良いかと思います。
    ※市販品のDVRを利用する場合には、DVRがサポートしているHDD以外は認識しない可能性があります。

    引っ越し作業(旧HDD⇒新HDDへ)

    引っ越し作業は以下の流れで実施します。

    1. 新HDDの物理的な取り付け(ケース内部にねじ止めし、電源、SATAケーブルを接続する)
    2. 新HDDのパーティション作成とフォーマット
    3. ZoneMinderの停止(データ引っ越し中に常時録画されると困る為)
    4. 旧HDD⇒新HDDへデータを移動
    5. /etc/fstabの記載とマウントテスト
    6. ZoneMinderの開始
    7. テスト:再起動後に想定した動作となる事を確認

    1.新HDDの物理的な取り付け(ケース内部にねじ止めし、電源、SATAケーブルを接続する)

    筐体を開けて、HDDの取り付けを適宜行って下さい。2.5インチのHDDを一般的なPCケースに取り付ける場合にはマウンタが必要です。400円ぐらいです。5インチベイに2.5インチHDDを4台取り付け可能な物だと、こういった製品もありますが、少し割高です(私は利用しています)。

    2.新HDDのパーティション作成とフォーマット

    fdiskに「-l」オプションを付けて実行することで、対象HDDの情報が確認可能です。
    今回取り付けたHDDの型番、容量が表示されるHDDがどれかを確認します。
    ちなみに、当環境では/dev/sdeでした。

    sudo fdisk -l /dev/sda
    sudo fdisk -l /dev/sdb
    sudo fdisk -l /dev/sdc
    sudo fdisk -l /dev/sdd
    sudo fdisk -l /dev/sde
    sudo fdisk -l /dev/sdf
    
    # Disk /dev/sde: 1.84 TiB, 2000398934016 bytes, 3907029168 sectors
    # ↑★ここで/dev/sdeであることを確認
    # Disk model: TOSHIBA MQ04ABD2 ←★ここで東芝のMQ04ABD2である事を確認
    # Units: sectors of 1 * 512 = 512 bytes
    # Sector size (logical/physical): 512 bytes / 4096 bytes
    # I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    
    sudo fdisk /dev/sde
    
    # nで新規パーティション追加を指定し、後は、デフォルトを選択。
    # 最後にwで保存して終了
    Command (m for help): n
    Partition type
       p   primary (0 primary, 0 extended, 4 free)
       e   extended (container for logical partitions)
    Select (default p): p
    Partition number (1-4, default 1):
    First sector (2048-3907029167, default 2048):
    Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-3907029167, default 39070291
    
    Created a new partition 1 of type 'Linux' and of size 1.8 TiB.
    
    Command (m for help): w
    
    sudo mkfs.ext4  /dev/sde

    3.ZoneMinderの停止(データ引っ越し中に常時録画されると困る為)

    単純にZoneMinderを停止させます。

    sudo systemctl stop zoneminder.service

    4.旧HDD⇒新HDDへデータを移動

    /mnt/tmpディレクトリを作成し、そこに一時的に新HDDの領域をマウントしてデータ移動します。ZoneMinderで録画先として指定している領域のデータを新HDDに移動させます。

    以下では移動元を「/var/cache/zoneminder/events」としていますが、ZoneMinderの管理画面「オプション⇒Storage」から確認可能です。

    mkdir /mnt/tmp
    sudo mount /dev/sde1 /mnt/tmp
    
    cd /var/cache/zoneminder/events
    sudo mv ./* ../tmp/
    
    # 最後にマウントを外しておく
    sudo umount /mnt/tmp

    ディスク容量によりますが、上記作業は1時間以上かかると思いますので、終わるまでひたすら待ちます。

    5./etc/fstabの記載とマウントテスト

    ずっと昔は/etc/fstabには/dev/sde1がどこにマウントされるかを記載するのが主流だったのですが、HDDの接続先を変更するだけで、sdeだったものがsdcになったりと不安定要素となります。

    ですので、最近の流行に倣って/etc/fstabはUUIDで記載します。

    # UUIDを確認する
    sudo tune2fs -l /dev/sde1 | grep UUID
    Filesystem UUID:          db2972c3-1c69-4101-90e4-7c778d8f93aa
    
    # /etc/fstabを記載する
    sudo vi /etc/fstab
    
    # 以下のように追記します。
    # viを上書きして終了するのは、「ESCキー」を押してから「:wq」エンターです
    /dev/disk/by-uuid/db2972c3-1c69-4101-90e4-7c778d8f93aa /var/cache/zoneminder/events ext4 defaults 0 0
    
    # マウントテスト
    sudo mount -a
    
    df
    /dev/sde1      1921802520   89125920 1734984540   5% /var/cache/zoneminder/events 
    # ↑dfの結果、/etc/fstabに記載した領域がマウントされている事

    6.ZoneMinderの開始

    開始処理で変なエラーが出ないことと、ZoneMinderの管理画面にログインし、各種カメラが正常に録画されている事等を確認します。

    sudo systemctl start zoneminder.service


    7.テスト:再起動後に想定した動作となる事を確認

    再起動し、再起動後も問題なく動くことを確認します。

    sudo reboot
    
    # 再起動後にサービスのステータスと、dfコマンドで追加したHDDが見えていることを確認
    sudo systemctl status zoneminder.service
    df

    「6.ZoneMinderの開始」で実施した確認作業を再度実施し、問題なければ完了です。

    最後に

    最近のHDDは殆どがSMRになってきていることから、防犯カメラ用HDDについてもSMRのHDDが利用できることを確認できれば、安価に録画システムを構築することが出来ます。更に、2.5インチHDDが利用可能であれば、容量は小さいですが、消費電力を抑えることが出来ます。


  • ZoneMinderでの動体検知制度調整方法

    ZoneMinderでは、動体検知があった場合にイベントを記録し、後でイベントが発生した時間帯のみ録画映像を確認することが可能です。

    しかし、この動体検知は、どの程度画面上動きがあったかを検知する閾値を設定することが可能です。具体的には以下の図の「参照画像ブレンド」の値を上下させることで調整可能で、小さくすると少しの動きでも検知し、大きくすると、大きな動きのみを検知します。

    場所
    屋内6.25%程度を推奨
    屋外12.5%~25%程度を推奨
    参照画像ブレンドの推奨設定値

    ご参考までに、私が屋内、屋外で設定している値は以下の通りです。

    屋内の参照画像ブレンド設定値:6.25%

    屋内の参照画像ブレンド設定値:25%

    カメラの動体検知制度は、運用しながら決めていくのが良いので、一度設定して数日運用し、イベント発生件数を確認後以下の通り調整します。

    過検知が多い画像参照ブレンドの数字を上げる
    検知すべきものが検知されていない画像参照ブレンドの数字を下げる

    また、カメラの一部にだけ、「別にこのエリアは検知すべきではないのに、木の葉が揺れてよく検知されてしまう」というような場合には、「イベント検知エリアの設定」を行うことで、イベント検知する領域を指定することが可能です。


  • SV3C B06W-5MP-HX

    「SV3C」について

    SV3Cは2013年に設立されたセキュリティホームデバイスに特化したメーカーとのことです。主な製品はPOE IPカメラ、ワイヤレスIPカメラ、家庭用カメラ、その他アクセサリで、自社ブランド度して「SV3C」を展開しており、一部にODM/OEMを提供しているとのことです。利用者視点では、SV3CのIPカメラはAmazonやヤフオク等で1万円以下のお手頃価格で入手しやすく、数年間にわたる運用でも問題なく稼働し続けるデバイスを製造しています。カメラのCCDは、Sony製を利用している場合と、それ以外のCCD(中国メーカー?)を利用している模様です。一点、注意点は5万円以上で売られている日本メーカー製に比べるとユーザーインターフェース等に粗削りな箇所があるところです。しかし、ONVIFで録画サーバにデータを集める場合、ユーザーインターフェースは初期設定にしか利用しない為、コスパの良い製品であることに変わりはありません。

    「B06W-5MP-HX」について

    Wifi/有線LANに対応したSony製CCDを用いた高解像度カメラです。PoEには対応していません。防水性能もIP66と申し分ありません。Amazonでも8000円前後で売られており、セール等で2000円程度値段が下がることもあります。近場に電源コンセントだけはあり、無線が届く場所に設置するのであればお勧めです。逆に、近場に電源コンセントが無いのであれば、PoE対応のカメラを購入した方が施工費用含めて安く抑えられます。

    「B06W-5MP-HX」の製品画像

    B06W-5MP-HX

    「B06W-5MP-HX」の参考価格、購入先

    B06W-5MP-HX (8,999円前後)

    「B06W-5MP-HX」のスペック情報

    ベンダ紹介ページベンダ製品紹介ページ
    POE
    Wifi IEEE 802.11 b/g/n
    表示画素数2560*1920
    イメージセンサー 1/2.8″ SONY335
    レンズ
    赤外線 36pcs LEDs, IR-CUT function, 5MP Night Vision
    View Angle 87°
    動作周囲温度-20℃~60℃
    防水性能
    電源 DC 12V 1A
    圧縮方式 H.265, H264
    SDカード Support Micro SD card and PC client linkage alarm recording
    プロトコル Support ONVIF 2.4(backward compatible)
    B06W-5MP-HX スペック情報

  • tp-link Tapo C200

    「tp-link」について

    TP-Linkは1996年に設立された中国深センに本社を置くネットワーク製品の製品開発・製造・販売をする企業。イーサネット、無線LAN、ブロードバンド、パワーライン通信などを網羅し、転送機器、LANスイッチやルーターなどの伝統ネットワーク製品のラインアップ以外にも、モバイルインターネット向け製品やスマートホームネットワーク製品の製造も充実を図っているようです。

    「Tapo C200」について

    Wifiのみサポートした高解像度カメラで、スマホアプリの操作性もよく、自身のSDカードへの録画(常時録画、イベントのみ録画)が可能です。外出先からカメラを確認する場合には、別途VPNの構築が必要ですが、動体検知通知だけは外出先でも届くため、「通知>(別途構築した)VPNを接続>画像確認>場合によっては双方向通話」と言うことが、アプリのみで完結可能です。また、onvifもサポートしていることから、ネットワークカメラを接続可能な録画ソリューションとの連携も可能です。しかし、一点だけ難点があります。それは無線LANであるがためか、無線LAN回りが不安定な場合にはカメラ自体が応答不能となり、監視できない時間帯が発生してしまうことです。半面、安定さえしてしまえば非常にコストパフォーマンスの高い製品でもある為、1台購入して問題なければ2台め、3台めと追加していくのがお勧めです。C100との違いはボディサイズと、首が振れるかどうか程度です。C200の方が外見が可愛らしいので、首振りと外見だけで決めていいと思います。

    「Tapo C200」の製品画像

    Tapo C200

    「Tapo C200」の参考価格、購入先

    Tapo C200 (4,500円前後)

    「Tapo C200」のスペック情報

    ベンダ紹介ページベンダ製品紹介ページ
    POE
    Wifi IEEE 802.11 b/g/n
    表示画素数1920*1080
    イメージセンサー1/2.9“
    レンズF/NO: 2.4; Focal Length: 4mm
    赤外線850 nm IR LED up to 30 ft
    View Angle水平に360°, 垂直に114°
    動作周囲温度0℃-40℃
    防水性能
    電源 DC 9V 0.6A
    圧縮方式H.264
    SDカード4~128GBをサポート
    プロトコル
    Tapo C200 詳細スペック

  • tp-link Tapo C100

    「tp-link」について

    TP-Linkは1996年に設立された中国深センに本社を置くネットワーク製品の製品開発・製造・販売をする企業。イーサネット、無線LAN、ブロードバンド、パワーライン通信などを網羅し、転送機器、LANスイッチやルーターなどの伝統ネットワーク製品のラインアップ以外にも、モバイルインターネット向け製品やスマートホームネットワーク製品の製造も充実を図っているようです。

    「Tapo C100」について

    Wifiのみサポートした高解像度カメラで、スマホアプリの操作性もよく、自身のSDカードへの録画(常時録画、イベントのみ録画)が可能です。外出先からカメラを確認する場合には、別途VPNの構築が必要ですが、動体検知通知だけは外出先でも届くため、「通知>(別途構築した)VPNを接続>画像確認>場合によっては双方向通話」と言うことが、アプリのみで完結可能です。また、onvifもサポートしていることから、ネットワークカメラを接続可能な録画ソリューションとの連携も可能です。しかし、一点だけ難点があります。それは無線LANであるがためか、無線LAN回りが不安定な場合にはカメラ自体が応答不能となり、監視できない時間帯が発生してしまうことです。半面、安定さえしてしまえば非常にコストパフォーマンスの高い製品でもある為、1台購入して問題なければ2台め、3台めと追加していくのがお勧めです。

    「Tapo C100」の製品画像

    Tapo C100

    「Tapo C100」の参考価格、購入先

    Tapo C100 (3,500円前後)

    「Tapo C100」のスペック情報

    ベンダ紹介ページベンダ製品紹介ページ
    POE
    Wifi IEEE 802.11 b/g/n
    表示画素数1920*1080
    イメージセンサー1/3.2“
    レンズF/NO: 2.0, Focal Length: 3.3 mm
    赤外線850 nm IR LED (最大約10m)
    View Angle不明
    動作周囲温度0℃-40℃
    防水性能
    電源 DC 9V 0.6A
    圧縮方式H.264
    SDカード4~128GBをサポート
    プロトコル
    Tapo C100 スペック詳細

  • SV3C B06W-1080P-HX

    「SV3C」について

    SV3Cは2013年に設立されたセキュリティホームデバイスに特化したメーカーとのことです。主な製品はPOE IPカメラ、ワイヤレスIPカメラ、家庭用カメラ、その他アクセサリで、自社ブランド度して「SV3C」を展開しており、一部にODM/OEMを提供しているとのことです。利用者視点では、SV3CのIPカメラはAmazonやヤフオク等で1万円以下のお手頃価格で入手しやすく、数年間にわたる運用でも問題なく稼働し続けるデバイスを製造しています。カメラのCCDは、Sony製を利用している場合と、それ以外のCCD(中国メーカー?)を利用している模様です。一点、注意点は5万円以上で売られている日本メーカー製に比べるとユーザーインターフェース等に粗削りな箇所があるところです。しかし、ONVIFで録画サーバにデータを集める場合、ユーザーインターフェースは初期設定にしか利用しない為、コスパの良い製品であることに変わりはありません。

    「B06W-1080P-HX」について

    Wifi/優先LANに対応した高解像度カメラです。PoEには対応していません。防水性能もIP66と申し分ありません。日本での取り扱いはまだ無いようです。近場に電源コンセントだけはあり、無線が届く場所に設置するのであればお勧めです。逆に、近場に電源コンセントが無いのであれば、PoE対応のカメラを購入した方が施工費用含めて安く抑えられます。

    「B06W-1080P-HX」の製品画像

    B06W-1080P-HX

    「B06W-1080P-HX」の参考価格、購入先

    まだ日本国内での取り扱いは無いようです

    「B06W-1080P-HX」のスペック情報

    ベンダ紹介ページベンダ製品紹介ページ
    POE
    Wifi IEEE 802.11 b/g/n
    表示画素数1920*1080
    イメージセンサー 1/3″ 2 Megapixel 3.6 mm CMOS sensor
    レンズ
    赤外線 36pcs LEDs, IR-CUT function
    View Angle 70°
    動作周囲温度-20℃~60℃
    防水性能
    電源 DC 12V 1A
    圧縮方式 H.265, H264
    SDカード Support Micro SD card and PC client linkage alarm recording
    プロトコル Support ONVIF 2.4(backward compatible)
    B06W-1080P-HX スペック詳細

  • SV3C B08W-5MP-HX

    「SV3C」について

    SV3Cは2013年に設立されたセキュリティホームデバイスに特化したメーカーとのことです。主な製品はPOE IPカメラ、ワイヤレスIPカメラ、家庭用カメラ、その他アクセサリで、自社ブランド度して「SV3C」を展開しており、一部にODM/OEMを提供しているとのことです。利用者視点では、SV3CのIPカメラはAmazonやヤフオク等で1万円以下のお手頃価格で入手しやすく、数年間にわたる運用でも問題なく稼働し続けるデバイスを製造しています。カメラのCCDは、Sony製を利用している場合と、それ以外のCCD(中国メーカー?)を利用している模様です。一点、注意点は5万円以上で売られている日本メーカー製に比べるとユーザーインターフェース等に粗削りな箇所があるところです。しかし、ONVIFで録画サーバにデータを集める場合、ユーザーインターフェースは初期設定にしか利用しない為、コスパの良い製品であることに変わりはありません。

    「B08W-5MP-HX」について

    Wifi/優先LANに対応したSony製CCDを用いた高解像度カメラです。PoEには対応していません。防水性能もIP66と申し分ありません。Amazonでも7500円前後で売られており、セール等で1500円程度値段が下がることもあります。近場に電源コンセントだけはあり、無線が届く場所に設置するのであればお勧めです。逆に、近場に電源コンセントが無いのであれば、PoE対応のカメラを購入した方が施工費用含めて安く抑えられます。

    「B08W-5MP-HX」の製品画像

    B08W-5MP-HX

    「B08W-5MP-HX」の参考価格、購入先

    B08W-5MP-HX (参考価格7500円前後)

    「B08W-5MP-HX」のスペック情報

    ベンダ紹介ページベンダ製品紹介ページ
    POE
    WifiIEEE 802.11 b/g/n
    表示画素数2560*1920
    イメージセンサー 1/2.8″ SONY335
    レンズ
    赤外線 18pcs LEDs, IR-CUT function, 5MP Night Vision
    View Angle 87°
    動作周囲温度-10℃~50℃
    防水性能
    電源 DC 12V 2A
    圧縮方式 H.265、H264
    SDカード Support Micro SD card and PC client linkage alarm recording
    プロトコル Support ONVIF 2.4(backward compatible)
    B08W-5MP-HX スペック詳細

  • SV3C B08W-3MP-HX

    「SV3C」について

    SV3Cは2013年に設立されたセキュリティホームデバイスに特化したメーカーとのことです。主な製品はPOE IPカメラ、ワイヤレスIPカメラ、家庭用カメラ、その他アクセサリで、自社ブランド度して「SV3C」を展開しており、一部にODM/OEMを提供しているとのことです。利用者視点では、SV3CのIPカメラはAmazonやヤフオク等で1万円以下のお手頃価格で入手しやすく、数年間にわたる運用でも問題なく稼働し続けるデバイスを製造しています。カメラのCCDは、Sony製を利用している場合と、それ以外のCCD(中国メーカー?)を利用している模様です。一点、注意点は5万円以上で売られている日本メーカー製に比べるとユーザーインターフェース等に粗削りな箇所があるところです。しかし、ONVIFで録画サーバにデータを集める場合、ユーザーインターフェースは初期設定にしか利用しない為、コスパの良い製品であることに変わりはありません。

    「B08W-3MP-HX」について

    Wifi/優先LANに対応した高解像度カメラです。PoEには対応していません。防水性能もIP66と申し分ありません。Amazonでも7000円前後で売られており、セール等で1000円程度値段が下がることもあります。近場に電源コンセントだけはあり、無線が届く場所に設置するのであればお勧めです。逆に、近場に電源コンセントが無いのであれば、PoE対応のカメラを購入した方が施工費用含めて安く抑えられます。

    「B08W-3MP-HX」の製品画像

    B08W-3MP-HX

    「B08W-3MP-HX」の参考価格、購入先

    B08W-3MP-HX (参考価格7000円前後)

    「B08W-3MP-HX」のスペック情報

    ベンダ紹介ページベンダ製品紹介ページ
    POE
    WifiIEEE 802.11 b/g/n
    表示画素数2304*1296
    イメージセンサー 1/2.7″ SC3235
    レンズ
    赤外線 18pcs LEDs, IR-CUT function, 3MP Night Vision
    View Angle 70°
    動作周囲温度-10℃~50℃
    防水性能
    電源 DC 12V 2A
    圧縮方式 H.265、H264
    SDカード Support Micro SD card and PC client linkage alarm recording
    プロトコル Support ONVIF 2.4(backward compatible)
    B08W-3MP-HX スペック詳細