1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
post_install() {
# edit /etc/php.ini for Zoneminder
sed -e '
# Enable these libraries by removing the leading comment character
\|^;extension=ftp.so$| s|^;||;
\|^;extension=gd.so$| s|^;||;
\|^;extension=gettext.so$| s|^;||;
\|^;extension=mcrypt.so$| s|^;||;
\|^;extension=openssl.so$| s|^;||;
\|^;extension=pdo_mysql.so$| s|^;||;
\|^;extension=sockets.so$| s|^;||;
\|^;extension=zip.so$| s|^;||;
' /etc/php/php.ini > /tmp/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 needs Apache configured to permit CGI execution
\|^\t#LoadModule cgi_module modules/mod_cgi.so$| s|\t#|\t|;
# 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 > /tmp/httpd.conf.zoneminder
cat << EOF
Zoneminder database setup:
--------------------------
Zoneminder operation requires a database named 'zm' which is defined in /usr/share/zoneminder/db/zm_create.sql
Create the Zoneminder database (with a password):
"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 a password):
"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"
PHP configuration
-----------------
* Check and make sure these are uncommented in /etc/php/php.ini:
extension=ftp.so
extension=gd.so
extension=gettext.so
extension=mcrypt.so
extension=openssl.so
extension=pdo_mysql.so
extension=sockets.so
extension=zip.so
* Set your timezone in php.ini:
date.timezone = <your_country>/<your_city>
Apache configuration
--------------------
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
}
post_remove() {
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
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=ftp.so
# extension=gd.so
# extension=gettext.so
# extension=mcrypt.so
# extension=openssl.so
# extension=pdo_mysql.so
# extension=sockets.so
# extension=zip.so
# "date.timezone = <my_country>/<my_city>"
==> Remove log files and "zoneminder" directory in "/var/log/zoneminder".
==> Backup and remove "events", "images" and "temp" dirs in "/var/cache/zoneminder".
EOF
}
|