HP ML110g7 box, 10GB ram, 1 3TB disk. FreeBSD 9.1-RELEASE. Today's portsnap.
Recompile your kernel, increasing SHMMAX and SHMMNI (I couldn't get Mary Poppins out of my head after that...). I used some very large values here, and this is probably highly tunable:
I cribbed the values from here:
and made up the value for SHMMNI :)
Install the following ports/packages and their dependencies. I used portmaster, since it front-loads all of the config dialogs. I noticed some oddities running portmaster directly at zoneminder on a clean system, so I recommend this approach.
If you are impatient, you will have tried and failed to start zoneminder.
The problem of course is the database has not been configured.
This part took a while to figure out, because the .sql script in the zm sources is designed to have substitution done during configuration.
Here's the trick
make deinstall clean
mysql -u root < ./work/ZoneMinder-1.25.0/db/zm_create.sql.in
mysql -u root
mysql> grant all on zm.* to user 'zmuser'@'localhost' identified by 'zmpass';
mysql> flush privileges;
#NOTE: you can change the db pass later, edit /usr/local/etc/zm.conf and change it in mysql as well
cp /usr/local/etc/zm.conf.example /usr/local/etc/zm.conf
The next step is configuring apache to serve zoneminder out of the default host. Obviously you can do this with mod alias as well, I didn't need to do it that way. We're going to substitute the default paths in http.conf for zoneminder's and then add mime types for PHP.
sed -ie 's/\/www\/apache22\//\/www\/zoneminder\//g' \ /usr/local/etc/apache22/httpd.conf
sed -ie 's/index.html/index.php/g' /usr/local/etc/apache22/httpd.conf
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
into the MIME section
ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini
#NOTE: set your timezone or be greated by uncountable errors in the zm interface. Search for timezone, uncomment that line and set it to a valid PHP timezone. Mine was "America/Los_Angeles"
Add the following to /etc/rc.conf to get it to start at boot
Then reboot while praying.
Hope that helps, at least it worked for me.