#php #wordpress #dns #apache2 #virtual-hosts
#php #wordpress #dns #apache2 #виртуальные хосты
Вопрос:
Я новичок в этом, и я повсюду искал метод маршрутизации сервера, позволяющий хранить 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
- Я хочу установить
/var/www/html
в качестве своего каталога по умолчанию- Я хочу установить
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, чтобы вышеуказанные изменения отразились в службе.
Комментарии:
1. Спасибо. Вероятно, вы правы в том, что что-то неправильно настроено (или вообще не настроено), чтобы разрешить php; сервер продолжает возвращаться к document_root . Не уверен, что
2. Не уверен, что именно, я надеялся на более прямые подсказки (здесь новичок), но я продолжу копаться в ссылках, вытекающих из вашего комментария.
3. я думаю, вы могли бы добиться большего успеха, если бы упростили свой вопрос, что в конечном итоге сделало бы ваш вопрос похожим на ваш конфигурационный файл. Я обновлю свой ответ, чтобы показать вам…