Ubuntu Server or Desktop Zoneminder 1.36.x

From ZoneMinder Wiki
Jump to navigationJump to search

Install Zoneminder 1.36.x on Ubuntu 22.04, 20.04 and 18.04 with shell script

This will install Zoneminder 1.36.x by using a shell script with one basic command (how easy is that!).

You will need a Ubuntu 22.04, 20.04 or 18.04 install with LAMP (Apache, MySQL or Mariadb and PHP) installed desktop or server.

Timezone: it is recommended you set your specific timesone with:

sudo timedatectl set-timezone America/New_York

Of course use your timezone in place of America/New_York.

Google is your friend if you need instructions for setting up a LAMP server. However, a simple LAMP can be installed with these commands:

apt install apache2 php mariadb-server php-mysql libapache2-mod-php

Secure MySQL or Mariadb, create root password et. al.


Mariadb additional settings The default values for the database are adequate for initial setup. However, I recommend you make these changes before installing Zoneminder. Note: If you have sufficient memory double the values below. Edit the Mariadb config file:

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Add the following in the [mysql] area:

innodb_file_per_table = ON
innodb_buffer_pool_size = 256M
innodb_log_file_size = 32M

CTRL+o then [Enter] to save

CTRL+x to exit

Reatart Mariadb:

sudo service mysql restart

I recommend you install mysqltuner and run it from time to time and adjust the database settings as the number of saved events grows.

Shell script file contents:

read -p "This script installs ZoneMinder 1.36.x on Ubuntu 22.04, 20.04 or 18.04 with LAMP (MySQL or Mariadb) installed...
Press Enter to continue or Ctrl + c to quit" nothing
read -p "Next we will add the PPA repository, install and configure the system to run Zoneminder. 
Press enter to continue" nothing
apt install -y software-properties-common
add-apt-repository ppa:iconnor/zoneminder-1.36
apt update
apt install -y zoneminder
systemctl enable zoneminder
service zoneminder start
adduser www-data video
a2enconf zoneminder
a2enmod rewrite
a2enmod headers
a2enmod expires
service apache2 reload
read -p "Install complete. Open Zoneminder/Options and set the timezone. Press enter to continue" nothing

Copy the contents of the script, open a terminal and run:

nano zm-install

Paste the contents of the script into Nano


Ctrl + o Ctrl + x

Next run:

chmod 755 zm-install

Start the script by entering:


Follow the prompts. Things are pretty simple. The timezone is now set in Zoneminder/Options.

Good Luck!