Apache обслуживает 2 сайта на один домен с путем

Я новичок в этом, и я искал везде способ маршрутизации сервера, чтобы иметь возможность хранить 2 сайта по разным путям к одному домену. Большая часть справки, которую я нашел, касается использования виртуального хоста для нескольких доменов, поддоменов, IP-адресов и т. Д. Пока что ни один из них не подходит мне.

Итак, у меня есть последний стек Apache2, PHP, MySQLна Debian-8 с 2 функциональными сайтами (базы данных, пользователи,... все в порядке), установленных в подпапках /html:

crm_site в /var/www/html/crm (хранение php-скрипта для отслеживания проекта)

а также

wp_site в /var/www/html/wordpress (для хранения веб-сайта WordPress).

Я хочу иметь доступ к ним через единственный принадлежащий мне домен (например, www.example.com), который я уже настроил для доступа к своему серверу. Я надеялся, что мне нужно будет только добавить путь к своему домену (www.example.com/crm/index.php или же www.example.com/wordpress/index.php) и они будут обслуживаться, но независимо от того, что я добавлю после домена, браузер приведет к тому же месту, показывая список каталогов в формате html (то есть crm и wordpress).

Может кто-нибудь сказать мне, как это можно сделать? Спасибо.

1 ответ

Похоже, у вас все настроено правильно, за исключением вашего начального каталога.

Лучше всего перефразировать ваш вопрос. Это похоже на вашу ситуацию (если говорить с вашей точки зрения):

  1. иметь сайт по адресу http://machine.domain.com
  2. Я хочу установить /var/www/html как мой каталог по умолчанию
  3. Я хочу установить index.php как мой документ по умолчанию

Если вы посмотрите на свою проблему таким образом, она значительно упростится. Поисковая система может помочь вам в этом.

Для дальнейшего руководства, например, в поиске "apache set default directory" в Google ответ выделен жирным шрифтом. ... изменить корневой каталог Apache или переместить проект в /var/www/html

Вы уже сделали это, верно? Итак, 1. и 2. выше сделано. Если нет, посмотрите на следующее (что предполагает наличие пакета apache2 в Ubuntu последней версии. Я проверял это в контейнере Docker):

файл: /etc/apache2/apache2.conf

содержание:

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

Изменить выше /var/www/ в /var/www/html/

Далее .php обслуживающий вопрос. Это контролируется директивой DirectoryIndex, на которую ссылаются здесь. Просмотр его содержимого показывает, что index.php включен по умолчанию.

пример:

root@b62dsa09327e:/# grep -rnw '/etc/apache2/' -e "DirectoryIndex"
/etc/apache2/mods-available/dir.conf:2: DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm

Это позаботится о 3. И теперь у нас нет проблем в исходном вопросе.

Примечание: вам, возможно, придется прикрепить каталог к ​​любому запущенному apache2, как в случае, если вы поместили туда файлы как root. Вам также придется перезапустить apache, чтобы указанные выше изменения отражались в сервисе.

Другие вопросы по тегам