Support #627
Updated by Daniel Curtis over 9 years ago
This is a guide for installing Zoneminder on Arch Linux.
h2. Prepare the Environment
* Make sure the system is up to date:
<pre>
pacman -Syu
</pre>
h3. Install yaourt
* Download the packages for yaourt:
<pre>
cd /tmp
wget https://aur.archlinux.org/packages/pa/package-query/package-query.tar.gz && wget https://aur.archlinux.org/packages/ya/yaourt/yaourt.tar.gz
tar xzf package-query.tar.gz
tar xzf yaourt.tar.gz
</pre>
#* Install package-query:
<pre>
cd package-query
makepkg -csi
</pre>
#* Install yaourt
<pre>
cd ../yaourt
makepkg -csi
</pre>
h2. Install Zoneminder
* Install zoneminder from the AUR:
<pre>
yaourt zoneminder
</pre>
h3. Configure Apache
* Edit the apache config:
<pre>
nano /etc/httpd/conf/httpd.conf
</pre>
#* And add/modify the following:
<pre>
#LoadModule mpm_event_module modules/mod_mpm_event.so
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
LoadModule cgi_module modules/mod_cgi.so
</pre>
* Append the Zoneminder inclusion to the apache config:
<pre>
echo 'Include /etc/httpd/conf/extra/httpd-zoneminder.conf' >> /etc/httpd/conf/httpd.conf
</pre>
#* *NOTE*: I needed to comment out the @php_admin_value@ in httpd-zoneminder.conf file.
h3. Configure PHP
* Edit the PHP configuration:
<pre>
nano /etc/php/php.ini
</pre>
#* Ensure the following extensions are enabled:
<pre>
extension=pdo_mysql.so
extension=gd.so
extension=gettext.so
extension=mcrypt.so
extension=sockets.so
extension=openssl.so
extension=ftp.so
</pre>
#* Ensure open_basedir has the following directories added/included:
<pre>
open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/dev/:/etc:/srv/http/zoneminder:/srv/zoneminder/:/var/cache/zoneminder/
</pre>
#* Set the local timezone:
<pre>
date.timezone = America/Los_Angeles
</pre>
h3. Initialize MySQL
* Initialize the MySQL database:
<pre>
cd /usr
mysql_install_db --user=mysql --ldata=/var/lib/mysql/
</pre>
* Start and enable MySQL on boot:
<pre>
systemctl enable mysqld
systemctl start mysqld
</pre>
* Secure the installation:
<pre>
mysql_secure_installation
</pre>
* Import the zoneminder SQL data:
<pre>
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
</pre>
* Set permissions on the zm database for the user +zmuser+ with the password +zoneminder+
<pre>
echo 'grant lock tables, alter,select,insert,update,delete on zm.* to 'zmuser'@localhost identified by "zoneminder";' | mysql --defaults-file=/etc/mysql/my.cnf -p mysql
</pre>
* Edit the zoneminder config
<pre>
nano /etc/zm.conf
</pre>
#* And update the host, database, username, and/or password:
<pre>
ZM_DB_HOST=localhost
ZM_DB_NAME=zm
ZM_DB_USER=zmuser
ZM_DB_PASS=zoneminder
</pre>
h2 . Start Zoneminder
* Start and enable Apache on boot:
<pre>
systemctl enable httpd
systemctl start httpd
</pre>
* Start and enable zoneminder on boot:
<pre>
systemctl enable zoneminder
systemctl start zoneminder
</pre>
h2. Resources
* https://wiki.archlinux.org/index.php/ZoneMinder
* https://aur.archlinux.org/packages/zoneminder/