Корень документа сервера изменяется после добавления нового виртуального хоста

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

Есть идеи?

0
задан 13 November 2019 в 22:11
1 ответ

Короче говоря, как показывает практика, определите _default_ virtualhost.

т.е.

<VirtualHost _default_:*>
    DocumentRoot "/www/default"
</VirtualHost>

Вы также можете добавить его к существующей директиве virtualhost... если нужно:

<VirtualHost _default_:* 1.2.3.4:80>
    DocumentRoot "/www/some_website"
</VirtualHost>
0
ответ дан 4 December 2019 в 23:55

Теги

Похожие вопросы