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>
Кто-нибудь может помочь разобраться, что происходит? Спасибо,
UPDATE
Похоже, что ns.server.com всегда указывает на public_html первого по алфавиту сайта, который находится в / etc / apache2 / sites-enabled. Если я помещу туда index.html, я смогу получить доступ к ns.server.com.
Также, если я запустил php как пользователь Apache на первом виртуальном хосте, то ns.server.com/phpmyadmin также будет работать.
обходной путь, но он оооочень странный: -o
Есть идеи?
Короче говоря, как показывает практика, определите _default_
virtualhost.
т.е.
<VirtualHost _default_:*>
DocumentRoot "/www/default"
</VirtualHost>
Вы также можете добавить его к существующей директиве virtualhost... если нужно:
<VirtualHost _default_:* 1.2.3.4:80>
DocumentRoot "/www/some_website"
</VirtualHost>