Posted: Tue Oct 06, 2009 6:02 pm
BTW, here are the complete instructions all edited together. I added the Mmap memory options and the perl command to install the needed addon. I also cleaned up the layout slightly.
INSTALL SERVER OS
Install Ubuntu Server 9.04 amd64. Do not install any packages other than openssh-server.
GO SUDO AND STAY THERE FOR ENTIRE INSTALLATION
sudo -i
UPDATE SERVER OS
apt-get update; apt-get dist-upgrade
CHANGES FOR LIB PATHS
echo "/usr/local/lib" > /etc/ld.so.conf.d/ffmpeg.conf
echo "LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH" >> /etc/bash.bashrc
echo "export LD_LIBRARY_PATH" >> /etc/bash.bashrc
ldconfig
INSTALL ALL PREREQUISITES
apt-get install build-essential linux-headers-`uname -r` automake perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl libmd5-perl apache2 php5-mysql libapache2-mod-php5 mysql-server libmysqlclient15-dev libarchive-zip-perl libdate-manip-perl libdevice-serialport-perl libjpeg62 libjpeg62-dev libmime-perl libstdc++6 libwww-perl zlib1g zip unzip patch ntp openssl libpcre3-dev libssl-dev libjpeg-progs libcurl4-gnutls-dev munin munin-node libmime-lite-perl netpbm libbz2-dev subversion sysvconfig checkinstall
INSTALL PERL MODULES
perl -MCPAN -e shell
install CPAN
install YAML PHP::Serialization Module::Load X10::ActiveHome
install Sys::Mmap
exit
INSTALL FFMPEG
cd /usr/src
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
cd ffmpeg
./configure --enable-gpl --enable-shared --enable-pthreads
make
checkinstall --fstrans=no --install=yes --pkgname=ffmpeg --pkgversion "3:0.svn`date +%Y%m%d`-12ubuntu3" --default
ldconfig
INSTALL AND CONFIGURE ZONEMINDER
cd /usr/src
svn co http://svn.zoneminder.com/svn/zm/trunk zm
cd zm
./configure --with-webdir=/var/www --with-cgidir=/usr/lib/cgi-bin ZM_DB_HOST=localhost ZM_DB_NAME=zm ZM_DB_USER=zmuser ZM_DB_PASS=zmpass --enable-debug=yes --with-webgroup=www-data --with-webuser=www-data --enable-mmap=yes
aclocal
autoconf
automake
make
mysql -u root -p < db/zm_create.sql
mysql -u root -p
grant select,insert,update,delete on zm.* to 'zmuser'@localhost identified by 'zmpass';
flush privileges;
quit
checkinstall --fstrans=no --install=yes --pkgname=ZoneMinder --pkgversion "1.24.svn`date +%Y%m%d`" --default
INSTALL CAMBOZOLA
cd /usr/src
wget http://www.charliemouse.com:8080/code/c ... est.tar.gz
tar -xzvf cambozola-latest.tar.gz
cp cambozola-0.76/dist/cambozola.jar /var/www
INSTALL JSCALENDAR
cd /usr/src
wget http://prdownloads.sourceforge.net/jsca ... p?download
unzip jscalendar-1.0.zip
mkdir /var/www/tools/jscalendar
cp -R jscalendar-1.0/* /var/www/tools/jscalendar
REMOVE EXISTING index.html
rm /var/www/index.html
CREATE ZONEMINDER STARTUP SCRIPT
nano /etc/init.d/zm
(PASTE THE FOLLOWING)
#!/bin/sh
# description: Control ZoneMinder as a Service
# chkconfig: 2345 99 99
# Source function library.
#. /etc/rc.d/init.d/functions
prog=ZoneMinder
ZM_PATH_BIN="/usr/local/bin"
command="$ZM_PATH_BIN/zmpkg.pl"
start() {
echo -n "Starting $prog: "
$command start
RETVAL=$?
[ $RETVAL = 0 ] && echo success
[ $RETVAL != 0 ] && echo failure
return $RETVAL
}
stop() {
echo -n "Stopping $prog: "
$command stop
RETVAL=$?
[ $RETVAL = 0 ] && echo success
[ $RETVAL != 0 ] && echo failure
}
status() {
result=`$command status`
if [ "$result" = "running" ]; then
echo "ZoneMinder is running"
RETVAL=0
else
echo "ZoneMinder is stopped"
RETVAL=1
fi
}
case "$1" in
'start')
start
;;
'stop')
stop
;;
'restart')
stop
start
;;
'status')
status
;;
*)
echo "Usage: $0 { start | stop | restart | status }"
RETVAL=1
;;
esac
exit $RETVAL
(SAVE AND EXIT)
MAKE ZM STARTUP SCRIPT EXECUTABLE
chmod 755 /etc/init.d/zm
USE sysvconfig TO START ZONEMINDER UPON REBOOT
sysvconfig
IF YOU ARE USING UBUNTU amd64 VERSION CREATE SYMBOLIC LINKS
cd /usr/lib64
ln -s /usr/local/lib/libswscale.so.0 ./libswscale.so.0
ln -s /usr/local/lib/libavformat.so.52 ./libavformat.so.52
ln -s /usr/local/lib/libavcodec.so.52 ./libavcodec.so.52
ln -s /usr/local/lib/libavutil.so.50 ./libavutil.so.50
ln -s /usr/local/lib/libavdevice.so.52 ./libavdevice.so.52
REBOOT THE SERVER
/sbin/shutdown now -r
INSTALL mysqltuner
sudo -i
apt-get install mysqltuner
STOP ZONEMINDER
/etc/init.d/zm stop
STOP MYSQL
/etc/init.d/mysql stop
EDIT YOUR my.cnf FILE
nano /etc/mysql/my.cnf
UNCOMMENT skip-innodb OR ADD IT IF IT IS NOT IN THERE
MAKE SURE THE THE FOLLOWING PARAMETERS ARE SET
key_buffer = 16M
max_allowed_packet = 32M
thread_stack = 128K
thread_cache_size = 8
query_cache_limit = 1M
query_cache_size = 24M
ADD THESE PARAMETERS
tmp_table_size = 32M
max_heap_table_size = 16M
SAVE AND EXIT
START MYSQL
/etc/init.d/mysql start
START ZONEMINDER
/etc/init.d/zm start
IF YOU WANT TO TUNE YOUR OWN SYSTEM, LET YOUR SYSTEM RUN NORMALLY FOR ABOUT 15 MINUTES AND THEN RUN
mysqltuner
IT WILL ASK YOU FOR YOUR MYSQL ROOT USERNAME AND PASSWORD SO ENTER IT
ONCE YOU ENTER YOUR USERNAME AND PASSWORD IT WILL GIVE YOU SOME RECOMMENDATIONS. I WOULD GUESS THAT IF YOU APPLY THE ABOVE SETTINGS IT WILL NOT RECOMMEND ANY CHANGES.
You can disregard this:
General recommendations
Enable the slow query log to troubleshoot bad queries