Как я могу настроить виртуальный хост на Apache?

Я пытаюсь создать виртуальный хост на Apache в Ubuntu(в виртуальной машине), но я не могу получить его. Я реализовал много конфигураций, но любой из них дает мне любой результат, таким образом, я создал новую виртуальную машину, чтобы сделать это с начала. Я собираюсь поместить здесь весь этап процесса шагом, таким образом, все Вы могли следовать за тем, что я делаю неправильно.

Что я имею

  • VirtualBox
  • Ubuntu 14.04 (Виртуальная машина на VirtualBox)
  • Я установил Apache на Ubuntu (sudo apt-get install apache2)

В чем я нуждаюсь

  • Когда я пишу URL ejemplo.es на моем браузере файл, который я создал на моем VirtualHost папка будет отображена а не страница, что она идет www.ejemplo.es (что это не является моим).

  • Использовать hosts файл на /etc папка вместо конфигурации DNS.

Что я попробовал

  • В первую очередь: измените корневой каталог моего сервера

В первую очередь, то, что мне нужен он, должно сделать мой корневой каталог моего сервера как /var/www/extras таким образом, я создал этот новый каталог на /var/www.

sudo mkdir /var/www/extras

и создайте index.html с некоторым текстом на нем.

После создания нового каталога я должен изменить мой 000-default.conf файл для изменения DocumentRoot директива.

sudo gedit /etc/apache2/sites-available/000-default.conf

и изменение DocumentRoot директива следующим образом:

DocumentRoot /var/www/extras

и после этого я перезапускаю Apache сохранить мои изменения:

sudo /etc/init.d/apache2 restart

и измените Directory блок на apache2.conf файл

sudo gedit /etc/apache2/apache2.conf

от <Directory /var/www/html> кому: <Directory /var/www/extras> и перезапуск Apache снова.

  • Второй шаг: создание папки и файла от виртуального хоста я хочу создать

Внутри /var/www/extras каталог я собираюсь создать новую папку (ejemplo.es) который будет папкой моего виртуального хоста.

sudo mkdir /var/www/extras/ejemplo.es

и в нем index.html файл, поскольку я создал для корневого каталога моего сервера с текстом "This is an example".

После этого, если я перехожу к браузеру и записи localhost/ejemplo.es Я вижу содержание файла, который я создал на шаге прежде. Но то, что я хочу это, должно получить доступ к тому же содержанию, но вводу ejemplo.es вместо localhost/ejemplo.es.

  • Заключительный шаг: Конфигурируйте виртуальный хост

Я должен создать новый файл на /etc/apache2/sites-available с конфигурацией моего виртуального хоста.

sudo gedit /etc/apache2/sites-available/ejemplo.es.conf

со следующей конфигурацией:

<VirtualHost 10.0.2.15:80>
    ServerAdmin webmaster@ejemplo.es
    ServerName ejemplo.es
    ServerAlias www.ejemplo.es
    DocumentRoot /var/www/extras/ejemplo.es
</VirtualHost>

и на apache2.conf файл я собираюсь измениться IncludeOptional sites-enabled/*.conf кому: Include sites-enabled/*.conf. (Это было оказыванием видеть если, возможно, мой Apache не включал эту папку и могла быть возможность что мой VirtualHost не работал на это).

Таким образом, теперь я должен активировать VirtualHost, который я создал:

sudo a2ensite ejemplo.es

и перезапуск Apache для сохранения изменений, я сделал:

sudo /etc/init.d/apache2 restart

Если я перечисляю содержание папки /etc/apache2/sites-enabled Я вижу что мой VirtualHost это активно теперь (ls управляйте к этой папке).

В заключение, я добавляю новую строку на своем файле hosts (sudo gedit /etc/hosts):

10.0.2.15   ejemplo.es

таким образом, теперь файл имеет три строки с IP:

127.0.0.1    localhost
127.0.1.1    user
10.0.2.15    ejemplo.es

и некоторые строки ниже этого запускаются с ff00... но я думаю, что они не важны для моей цели.

И наконец я должен выполнить следующую команду для сохранения моих последних изменений:

sudo /etc/init.d/networking restart

но я получаю страницу по умолчанию www.ejemplo.es вместо этого файл, что я поставил мой VirtualHost папка.

Я уверен, что делаю, почти не может выяснить где. Это - первый раз, когда я создаю тот VirtualHost и все учебные руководства, которые я видел, имели эти шаги, таким образом, я думаю, что пропускаю что-то.

Я ожидаю, что Вы могли выполнить мои шаги и спросить, есть ли у Вас некоторое сомнение относительно конфигурации, что я сделал.

Заранее спасибо!

1
задан 25 February 2016 в 04:27

2 ответа

Я хотел прокомментировать вопрос для получения дополнительной информации, но у меня не было достаточного количества точки репутации, таким образом, я просто пробую, отвечает это, чтобы Вы дали нам немного больше информации.

я сделал те же шаги, как Вы упомянули выше в моем новом VM, и это, хорошо работают.

я не знаю точно, как Вы тестируете вышеупомянутый домен, ли браузер в Вашем поле (человечность - клиент) или в Вашем хосте (который выполняет virtualbox).

, При попытке посетить домен под клиентской человечностью, можно добавить больше IP в тег virtualhost:

<VirtualHost ejemplo.es:80 127.0.1.100:80 192.168.1.100:80></VirtualHost>.

Здесь 127.0.1.100 и 192.168.1.100 дюйм/с в качестве примера что все указывающие ejemplo.es.

, При попытке получить доступ от своего хоста с IP 10.0.x.x, это может быть не доступно. Особенно, если Вы не выбрали правильный тип сети для своего VM. Можно проверить с помощью ping-запросов IP сначала прежде, чем проверить локальную доменную работу. В моем случае я выбираю мостовое соединение (со скопированным NAT), таким образом, мой VM может действовать точно так же, как любое другое физическое устройство в моей сети.

Другая вещь, если у Вас есть свой сайт, который уже на сервисе, и Вы хотите окружение для разработки и тестирования, лучше использовать другой домен (такой как: .local, .dev) вместо того, чтобы использовать тот же домен.

1
ответ дан 29 September 2019 в 11:31

Хорошо довольно неясный, не видя всех конфигураций, но немногих вещей я могу сказать

  1. Сначала проверьте, что NamedVirtualHosting не прокомментирован в ports.conf файле

  2. измените полномочия только, чтобы быть уверенными под /var/www/

    sudo chown -R www-data.www-data /var/www/*

  3. проверьте, правилен ли синтаксис символьной ссылки в поддерживающей сайты папке или если символьная ссылка прервана, неработающие ссылки показывают красный, синтаксис идет как это с 000 значениями по умолчанию и независимо от того, что прибывает, затем идет как проверка с 002 гостями или с 001 тестом

    ll /etc/apache2/sites-enabled/*

Проверьте если синтаксис ejemplo.es.conf корректно

Это похоже на это. Удостоверьтесь, что каталог упоминается

enter image description here

Я надеюсь, что это помогает удаче

-1
ответ дан 29 September 2019 в 11:31

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

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