Я пытаюсь создать виртуальный хост на 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
и все учебные руководства, которые я видел, имели эти шаги, таким образом, я думаю, что пропускаю что-то.
Я ожидаю, что Вы могли выполнить мои шаги и спросить, есть ли у Вас некоторое сомнение относительно конфигурации, что я сделал.
Заранее спасибо!
Я хотел прокомментировать вопрос для получения дополнительной информации, но у меня не было достаточного количества точки репутации, таким образом, я просто пробую, отвечает это, чтобы Вы дали нам немного больше информации.
я сделал те же шаги, как Вы упомянули выше в моем новом 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) вместо того, чтобы использовать тот же домен.
Хорошо довольно неясный, не видя всех конфигураций, но немногих вещей я могу сказать
Сначала проверьте, что NamedVirtualHosting не прокомментирован в ports.conf файле
измените полномочия только, чтобы быть уверенными под /var/www/
sudo chown -R www-data.www-data /var/www/*
проверьте, правилен ли синтаксис символьной ссылки в поддерживающей сайты папке или если символьная ссылка прервана, неработающие ссылки показывают красный, синтаксис идет как это с 000 значениями по умолчанию и независимо от того, что прибывает, затем идет как проверка с 002 гостями или с 001 тестом
ll /etc/apache2/sites-enabled/*
Проверьте если синтаксис ejemplo.es.conf
корректно
Это похоже на это. Удостоверьтесь, что каталог упоминается
Я надеюсь, что это помогает удаче