Skip to content

Instantly share code, notes, and snippets.

@connortechnology
Last active August 14, 2018 22:11
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save connortechnology/9ca83f812d94b2777b93ad54ee45067e to your computer and use it in GitHub Desktop.
Save connortechnology/9ca83f812d94b2777b93ad54ee45067e to your computer and use it in GitHub Desktop.
New apache config for 1.31.42 up
#
# PLEASE NOTE THAT THIS FILE IS INTENDED FOR GUIDANCE ONLY AND MAY NOT BE APPROPRIATE FOR YOUR DISTRIBUTION
#
# This is for use with debian/ubuntu based distributions
#
# Sample configuration file for running ZoneMinder as name based virtual host
# Some values may need to manually adjusted to suit your setup
#
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot "/usr/share/zoneminder/www"
# Order matters. This alias must come first.
Alias /zm/cache "/var/cache/zoneminder/cache"
# IF you aren't using /zm in the url to access ZM then uncomment the following line as well
# Alias /cache "/var/cache/zoneminder/cache"
<Directory "/var/cache/zoneminder/cache">
Options -Indexes +FollowSymLinks
AllowOverride None
<IfModule mod_authz_core.c>
# Apache 2.4
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order deny,allow
Allow from all
</IfModule>
</Directory>
ScriptAlias /zm/cgi-bin/ "/usr/lib/zoneminder/cgi-bin"
ScriptAlias /cgi-bin "/usr/lib/zoneminder/cgi-bin"
<Directory "/usr/lib/zoneminder/cgi-bin">
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
AllowOverride All
<IfModule mod_authz_core.c>
# Apache 2.4
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order deny,allow
Allow from all
</IfModule>
</Directory>
Alias /zm "/usr/share/zoneminder/www"
<Directory "/usr/share/zoneminder/www">
Options -Indexes +FollowSymLinks
AllowOverride All
<IfModule mod_authz_core.c>
# Apache 2.4
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order deny,allow
Allow from all
</IfModule>
</Directory>
# For better visibility, the following directives have been migrated from the
# default .htaccess files included with the CakePHP project.
# Parameters not set here are inherited from the parent directive above.
<Directory "/usr/share/zoneminder/www/api">
RewriteEngine on
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
RewriteBase /zm/api
</Directory>
<Directory "/usr/share/zoneminder/www/api/app">
RewriteEngine on
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
RewriteBase /zm/api
</Directory>
<Directory "/usr/share/zoneminder/www/api/app/webroot">
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
RewriteBase /zm/api
</Directory>
# Use the first option to have Apache logs written to the general log
# directory, or the second to have them written to the regular Apache
# directory (you may have to change the path to that used on your system)
ErrorLog /var/log/zm/apache-error.log
#ErrorLog /var/log/httpd/zm-error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
# Use the first option to have Apache logs written to the general log
# directory, or the second to have them written to the regular Apache
# directory (you may have to change the path to that used on your system)
CustomLog /var/log/zm/apache-access.log combined
#CustomLog /var/log/httpd/zm-access.log combined
</VirtualHost>
@connortechnology
Copy link
Author

I have applied the recommendations from the comments.

@pliablepixels
Copy link

TheDocumentRoot in line 12 should be commented out. It is not needed and if we enable that it allows for loading the portal on "/" which breaks CSS

@spatnynick
Copy link

both ScriptAlias lines must have trailing slash for me:
ScriptAlias /zm/cgi-bin/ "/usr/lib/zoneminder/cgi-bin"
->
ScriptAlias /zm/cgi-bin/ "/usr/lib/zoneminder/cgi-bin/"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment