ZoneMinder is arguably one of the best video camera applications available for Linux, especially if you need to capture images and/or video from multiple cameras, both remote and local. It offers a huge set of features that just aren’t available in other pieces of free software. Getting it to compile on Centos 6 (64bit), however, is a bit of a chore.
There is some information in the ZoneMinder wiki on compiling and installing ZoneMinder on Centos 6, but these instructions are incomplete, and will not work. After helping a coworker get it up and running, and finding little information out there for Centos 6, I decided to turn it into a blog post.
The following procedure will allow you to compile and install ZoneMinder 1.25 on Centos 6 64bit with all options enabled. All actions should be done as root.
Procedure
1] Install Centos 6 using the 64bit minimal install DVD. I highly recommend using the minimal install, but you can probably use disk 1 of the full install if you want.
2] Run updates:
yum -y update
3] Disable SELinux by editing /etc/sysconfig/selinux and changing the SELINUX line to disabled:
SELINUX=disabled
4] Reboot
5] Install RPMForge yum repository:
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt rpm -ihv http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
6] Install needed dependencies:
yum install gcc gcc-c++ wget mysql-devel mysql-server php php-mysql php-pear php-pear-DB php-mbstring \ bison bison-devel httpd make ncurses ncurses-devel libtermcap-devel sendmail sendmail-cf caching-nameserver \ sox newt-devel libxml2-devel libtiff-devel php-gd audiofile-devel gtk2-devel libv4l-devel ffmpeg ffmpeg-devel \ zlib zlib-devel openssl openssl-devel gnutls-devel php-process perl-Time-HiRes perl-CPAN pcre-devel libjpeg-devel \ perl-Date-Manip perl-libwww-perl perl-Module-Load perl-Net-SFTP-Foreign perl-Archive-Tar perl-Archive-Zip perl-Expect \ perl-MIME-Lite perl-Device-SerialPort
7] Install Sys::Mmap module if you want mmap enabled. Also install MIME::Entity and X10 camera support, if desired. Just hit enter to accept the default for any question you’re asked. Do each of these separately, one at a time (ie, don’t just copy and paste the following three lines in one go, do one at a time).
perl -MCPAN -e 'install Sys::Mmap' perl -MCPAN -e 'install MIME::Entity' perl -MCPAN -e 'install X10::ActiveHome'
8] Download Zoneminder install:
cd /usr/local/src wget http://www2.zoneminder.com/downloads/ZoneMinder-1.25.0.tar.gz tar xzvf ZoneMinder-1.25.0.tar.gz cd ZoneMinder-1.25.0
9] Run configure. NOTE: The database username and password specified in this step are also used in step 13.
CXXFLAGS=-D__STDC_CONSTANT_MACROS ./configure --with-webdir=/var/www/html/zm --with-cgidir=/var/www/cgi-bin --with-webuser=apache \ --with-webgroup=apache ZM_DB_HOST=localhost ZM_DB_NAME=zm ZM_DB_USER=YOURZMUSER ZM_DB_PASS=YOURZMPASSWORD ZM_SSL_LIB=openssl \ --with-extralibs="-L/usr/lib64 -L/usr/lib64/mysql -L/usr/local/lib" --with-libarch=lib64 --with-ffmpeg
If you don’t want mmap support, add “–enable-mmap=no“:
CXXFLAGS=-D__STDC_CONSTANT_MACROS ./configure --with-webdir=/var/www/html/zm --with-cgidir=/var/www/cgi-bin --with-webuser=apache \ --with-webgroup=apache ZM_DB_HOST=localhost ZM_DB_NAME=zm ZM_DB_USER=YOURZMUSER ZM_DB_PASS=YOURZMPASSWORD ZM_SSL_LIB=openssl \ --with-extralibs="-L/usr/lib64 -L/usr/lib64/mysql -L/usr/local/lib" --with-libarch=lib64 --with-ffmpeg --enable-mmap=no
10] Compile and install:
make make install
11] Start mysqld for the first time:
service mysqld start
12] Set your root mysql password by following the instructions in the output:
/usr/bin/mysqladmin -u root password 'NEWPASSWORD'
13] Create your Zoneminder database and user, and give the user access to the database, and reload privs. NOTE: YOURZMUSER and YOURZMPASSWORD need to be the same as in the configure statement in step 9. When prompted for the password for root, use the one you set in step 12.
mysql -u root -p create database zm; CREATE USER 'YOURZMUSER'@'localhost' IDENTIFIED BY 'YOURZMPASSWORD'; grant CREATE, INSERT, SELECT, DELETE, UPDATE on zm.* to YOURZMUSER@localhost; FLUSH PRIVILEGES; exit
14] Load in initial SQL data for ZoneMinder:
mysql -u root -p zm < /usr/local/src/ZoneMinder-1.25.0/db/zm_create.sql
15] Copy the start script to /etc/init.d and configure it to start on boot. Also set other services to start on boot:
cp /usr/local/src/ZoneMinder-1.25.0/scripts/zm /etc/init.d/ chmod +x /etc/init.d/zm chkconfig zm on chkconfig mysqld on chkconfig httpd on
16] Copy Cambozola jar file:
cd /var/www/html/zm wget http://www.zoneminder.com/sites/zoneminder.com/downloads/cambozola.jar chown apache:apache /var/www/html/zm/cambozola.jar
17] Edit php.ini and set:
short_open_tag = On
This is off by default.
18] Start Apache and ZoneMinder:
service httpd start service zm start
19] Browse to your web interface using http://YOURIP/zm. You should see the ZoneMinder Console web interface.
Troubleshooting
If you are not able to pull up the web interface, check the following:
Iptables - Centos 6 comes with a restrictive set of iptables rules. If you’re providing firewall through some other method (ex, a hardware firewall), you can shut iptables off and prevent it from starting on boot by doing the following:
service iptables stop chkconfig iptables off
If you need to use iptables for firewalling, edit /etc/sysconfig/iptables and add a line just below the line for port 22 (SSH) to allow web (port 80) connections:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
Then restart iptables:
service iptables restart
PHP Short Open Tags – Check your /var/log/httpd/error_log file. If you have error messages like the following, redo step 17.
PHP Parse error: syntax error, unexpected $end in /var/www/html/zm/includes/functions.php on line 2437
After editing the /etc/php.ini file, you must restart httpd:
service httpd restart
Next Steps
Once you have the web interface up, you’ll want to click on Options in the upper right.
The System tab will allow you to turn on authentication. By default, ZoneMinder does not require any username and password.
Under the Images tab, click the check box next to OPT_CAMBOZOLA to use the Java streaming client for better refresh rates.
On the main page, click Add New Monitor to start adding cameras to monitor.

February 2nd, 2012
Melen
Posted in
Tags: 

Thanks for this! Haven’t found good directions. This works perfectly!
Thanks for directions that actually work!
On step 14 however it looks like the symbol was converted to an HTML special entity (>).
What I did was run:
mysql -u root -p zm < /usr/local/src/ZoneMinder-1.25.0/db/zm_create.sql
This is excellent, thank you for these instructions! I had been trying to get it to work on CentOS 6.2 for a while, but wasn’t able. This made it easy, thanks!
Thanks to Anonymous too, for correcting the step 14 error, that had me scratching my head for a few moments.
Also worth noting is that php.ini in step 17 is located in /etc which I didn’t know until I ran a ‘find’ to see where it was.
Thank you very much for sharing this installation documentation. It has been very very useful for me and saved a lot of time.
Thanks SO Much
I get the following error, any ideas?
checking for mysql_init in -lmysqlclient… no
configure: error: zm requires libmysqlclient.a
[root@centos6 ZoneMinder-1.25.0]#
I followed your directions exactly, but when I run make I get:
# make
make all-recursive
make[1]: Entering directory `/root/ZoneMinder-1.25.0′
Making all in src
make[2]: Entering directory `/root/ZoneMinder-1.25.0/src’
g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include -Iyes/include -Wall -Wno-sign-compare -fno-inline -Iyes/include -D__STDC_CONSTANT_MACROS -MT zmc.o -MD -MP -MF .deps/zmc.Tpo -c -o zmc.o zmc.cpp
mv -f .deps/zmc.Tpo .deps/zmc.Po
g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include -Iyes/include -Wall -Wno-sign-compare -fno-inline -Iyes/include -D__STDC_CONSTANT_MACROS -MT zm_box.o -MD -MP -MF .deps/zm_box.Tpo -c -o zm_box.o zm_box.cpp
mv -f .deps/zm_box.Tpo .deps/zm_box.Po
g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include -Iyes/include -Wall -Wno-sign-compare -fno-inline -Iyes/include -D__STDC_CONSTANT_MACROS -MT zm_buffer.o -MD -MP -MF .deps/zm_buffer.Tpo -c -o zm_buffer.o zm_buffer.cpp
mv -f .deps/zm_buffer.Tpo .deps/zm_buffer.Po
g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include -Iyes/include -Wall -Wno-sign-compare -fno-inline -Iyes/include -D__STDC_CONSTANT_MACROS -MT zm_camera.o -MD -MP -MF .deps/zm_camera.Tpo -c -o zm_camera.o zm_camera.cpp
mv -f .deps/zm_camera.Tpo .deps/zm_camera.Po
g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include -Iyes/include -Wall -Wno-sign-compare -fno-inline -Iyes/include -D__STDC_CONSTANT_MACROS -MT zm_comms.o -MD -MP -MF .deps/zm_comms.Tpo -c -o zm_comms.o zm_comms.cpp
mv -f .deps/zm_comms.Tpo .deps/zm_comms.Po
g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include -Iyes/include -Wall -Wno-sign-compare -fno-inline -Iyes/include -D__STDC_CONSTANT_MACROS -MT zm_config.o -MD -MP -MF .deps/zm_config.Tpo -c -o zm_config.o zm_config.cpp
mv -f .deps/zm_config.Tpo .deps/zm_config.Po
g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include -Iyes/include -Wall -Wno-sign-compare -fno-inline -Iyes/include -D__STDC_CONSTANT_MACROS -MT zm_coord.o -MD -MP -MF .deps/zm_coord.Tpo -c -o zm_coord.o zm_coord.cpp
mv -f .deps/zm_coord.Tpo .deps/zm_coord.Po
g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include -Iyes/include -Wall -Wno-sign-compare -fno-inline -Iyes/include -D__STDC_CONSTANT_MACROS -MT zm.o -MD -MP -MF .deps/zm.Tpo -c -o zm.o zm.cpp
mv -f .deps/zm.Tpo .deps/zm.Po
g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include -Iyes/include -Wall -Wno-sign-compare -fno-inline -Iyes/include -D__STDC_CONSTANT_MACROS -MT zm_db.o -MD -MP -MF .deps/zm_db.Tpo -c -o zm_db.o zm_db.cpp
mv -f .deps/zm_db.Tpo .deps/zm_db.Po
g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include -Iyes/include -Wall -Wno-sign-compare -fno-inline -Iyes/include -D__STDC_CONSTANT_MACROS -MT zm_logger.o -MD -MP -MF .deps/zm_logger.Tpo -c -o zm_logger.o zm_logger.cpp
zm_logger.cpp:43: warning: ‘void subtractTime(timeval*, timeval*)’ defined but not used
mv -f .deps/zm_logger.Tpo .deps/zm_logger.Po
g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include -Iyes/include -Wall -Wno-sign-compare -fno-inline -Iyes/include -D__STDC_CONSTANT_MACROS -MT zm_event.o -MD -MP -MF .deps/zm_event.Tpo -c -o zm_event.o zm_event.cpp
mv -f .deps/zm_event.Tpo .deps/zm_event.Po
g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include -Iyes/include -Wall -Wno-sign-compare -fno-inline -Iyes/include -D__STDC_CONSTANT_MACROS -MT zm_exception.o -MD -MP -MF .deps/zm_exception.Tpo -c -o zm_exception.o zm_exception.cpp
mv -f .deps/zm_exception.Tpo .deps/zm_exception.Po
g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include -Iyes/include -Wall -Wno-sign-compare -fno-inline -Iyes/include -D__STDC_CONSTANT_MACROS -MT zm_file_camera.o -MD -MP -MF .deps/zm_file_camera.Tpo -c -o zm_file_camera.o zm_file_camera.cpp
mv -f .deps/zm_file_camera.Tpo .deps/zm_file_camera.Po
g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include -Iyes/include -Wall -Wno-sign-compare -fno-inline -Iyes/include -D__STDC_CONSTANT_MACROS -MT zm_ffmpeg_camera.o -MD -MP -MF .deps/zm_ffmpeg_camera.Tpo -c -o zm_ffmpeg_camera.o zm_ffmpeg_camera.cpp
zm_ffmpeg_camera.cpp: In destructor ‘virtual FfmpegCamera::~FfmpegCamera()’:
zm_ffmpeg_camera.cpp:61: warning: ‘void av_close_input_file(AVFormatContext*)’ is deprecated (declared at /usr/local/include/libavformat/avformat.h:1561)
zm_ffmpeg_camera.cpp:61: warning: ‘void av_close_input_file(AVFormatContext*)’ is deprecated (declared at /usr/local/include/libavformat/avformat.h:1561)
zm_ffmpeg_camera.cpp: In member function ‘virtual int FfmpegCamera::PrimeCapture()’:
zm_ffmpeg_camera.cpp:94: error: ‘av_open_input_file’ was not declared in this scope
zm_ffmpeg_camera.cpp:98: warning: ‘int av_find_stream_info(AVFormatContext*)’ is deprecated (declared at /usr/local/include/libavformat/avformat.h:1385)
zm_ffmpeg_camera.cpp:98: warning: ‘int av_find_stream_info(AVFormatContext*)’ is deprecated (declared at /usr/local/include/libavformat/avformat.h:1385)
zm_ffmpeg_camera.cpp:125: warning: ‘int avcodec_open(AVCodecContext*, AVCodec*)’ is deprecated (declared at /usr/local/include/libavcodec/avcodec.h:3416)
zm_ffmpeg_camera.cpp:125: warning: ‘int avcodec_open(AVCodecContext*, AVCodec*)’ is deprecated (declared at /usr/local/include/libavcodec/avcodec.h:3416)
make[2]: *** [zm_ffmpeg_camera.o] Error 1
make[2]: Leaving directory `/root/ZoneMinder-1.25.0/src’
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/ZoneMinder-1.25.0′
make: *** [all] Error 2
Any idea what is wrong?
Your ffmpeg-devel library is newer than what ZoneMinder was written against. ffmpeg recently made some changes (found a similar problem working with forked-daapd).
Hi there!
I have run into the same problem as above with the ffmpeg error…
Im running a scientific linux 64b but that shouldnt be a problem i think?
Any ideas on how to get past this?
Installing on CentOS 6.3 (Disk 1 install), I have exactly the same issue as “Blazer”
(
Excellent “how-to” that helped me to get ZoneMinder up and running FAST!
Working from the ZM wiki instructions (tried BOTH 5.x and 6) I burned an entire day trying to clean up various configure/make errors.
After finding your site, I downloaded the minimal install CentOS 6 disk, followed your instructions (only had to adjust for i686 since I’m using some old hardware) and within an hour or so I was viewing my 4 network cameras.
Thanks for publishing this great guide!
JS
Getting the following error
ERROR 1146 (42S02) at line 1: Table ‘zm.Config’ doesn’t exist
Starting ZoneMinder: DBD::mysql::st execute failed: Table ‘zm.Config’ doesn’t exist at /usr/local/share/perl5/ZoneMinder/Config.pm line 92.
Can’t execute: Table ‘zm.Config’ doesn’t exist at /usr/local/share/perl5/ZoneMinder/Config.pm line 100
BEGIN failed–compilation aborted at /usr/local/share/perl5/ZoneMinder/Config.pm line 100.
Compilation failed in require at /usr/local/share/perl5/ZoneMinder.pm line 33.
BEGIN failed–compilation aborted at /usr/local/share/perl5/ZoneMinder.pm line 33.
Compilation failed in require at /usr/local/bin/zmpkg.pl line 37.
BEGIN failed–compilation aborted at /usr/local/bin/zmpkg.pl line 37.
disregard, fixed it. Thanks for the tutorial!
How? I’m having this issue to, please share.
It works for me by leaving my root mysql account password free.
For those having a hard time compiling on CentOS 6 with ffmpeg-devel from rpmfusion.org with errors about missing PixelFormat and AVOutputFormat :
zm_mpeg.h:63: error: use of enum ‘PixelFormat’ without previous declaration
zm_mpeg.h:64: error: ISO C++ forbids declaration of ‘AVOutputFormat’ with no type
zm_mpeg.h:64: error: expected ‘;’ before ‘*’ token
zm_mpeg.h:65: error: ISO C++ forbids declaration of ‘AVFormatContext’ with no type
zm_mpeg.h:65: error: expected ‘;’ before ‘*’ token
zm_mpeg.h:66: error: ISO C++ forbids declaration of ‘AVStream’ with no type
zm_mpeg.h:66: error: expected ‘;’ before ‘*’ token
zm_mpeg.h:67: error: ISO C++ forbids declaration of ‘AVFrame’ with no type
zm_mpeg.h:67: error: expected ‘;’ before ‘*’ token
zm_mpeg.h:68: error: ISO C++ forbids declaration of ‘AVFrame’ with no type
zm_mpeg.h:68: error: expected ‘;’ before ‘*’ token
zm_mpeg.h:69: error: ISO C++ forbids declaration of ‘uint8_t’ with no type
zm_mpeg.h:69: error: expected ‘;’ before ‘*’ token
zm_mpeg.h:85: error: ‘uint8_t’ has not been declared
In file included from zm_zone.h:27,
from zm_monitor.h:27,
from zmc.cpp:27:
Those includes are in your /usr/include/ffmpeg directory, not /usr/include. You should probably run the configure line as :
CPPFLAGS=”-I/usr/include/ffmpeg -I/usr/include” CFLAGS=”-I/usr/include/ffmpeg -I/usr/include” CXXFLAGS=”-D__STDC_CONSTANT_MACROS -I/usr/include/ffmpeg -I/usr/include” ./configure –with-webdir=/var/www/html/zm –with-cgidir=/var/www/cgi-bin –with-libarch=lib64 –with-ffmpeg=/usr –with-webuser=apache –with-webgroup=apache ZM_DB_HOST=localhost ZM_DB_NAME=zm ZM_DB_USER=zmuser ZM_DB_PASS=zmpass –with-extralibs=”-L/usr/lib64 -L/usr/lib64/mysql” ZM_SSL_LIB=openssl
Beautiful Guide! Had a bit of an issue with starting the zm service, but must have missed a step with the mysql database. After redoing the steps a few times (and learning more mysql in general) the service started right up!
Very glad you put this guide together, after finding much lack of complete information on zoneminder’s wiki.
Thanks!
Great write up! I had the same issues that some above with the current version of CentOS 6.3 full install. Couldn’t get around the make install issues. I reverted and installed the 6.3 minimal install, and followed the directions above, and worked great. had a hiccup on step 14, which was pointed out by someone else’s comment.
Looks good, now, I’m just waiting for my cams to be delivered and see how this works.
Thanks again!
Can someone please help. I am getting this error when starting the zm service up.
Starting ZoneMinder: Bareword “ZM_PATH_LOGS” not allowed while “strict subs” in use at /usr/local/share/perl5/ZoneMinder/Logger.pm line 153.
BEGIN not safe after errors–compilation aborted at /usr/local/share/perl5/ZoneMinder/Logger.pm line 168.
Compilation failed in require at /usr/local/share/perl5/ZoneMinder.pm line 34.
BEGIN failed–compilation aborted at /usr/local/share/perl5/ZoneMinder.pm line 34.
Compilation failed in require at /usr/local/bin/zmpkg.pl line 37.
BEGIN failed–compilation aborted at /usr/local/bin/zmpkg.pl line 37.
[FAILED]
[root@mbtdvr01 ZoneMinder-1.25.0]# vi /usr/local/share/perl5/ZoneMinder/Logger.pm
Thanks,
Mike
For Mike : I had the same problem.
It seems that the DB was not corrrectly initialised. For example, if the “Config” table in th zm database is empty, you should drop the db, re-create it then create again the tables with the .sql script. You can see that the .sql is modified by the “make” of zm. In my case, that solved the problem.
It seems that all the .pl scripts get the database connection info from the configuration text file zm.conf, then use the extra fields found in the Config table. You’ll see that the ZM_PATH_LOGS is defined there.
Regards,
Didier.
add to line if you get error “error zm requires libmysqlclient.a”
–with-extralibs=”-L/usr/lib64 -L/usr/lib64/mysql”
Thanks, installing on CentOS 6 working properly.
Now I have the probem that when I install Cpanel Zoneminder stops working, any advice to install ZoneMinder with Cpanel without conflict?
Sorry for my English
This was so helpful. Got me up and running in about an hour, most of that time was waiting…
I submit this as an option (or for anyone to tell me what’s wrong with it):
I would add that if you do the LV partitioning, you’ll probably end up with a large /home partition, which would be a great place to save your events. Otherwise, they’ll save in ‘/’ by default, which is smaller (which I filled up quickly)
on command line:
su – root
cd /home
mkdir events
chown apache events
chgrp apache events
and then in the ZM console, go to “Options>Paths> and type ‘/home/events’ in the “DIR_EVENTS”. Save and restart zoneminder. Your events will now be saved in the /home/events folder on the larger partition. This is assuming that you use the default partition scheme in the CentOS 6.3 setup, which setups up a moderate ‘/’ partition and a large ‘/home’ partition.
at step 14 I keep getting a problem:
I enter the command:
# mysql -u root -p zm > /usr/local/src/ZoneMinder-1.25.0/db/zm_create.sql
it asks me for my password:
Enter password:
I type in my password and the cursor just drops to the next line. Nothing happens and I don’t get the # prompt back. I have to do CTRL+C to get it back and that nullifys the previous command. What is wrong here?
Sorry, typo above. That should be:
mysql -u root -p zm < /usr/local/src/ZoneMinder-1.25.0/db/zm_create.sql
I fixed it in the article as well.
thanks so much for responding fast and clearing this up, I was finally able to get zm working.
This worked perfectly with Centos 64 Bit Min Install CD. T H A N K Y O U!!!!
Still wondering why ZM needs FFMpeg to have so many damn audio libary dependencies. I just want streaming video and x264 compression!
Again, A+ on this guide to get ZM 1.25 working!
Seems this guide helps you get FFMpeg 0.6.5 installed and it works!
I’ve tried getting ZM 1.25 compiled this past week with FFMpeg 0.11.1 and it failed. FFMpeg 0.10.6 worked with ZM 1.25 on a Slackware 14 i386 machine I have.
[Wed Jan 16 21:42:35 2013] [notice] Digest: done
[Wed Jan 16 21:42:35 2013] [notice] Apache/2.2.15 (Unix) DAV/2 PHP/5.3.3 configu red — resuming normal operations
[Wed Jan 16 21:44:48 2013] [error] [client 192.168.189.57] Directory index forbi dden by Options directive: /var/www/html/
[Wed Jan 16 21:44:49 2013] [error] [client 192.168.189.57] File does not exist: /var/www/html/favicon.ico
[Wed Jan 16 21:44:54 2013] [error] [client 192.168.189.57] File does not exist: /var/www/html/favicon.ico
[Wed Jan 16 21:44:54 2013] [error] [client 192.168.189.57] PHP Parse error: syn tax error, unexpected $end in /var/www/html/zm/includes/functions.php on line 24 37
[Wed Jan 16 21:44:54 2013] [error] [client 192.168.189.57] File does not exist: /var/www/html/favicon.ico
[Wed Jan 16 21:45:00 2013] [error] [client 192.168.189.57] PHP Parse error: syn tax error, unexpected $end in /var/www/html/zm/includes/functions.php on line 24 37
[Wed Jan 16 21:45:01 2013] [error] [client 192.168.189.57] File does not exist: /var/www/html/favicon.ico
[Wed Jan 16 21:45:01 2013] [error] [client 192.168.189.57] PHP Parse error: syn tax error, unexpected $end in /var/www/html/zm/includes/functions.php on line 24 37
[Wed Jan 16 21:45:01 2013] [error] [client 192.168.189.57] File does not exist: /var/www/html/favicon.ico
my centos 6.3
; session.gc_divisor
; Default Value: 100
; Development Value: 1000
; Production Value: 1000
; session.hash_bits_per_character
; Default Value: 4
; Development Value: 5
; Production Value: 5
; short_open_tag=On
; development value=on
; Production Value =on
; track_errors
; Default Value: Off
; Development Value: On
; Production Value: Off
; url_rewriter.tags
; Default Value: “a=href,area=href,frame=src,form=,fieldset=”
; Development Value: “a=href,area=href,frame=src,input=src,form=fakeentry”
; Production Value: “a=href,area=href,frame=src,input=src,form=fakeentry”
; variables_order
; Default Value: “EGPCS”
; Development Value: “GPCS”
After following the guide I get a blank webpage… Any ideas? It’s not the firewall as I disabled it.
I have fun with, lead to I discovered just what I was taking a look for. You have ended my four day long hunt! God Bless you man. Have a nice day. Bye
I found that when installing on Cent 6.3 you had to edit the /etc/php.ini and change short_open_tag=On and then do service httpd restart
Before doing that, I would get a blank page when going to the zoneminder webpage.
If anyone is still having a blank page even after turning short_open_tag on, I managed to resolve this issue by creating a zm.ini in /etc/php.d/ with just the line
short_open_tag = On
for some reason having that line in the php.ini file would have no affect on the blank page error.
Amazing guide. Works perfect on top of latest freepbx distro (centos 5 x64) with new(ish) 2.6.32 kernel, hauppauge cards, and next up I hope mythtv/vlc or something to tune and stream ATSC broadcasts. Thanks a million. Wanted so badly to combine asterrisk+freepbx and zoneminder properly, and this was a big help
Very nice work. Worked beautifully. The only minor clarification would be explicitly showing the /etc/php.ini location.
Just a quick “me too” offer of thanks for this great setup guide. Can only imagine how many hours/days I would have spent on my own figuring this out.
—————————————
Got my prototype working … now gonna redo the install for a real setup. Some of your warnings and recommendations now make sense.
Thanks again – Wayne
When building I had the following error:
zm_local_camera.cpp: In static member function ‘static bool LocalCamera::GetCurrentSettings(const char*, char*, int, bool)’:
zm_local_camera.cpp:774: error: ‘PATH_MAX’ was not declared in this scope
Had to include
#include
for some reason the append got truncated
the include is linux/limits.h
where PATH_MAX is included.
@ Martin West:
Same Error here:
zm_local_camera.cpp:774:22: error: ‘PATH_MAX’ was not declared in this scope
Did you solved the problem?