Конфигурация apache2 VirtualHost (DocumentRoot?) не работает - PullRequest
0 голосов
/ 04 марта 2019

Я пытаюсь настроить Apache WebServer в Ubuntu 16.04 для обслуживания веб-сайта PHP и API-интерфейсов PHP через две директивы VirtualHost, как показано ниже:

 `<VirtualHost *:80>
    ServerName phpapi.my-domain.net
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/services
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:80>
    ServerName nodeapi.my-domain.net
    <Location "/">
        ProxyPreserveHost On
        ProxyPass http://localhost:2040/
        ProxyPassReverse http://localhost:2040/
    </Location>
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost>
<VirtualHost *:80>
    ServerName admin.my-domain.net
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/admin
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>`

У меня есть папка администратора внутри html, и код работаетесли я просто вызываю http :: IP_Address / admin.

Когда я это сделал -> sudo apache2ctl -SI мог видеть VirtualHost, как показано ниже:

    VirtualHost configuration:*:80 is a NameVirtualHost
             default server phpapi.my-domain.net (/etc/apache2/sites-enabled/my- 
   domain.net.conf:1)
             port 80 namevhost nodeapi.my-domain.net (/etc/apache2/sites- 
   enabled/my-domain.net.conf:8)
             port 80 namevhost admin.my-domain.net (/etc/apache2/sites- 
   enabled/my-domain.net.conf:18)
        ServerRoot: "/etc/apache2"
        Main DocumentRoot: "/var/www/html"
        Main ErrorLog: "/var/log/apache2/error.log"
        Mutex proxy: using_defaults
        Mutex default: dir="/var/lock/apache2" mechanism=fcntl
        Mutex mpm-accept: using_defaults
        Mutex watchdog-callback: using_defaults
        PidFile: "/var/run/apache2/apache2.pid"
        Define: DUMP_VHOSTS
        Define: DUMP_RUN_CFG
        User: name="www-data" id=33
        Group: name="www-data" id=33

Теперь, когда я пытаюсь запустить http://admin.my -domain.net это работает и показывает страницу сервера Ubuntu (так работает мой DNS).И когда я даю путь для файлов моего проекта ... http://admin.my -domain.net / admin я получаю 404 ( Запрошенный URL / admin / не найден на этом сервере. ) То же самое относится и к http://phpapi.my -domain.net (получите 404).Но что интересно, настройка NodeAPI работает, и я получаю 200 Ok за мой вызов API POST.

Теперь я не уверен, почему параметр PHP VirtualHost не работает и работает только параметр Node API?Как вы можете сказать, я новичок в конфигурации Apache2.У меня действительно есть дефис в доменном имени по любой причине.Я надеюсь, что кто-то может направить меня в правильном направлении или помочь, поскольку я потратил много времени на это, пытаясь понять, что происходит и делает эту работу.

Спасибо за ваше время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...