Ubuntu 18.04.3, Virtualmin 6.08, Webmin 1.932
Происходит что-то странное.
Если у меня ничего нет в / etc / apache2 / sites-enabled
тогда я могу получить доступ к домашней странице сервера: ns.server.com (/ var / www / html)
и ns.server.com/phpmyadmin отлично работает
Если я добавлю виртуальный хост или включу сайт с
a2ensite domain.com (+ перезагрузить apache)
тогда я получил 403 Forbidden при попытке доступа к ns.server.com
и ns.server.com/phpmyadmin загружают файл php вместо его выполнения.
Если я a2dissite domain.com (+ перезагрузите apache)
все снова работает нормально.
/etc/apache2/apache2.conf:
DefaultRuntimeDir ${APACHE_RUN_DIR}
PidFile ${APACHE_PID_FILE}
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
HostnameLookups Off
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf
Include ports.conf
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
AccessFileName .htaccess
<FilesMatch "^\.ht">
Require all denied
</FilesMatch>
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
IncludeOptional conf-enabled/*.conf
IncludeOptional sites-enabled/*.conf
SSLProtocol ALL -SSLv2 -SSLv3
SSLCipherSuite HIGH:!SSLv2:!ADH:!aNULL:!eNULL:!NULL
<IfModule php7_module>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
</IfModule>
Кто-нибудь может помочь разобраться в том, что происходит? Спасибо,
ОБНОВИТЬ
Таким образом, кажется, что ns.server.com всегда указывает на public_html первого по алфавиту сайта, который находится в / etc / apache2 / sites-enabled. Если я помещу туда index.html, я могу получить доступ к ns.server.com.
Также, если я запускаю php как пользователь Apache на первом виртуальном хосте, то ns.server.com/phpmyadmin также работает.
Так что есть обходной путь, но он оооочень странный: -o
Любые идеи?
Короче говоря, как лучшая практика, определите _default_
виртуальный хост.
т.е.
<VirtualHost _default_:*>
DocumentRoot "/www/default"
</VirtualHost>
Вы также можете добавить его к существующей директиве virtualhost ... при необходимости:
<VirtualHost _default_:* 1.2.3.4:80>
DocumentRoot "/www/some_website"
</VirtualHost>