Возникли проблемы с использованием этой конфигурации:
<VirtualHost *:80>
ServerAdmin **************
ServerName nagios.vdb.local
ServerAlias nagios
DocumentRoot /usr/local/nagios/share
ErrorLog /var/www/vhosts/nagios/logs/error.log
LogLevel warn
CustomLog /var/www/vhosts/nagios/logs/access.log combined
ServerSignature Off
###################
### CONFIG NAGIOS ###
##################
ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"
<Directory "/usr/local/nagios/sbin">
Options ExecCGI
AllowOverride None
Order deny,allow
Deny from all
Allow from 10.1.1.0/24
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPURL ldap://10.1.1.*****************?sAMAccountName?sub?(memberOf=**************)
AuthLDAPBindDN cn=A***********
AuthLDAPBindPassword ***********
AuthType Basic
AuthName "Nagios Access LDAP"
Require valid-user
</Directory>
Alias /nagios "/usr/local/nagios/share"
Alias /massAck "/usr/local/nagios/share/NagiosPlus/massAckTool/massAck.php"
<Directory "/usr/local/nagios/share">
Options None
DirectoryIndex index.php
AllowOverride None
Order deny,allow
Deny from all
Allow from 10.1.1.0/24
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPURL ldap://10.1.1.**************?sAMAccountName?sub?(memberOf=************)
AuthLDAPBindDN cn=A*************
AuthLDAPBindPassword ************
AuthType Basic
AuthName "Nagios Access LDAP"
Require valid-user
</Directory>
###################
### CONFIG NRDP ###
##################
Alias /nrdp "/usr/local/nrdp"
<Directory "/usr/local/nrdp">
# SSLRequireSSL
Options None
AllowOverride None
Order deny,allow
Allow from 10.1.1.0/24
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPURL ldap://10.1.1.************?sAMAccountName?sub?(memberOf=***********)
AuthLDAPBindDN cn=A************
AuthLDAPBindPassword *********
AuthType Basic
AuthName "Nagios Access LDAP"
Require valid-user
</Directory>
#####################
### CONFIG Nagiosgraph ###
###################
# enable nagiosgraph CSS and JavaScript
Alias /nagiosgraph "/usr/local/nagiosgraph/share"
ScriptAlias /nagiosgraph/cgi-bin "/usr/local/nagiosgraph/cgi"
<Directory "/usr/local/nagiosgraph/cgi">
Options ExecCGI
AllowOverride None
Order deny,allow
Deny from all
Allow from 10.1.1.0/24
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPURL ldap://10.1.1.**********?sAMAccountName?sub?(memberOf=**********)
AuthLDAPBindDN cn=A*******
AuthLDAPBindPassword **********
AuthType Basic
AuthName "Nagios Access LDAP"
Require valid-user
</Directory>
<Directory "/usr/local/nagiosgraph/share">
Options None
AllowOverride None
Order deny,allow
Deny from all
Allow from 10.1.1.0/24
</Directory>
##################
### CONFIG Cacti ###
#################
Alias /cacti /usr/local/cacti/
<Directory "/usr/local/cacti/">
Options Indexes
AllowOverride AuthConfig Options
Order deny,allow
Deny from all
Allow from 10.1.1.0/24
</Directory>
<Directory /usr/local/cacti/plugins/weathermap>
<Files editor.php>
Order Deny,Allow
Deny from all
Allow from 10.1.1.232
</Files>
</Directory>
##################
### CONFIG GLPI ###
#################
Alias /glpi /usr/local/glpi/
<Directory "/usr/local/glpi">
Options None
AllowOverride AuthConfig Options
Order deny,allow
Deny from all
Allow from 10.1.1.0/24
</Directory>
####################
### CONFIG VSHELL ###
##################
Alias /vshell2 "/usr/local/vshell2"
<Directory "/usr/local/vshell2">
Options None
Options FollowSymLinks
AllowOverride All
Order deny,allow
Deny from all
Allow from 10.1.1.0/24
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPURL ldap://10.1.1.******?sAMAccountName?sub?(memberOf=*************)
AuthLDAPBindDN cn=Ap***********
AuthLDAPBindPassword *******
AuthType Basic
AuthName "Nagios Access LDAP"
Require valid-user
</Directory>
</VirtualHost>
Мой IP-адрес - 10.1.1.132, поэтому обычно я должен получить доступ ко всему на этом виртуальном хосте. Я отключил и другую конфигурацию, поэтому вставил основной httpd.conf, ничего не должно быть несовместимо. Но у меня такие проблемы:
Starting httpd: [Wed Jun 01 10:35:40 2016] [warn] The ScriptAlias directive in /etc/httpd/vhosts.d/nagios.vdb.local.conf at line 104 will probably never match because it overlaps an earlier Alias.
Это такая строка:
ScriptAlias /nagiosgraph/cgi-bin "/usr/local/nagiosgraph/cgi"
Я загрузил его впервые, потому что использовал его в каталоге conf.d, который я отключил, прокомментировав строку Include conf.d/*.conf
в httpd.conf ...
-Доступ к nagios.vdb.local, возникла ошибка DNS -> Итак вместо этого я буду использовать IP-адрес сервера, для производственной цели
Доступ к / nagios: вроде бы все хорошо, даже если CGI потребовалось перезагрузить страницу для принятия в первый раз, и я не понимаю, почему ...
Доступ / massAck: получил код главной страницы (это .php), он не будет выполнен, поэтому я, вероятно, пропустил директиву
Доступ к / nrdp: запрещенный доступ
Доступ / нагиосграф: запрещенный доступ
Доступ / кактусы: получил индекс каталога.
Доступ к / glpi: запрещенный доступ
Доступ к / vshell2: у меня есть главная страница, но она не отображается подключенной. Учтите, что при использовании псевдонима без виртуального хоста все хорошо.
Есть ли директива для запуска php в виртуальном хосте? И как решить мой запретный доступ в виртуальном хосте (кто работает с псевдонимом, когда не использует виртуальный хост)?
Мои навыки apache2 не отличные, но, возможно, это поможет:
https://httpd.apache.org/docs/current/mod/mod_alias.html
Во-первых, все перенаправления обрабатываются до обработки псевдонимов, и поэтому к запросу, который соответствует Redirect или RedirectMatch, никогда не будут применяться псевдонимы. Во-вторых, псевдонимы и перенаправления обрабатываются в том порядке, в котором они появляются в файлах конфигурации, причем первое совпадение имеет приоритет.
По этой причине, когда две или более из этих директив применяются к одному и тому же подпутью, вы должны сначала указать наиболее конкретный путь, чтобы все директивы имели эффект. Например, следующая конфигурация будет работать должным образом:
Псевдоним "/ foo / bar" "/ baz"
Псевдоним "/ foo" "/ gaq"Но если две вышеуказанные директивы поменять местами, псевдоним / foo всегда будет соответствовать псевдониму / foo / bar, поэтому последняя директива будет проигнорирована.
Может, тебе стоит попробовать поменять местами
Alias /nagiosgraph "/usr/local/nagiosgraph/share"
ScriptAlias /nagiosgraph/cgi-bin "/usr/local/nagiosgraph/cgi"
к
ScriptAlias /nagiosgraph/cgi-bin "/usr/local/nagiosgraph/cgi"
Alias /nagiosgraph "/usr/local/nagiosgraph/share"
Надеюсь это поможет