Line 2: |
Line 2: |
| [[File:zoneminder.png|250px]] | | [[File:zoneminder.png|250px]] |
| </blockquote> | | </blockquote> |
| + | {{Box |
| + | | content = this is the how to in order to install ZM yourself, you might rather save the trouble by installing the contrib : [[Zoneminder]] |
| + | }} |
| + | |
| ==About== | | ==About== |
| [http://zoneminder.com ZoneMinder] is intended for use in single or multi-camera video security applications, including commercial or home CCTV, theft prevention and child, family member or home monitoring and other domestic care scenarios such as nanny cam installations. It supports capture, analysis, recording, and monitoring of video data coming from one or more video or network cameras attached to a Linux system. ZoneMinder also support web and semi-automatic control of Pan/Tilt/Zoom cameras using a variety of protocols. It is suitable for use as a DIY home video security system and for commercial or professional video security and surveillance. It can also be integrated into a home automation system via X.10 or other protocols. | | [http://zoneminder.com ZoneMinder] is intended for use in single or multi-camera video security applications, including commercial or home CCTV, theft prevention and child, family member or home monitoring and other domestic care scenarios such as nanny cam installations. It supports capture, analysis, recording, and monitoring of video data coming from one or more video or network cameras attached to a Linux system. ZoneMinder also support web and semi-automatic control of Pan/Tilt/Zoom cameras using a variety of protocols. It is suitable for use as a DIY home video security system and for commercial or professional video security and surveillance. It can also be integrated into a home automation system via X.10 or other protocols. |
| | | |
| + | This how-to is for IP Camera's only. |
| | | |
− | {{Note box|Zoneminder is available as a contribs, but that is a very old one for SME server 7. Today, Zoneminder has it's own easy repository, and hopefully these instructions can be turned into a new updated contrib. For now, this how-to is intended to be used with IP camera's only.}}
| + | This how-to can be discussed on the forums [https://forums.contribs.org/index.php/topic,52163.msg267101.html#msg267101| '''here''']. |
| | | |
| ==Installation== | | ==Installation== |
| ====Requirements==== | | ====Requirements==== |
− | Zoneminder is available from the Zoneminder repository. You need to configure the '''[[zmrepo]]''' as explained [[zmrepo| here]]. | + | * Koozali SME Server '''9.x 64-bit''' |
| + | * '''PHP 5.6''' is required for a fully functional Zoneminder and its API's installation. Since Koozali SME Server 8.x and 9.x come with a lower version of PHP, one must install the '''[[PHP_Software_Collections|PHP Software Collections]]''' first. |
| + | * Zoneminder is available from the Zoneminder repository. You need to configure the '''[[zmrepo]]''' as explained [[zmrepo| here]]. |
| | | |
| ====Install Zoneminder from the zmrepo==== | | ====Install Zoneminder from the zmrepo==== |
| yum install zoneminder --enablerepo=zmrepo | | yum install zoneminder --enablerepo=zmrepo |
− | Zoneminder's configuration file is located at /etc/zm.conf. Not really known if it is required, but you can change the Apache user in the zm.conf file from apache:apache to www:www, and double check the database credentials in the same file with the ones you have used. | + | Zoneminder's configuration file is located at /etc/zm.conf. You need to change the Apache user in the zm.conf file from apache:apache to www:www, and double check the database credentials in the same file with the ones you have used. |
| | | |
| ====MySQL database==== | | ====MySQL database==== |
Line 25: |
Line 32: |
| mysql | | mysql |
| create database '''zm'''; | | create database '''zm'''; |
− | grant all privileges on '''zm'''.* to '''zmuser''' identified by ''''zmpass''''; | + | grant all privileges on '''zm'''.* to '''zmuser''' identified by '<nowiki/>'''zmpass''''; |
| flush privileges; | | flush privileges; |
| exit | | exit |
Line 39: |
Line 46: |
| rm -f /etc/httpd/conf.d/zoneminder.conf | | rm -f /etc/httpd/conf.d/zoneminder.conf |
| sed -i "18i AddType application/x-httpd-php .php" /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/98zoneminder | | sed -i "18i AddType application/x-httpd-php .php" /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/98zoneminder |
| + | sed -i "19i AuthBasicProvider external" /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/98zoneminder |
| sed --in-place '/DELETE/d' /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/98zoneminder | | sed --in-place '/DELETE/d' /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/98zoneminder |
| expand-template /etc/httpd/conf/httpd.conf | | expand-template /etc/httpd/conf/httpd.conf |
| service httpd-e-smith restart | | service httpd-e-smith restart |
− | {{Note box|Please note that the above templates do not implement any authentication to access the Zoneminder portal (webinterface)}} | + | {{Note box|Please note that the above templates do not implement any authentication on the Koozali SME Server side to access the Zoneminder portal (webinterface). Options could be specific users (e.g. admin) or all valid SME users. Please read the Koozali SME Server documentation on [[Web_Application_RPM#Apache_Authentication|'''Apache authentication''']]}} |
| | | |
| ====Start Zoneminder at boot==== | | ====Start Zoneminder at boot==== |
| config set zoneminder service status enabled | | config set zoneminder service status enabled |
| ln -s /etc/rc.d/init.d/e-smith-service /etc/rc7.d/S98zoneminder | | ln -s /etc/rc.d/init.d/e-smith-service /etc/rc7.d/S98zoneminder |
− | {{Note box|We still need to add the various TCPPort(s) to the db to open up the firewall if remote (off LAN) camera's are being used.}}
| + | The mysqlinit (init-default-databases) process (which starts after the zoneminder service) will have MySQL restarted whilst Zoneminder is actively using it. The Zoneminder service will stop/not start due to this. To prevent Zoneminder to start too quickly we delay the Zoneminder service to start a bit later by adding a sleep command in the script /etc/rc.d/init.d/zoneminder. |
− | | + | sed -i '/^start()/{N;s/$/\nsleep 10/}' /etc/rc.d/init.d/zoneminder |
− | | |
| You can now start Zoneminder manually: | | You can now start Zoneminder manually: |
| service zoneminder start | | service zoneminder start |
Line 69: |
Line 76: |
| | | |
| Next you need to adjust the existing (from above) custom template (make a backup copy first): | | Next you need to adjust the existing (from above) custom template (make a backup copy first): |
− | sed --in-place '/Alias/d' /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/98zoneminder | + | sed -i '/Alias/d' /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/98zoneminder |
| Followed by: | | Followed by: |
| signal-event webapps-update | | signal-event webapps-update |
Line 84: |
Line 91: |
| yum history undo '''Transaction ID number''' | | yum history undo '''Transaction ID number''' |
| and confirm the uninstallation of Zoneminder and all dependencies. | | and confirm the uninstallation of Zoneminder and all dependencies. |
− | {{Note box|The removal of the Zoneminder RPM will fail due to a dependency on SELinux which SME Server does not use. An additional command is required to uninstall the Zoneminder RPM.}} | + | {{Note box|The removal of the Zoneminder RPM will fail due to a dependency on SELinux which SME Server does not use. An additional command is required to uninstall the Zoneminder RPM. To ensure proper removal of all dependencies, only the Zoneminder RPM will be removed without executing the uninstall scripts included in the RPM.}} |
| yum --setopt=tsflags=noscripts remove zoneminder | | yum --setopt=tsflags=noscripts remove zoneminder |
| Then we need to remove the custom template, the symlink that we created to start Zoneminder at boot and the subdomain that we may have created: | | Then we need to remove the custom template, the symlink that we created to start Zoneminder at boot and the subdomain that we may have created: |
Line 92: |
Line 99: |
| signal-event webapps-update | | signal-event webapps-update |
| Now to cleanup everything you may want to perform the usual post-upgrade and reboot events. All that is left is the MySQL database '''zm''' and the logfiles. It's up to you what to do with them. | | Now to cleanup everything you may want to perform the usual post-upgrade and reboot events. All that is left is the MySQL database '''zm''' and the logfiles. It's up to you what to do with them. |
| + | |
| + | ==ZoneMinder clients== |
| + | By default, ZoneMinder can be accessed via the webinterface. There are also 3rd party client applications available. |
| + | |
| + | '''[https://pliablepixels.github.io/ zmNinja]''', a beautiful fast and efficient client application (freely available on [https://github.com/pliablepixels/zmNinja Github]) '''[https://www.youtube.com/watch?v=prtA_mv68Ok&feature=youtu.be DEMO]''' |
| + | |
| + | - Android - [https://play.google.com/store/apps/details?id=com.pliablepixels.zmninja_pro&hl=en Play Store] |
| + | |
| + | - iOS - [https://itunes.apple.com/us/app/zmninja-pro/id1067914954?mt=8 iTunes] |
| + | |
| + | - Mac/Windows/Linux [https://github.com/pliablepixels/zmNinja/releases Github] |
| | | |
| [[Category:Howto]] | | [[Category:Howto]] |