The link from conf-available to conf-enabled is normal. What happens is that you create your websites in available and then can use a2ensite utility from apache that creates the link to enabled. Ubuntu seems to use sites-available & sites-enabled but the way to enable them is the same.
Now back to the problem, I'm convinced it is a problem I have in apache, note the screenshot says the 404s are when trying to show http://192.168.5.176/zm/cgi-bin/nph-zms ... 1745590306. The last digit seems a random number and the rest is apache trying the script alias i.e. nph-zms that is a symlink to zms. BUT I can see the recordings in the UI (perms are OK therefore).
I'll see what else I can spot in the apache config differences but remembering I'm ubuntu you're debian I think, and what iconnor has said what it should be.
This is mine:
Code: Select all
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot "/usr/share/zoneminder/www"
# Order matters. This alias must come first.
Alias /zm/cache "/var/cache/zoneminder/cache"
# Alias /zm/cache "/var/cache/zoneminder"
# Alias /zm/cache "/mnt/Surveillance/zoneminder"
<Directory "/var/cache/zoneminder/cache">
# <Directory "/var/cache/zoneminder">
# <Directory "/mnt/Surveillance/zoneminder">
Options -Indexes +FollowSymLinks
# AllowOverride None
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
Require all granted
<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>
# Remember to enable cgi mod (i.e. "a2enmod cgi").
# ScriptAlias /cgi-bin "/usr/lib/zoneminder/cgi-bin"
ScriptAlias /zm/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>
# 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>