diff options
author | Britney Fransen <brfransen@gmail.com> | 2014-12-20 17:12:23 (GMT) |
---|---|---|
committer | Britney Fransen <brfransen@gmail.com> | 2014-12-20 17:12:23 (GMT) |
commit | cc90fc2cb2d57a6bf9b040001f8950fff50c967a (patch) | |
tree | c6408835943e349cf11f933e1f7687f418a71048 /abs/core/zoneminder/zoneminder.install | |
parent | f7ae4ba2fd32b939353f06c9f39d7dcdbd229601 (diff) | |
download | linhes_pkgbuild-cc90fc2cb2d57a6bf9b040001f8950fff50c967a.zip linhes_pkgbuild-cc90fc2cb2d57a6bf9b040001f8950fff50c967a.tar.gz linhes_pkgbuild-cc90fc2cb2d57a6bf9b040001f8950fff50c967a.tar.bz2 |
zoneminder: update to 1.28
Diffstat (limited to 'abs/core/zoneminder/zoneminder.install')
-rw-r--r-- | abs/core/zoneminder/zoneminder.install | 224 |
1 files changed, 158 insertions, 66 deletions
diff --git a/abs/core/zoneminder/zoneminder.install b/abs/core/zoneminder/zoneminder.install index bf5cd99..0a1f557 100644 --- a/abs/core/zoneminder/zoneminder.install +++ b/abs/core/zoneminder/zoneminder.install @@ -1,86 +1,178 @@ - -install_db() { - . /etc/systemconfig - if [ $SystemType = Master_backend -o $SystemType = Standalone ] - then - mysql -e "use zm" > /dev/null - rc=$? - if [ $rc = 1 ] - then - echo "Installing zoneminder database zm" - cat /usr/share/zoneminder/db/zm_create.sql | mysql - echo 'grant lock tables, alter,select,insert,update,delete on zm.* to 'zmuser'@localhost identified by "zmpass";' | mysql - fi - else - echo "Will only init the database for StandAlone or Master_backend LinHES systems" - fi - } - pre_install() { - set -e - abort=false - if [ -L /srv/http/zoneminder/events ]; then - l=$(readlink /srv/http/zoneminder/events) - if [ $l != /var/cache/zoneminder/events ]; then - abort=true + set -e + abort=false + if [ -L /srv/http/zoneminder/events ]; then + l=$(readlink /srv/http/zoneminder/events) + if [ $l != /var/cache/zoneminder/events ]; then + abort=true + fi fi - fi - if [ -L /srv/http/zoneminder/images ]; then - l=$(readlink /srv/http/zoneminder/images) - if [ $l != /var/cache/zoneminder/images ]; then - abort=true + if [ -L /srv/http/zoneminder/images ]; then + l=$(readlink /srv/http/zoneminder/images) + if [ $l != /var/cache/zoneminder/images ]; then + abort=true + fi fi - fi - if [ $abort = true ]; then - cat >&2 << EOF + if [ $abort = true ]; then + cat >&2 << EOF Aborting installation of zoneminder due to non-default symlinks in /srv/http/zoneminder for the images and/or events directory, which could result in loss of data. Please move your data in each of these directories to /var/cache/zoneminder before installing zoneminder from the package. EOF - exit 1 - fi - exit 0 + exit 1 + fi + exit 0 } post_install() { - if [[ -d /var/log/zoneminder ]]; then - chmod 0755 /var/log/zoneminder - chown http.http /var/log/zoneminder - else - mkdir -m 0755 /var/log/zoneminder - chown http.http /var/log/zoneminder - fi - if [[ -d /tmp/zoneminder ]]; then - chmod 0700 /tmp/zoneminder - chown http.http /tmp/zoneminder - else - mkdir -m 0700 /tmp/zoneminder - chown http.http /tmp/zoneminder - fi -#--- - usermod -G video http - install_db - gen_light_include.py - /sbin/sv hup /service/lighttpd -#--- + if [[ -d /var/log/zoneminder ]]; then + chmod 0755 /var/log/zoneminder + chown http.http /var/log/zoneminder + else + mkdir -m 0755 /var/log/zoneminder + chown http.http /var/log/zoneminder + fi + if [[ -d /tmp/zm ]]; then + chmod 0700 /tmp/zm + chown http.http /tmp/zm + else + mkdir -m 0700 /tmp/zm + chown http.http /tmp/zm + fi + + # edit /etc/php.ini for Zoneminder + sed -e ' + # Enable these libraries by removing the leading comment character + \|^;extension=mysql.so$| s|^;||; + \|^;extension=mysqli.so$| s|^;||; + \|^;extension=pdo_mysql.so$| s|^;||; + \|^;extension=gd.so$| s|^;||; + \|^;extension=gettext.so$| s|^;||; + \|^;extension=mcrypt.so$| s|^;||; + \|^;extension=session.so$| s|^;||; + \|^;extension=sockets.so$| s|^;||; + \|^;extension=openssl.so$| s|^;||; + \|^;extension=ftp.so$| s|^;||; + \|^;extension=zip.so$| s|^;||; + + # Add zoneminder paths to open_basedir + s|^open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/$|&:/etc:/srv/http/zoneminder/:/var/cache/zoneminder/|; + ' /etc/php/php.ini > /etc/php/php.ini.zoneminder + + # edit /etc/httpd/conf/httpd.conf for Zoneminder + sed -e ' + # Use mod_mpm_prefork instead of mod_mpm_event.so (FS#39218). + s|^LoadModule mpm_event_module modules/mod_mpm_event.so$|#&\nLoadModule mpm_prefork_module modules/mod_mpm_prefork.so|; + + # Zoneminder requires cgi + \|^#LoadModule cgi_module modules/mod_cgi.so$| s|#||; + + # libphp5 + \|^LoadModule php5_module modules/libphp5.so$|d; + s|^#*LoadModule rewrite_module modules/mod_rewrite.so$|&\nLoadModule php5_module modules/libphp5.so|; + \|^Include /etc/httpd/conf/extra/php5_module.conf|d; + s|^Include conf/extra/httpd-default.conf$|&\nInclude /etc/httpd/conf/extra/php5_module.conf|; + + # Include httpd-zoneminder.conf + \|^Include /etc/httpd/conf/extra/httpd-zoneminder.conf$|d; + s|^# Server-pool management (MPM specific)$|\nInclude /etc/httpd/conf/extra/httpd-zoneminder.conf\n&|; + ' /etc/httpd/conf/httpd.conf > /etc/httpd/conf/httpd.conf.zoneminder + + cat << EOF +Note for mysql: +==> To run Zoneminder, you must install the database running mysql service (as root): +==> "rc.d start mysqld" (in initscripts) or "systemctl start mysqld.service" (in systemd) +==> and add Zoneminder database typing (with passsword): +==> "mysqladmin --defaults-file=/etc/mysql/my.cnf -p -f reload" +==> "cat /usr/share/zoneminder/db/zm_create.sql | mysql --defaults-file=/etc/mysql/my.cnf -p" +==> "echo 'grant lock tables, alter,select,insert,update,delete on zm.* to 'zmuser'@localhost identified by "zmpass";' | mysql --defaults-file=/etc/mysql/my.cnf -p mysql" +==> (or without passsword): +==> "mysqladmin --defaults-file=/etc/mysql/my.cnf -f reload" +==> "cat /usr/share/zoneminder/db/zm_create.sql | mysql --defaults-file=/etc/mysql/my.cnf" +==> "echo 'grant lock tables, alter,select,insert,update,delete on zm.* to 'zmuser'@localhost identified by "zmpass";' | mysql --defaults-file=/etc/mysql/my.cnf mysql" + +Note for php: +==> You must uncomment that line in /etc/php/php.ini: +==> "extension=mysql.so" +==> check and make sure these are uncommented: +==> "extension=gd.so" +==> "extension=gettext.so" +==> "extension=mcrypt.so" +==> "extension=mysqli.so" +==> "extension=session.so" +==> "extension=sockets.so" +==> "extension=openssl.so" +==> "extension=ftp.so" +==> "extension=zip.so" +==> check and add to open_basedir "/etc" and +==> "/srv/http/zoneminder" like so +==> "open_basedir = /home:/tmp:/usr/share/pear:/etc:/srv/http/zoneminder" +==> and set your timezone in php.ini: +==> "date.timezone = <your_country>/<your_city>" + +Note for apache: +==> You must edit /etc/httpd/conf/httpd.conf and add the line: +==> "LoadModule php5_module modules/libphp5.so" +==> and: +==> "Include /etc/httpd/conf/extra/php5_module.conf" +==> "Include /etc/httpd/conf/extra/httpd-zoneminder.conf" +EOF } post_upgrade() { - post_install - /usr/bin/zmupdate.pl -f >/dev/null - gen_light_include.py - /sbin/sv hup /service/lighttpd + post_install + /usr/bin/zmupdate.pl -f >/dev/null } post_remove() { - if [[ -d /tmp/zoneminder ]]; then - rm -vr /tmp/zoneminder - fi + if [[ -d /tmp/zoneminder ]]; then + rm -vr /tmp/zoneminder + fi + # sed -i -e ' + # /^open_basedir/ s/:\/srv\/http\/zoneminder//; + # /^open_basedir/ s/:\/srv\/http\/zoneminder\///; + # ' /etc/php/php.ini || read + # sed -i -e ' + # /^# ZoneMinder/d; + # /Include \/etc\/httpd\/conf\/extra\/httpd-zoneminder.conf/d; + # ' /etc/httpd/conf/httpd.conf || read -#-- - gen_light_include.py - /sbin/sv hup /service/lighttpd -#-- + cat << EOF +Note: +==> To clean Zoneminder mysql database, run as root (with password): +==> "echo 'delete from user where User="zmuser";' | mysql --defaults-file=/etc/mysql/my.cnf -p mysql" +==> "echo 'delete from db where User="zmuser";' | mysql --defaults-file=/etc/mysql/my.cnf -p mysql" +==> "mysqladmin --defaults-file=/etc/mysql/my.cnf -p -f drop zm" +==> (or without password): +==> "echo 'delete from user where User="zmuser";' | mysql --defaults-file=/etc/mysql/my.cnf mysql" +==> "echo 'delete from db where User="zmuser";' | mysql --defaults-file=/etc/mysql/my.cnf mysql" +==> "mysqladmin --defaults-file=/etc/mysql/my.cnf -f drop zm" +==> Disable http with php if it isn't needed with others servers, +==> comment or remove that lines in /etc/httpd/conf/httpd.conf: +==> "LoadModule php5_module modules/libphp5.so" +==> "Include /etc/httpd/conf/extra/php5_module.conf" + +==> Remove line in /etc/httpd/conf/httpd.conf: +==> "Include /etc/httpd/conf/extra/httpd-zoneminder.conf" + +==> Disable php with mysql if it isn't needed with others servers, +==> comment that lines in /etc/php/php.ini: +==> "extension=mysql.so" +==> "extension=gd.so" +==> "extension=gettext.so" +==> "extension=mcrypt.so" +==> "extension=mysqli.so" +==> "extension=session.so" +==> "extension=sockets.so" +==> "date.timezone = <my_country>/<my_city>" + +==> Edit /etc/php/php.ini and remove "/etc" and "/srv/http/zoneminder" +==> in the "open_basedir". + +==> Remove log files and "zonemider" directory in "/var/log/zoneminder". + +==> Backup and remove "events", "images" and "temp" dirs in "/var/cache/zoneminder". +EOF } |