82 / 82 / 50
Регистрация: 22.09.2012
Сообщений: 495
|
|
1 | |
NameVirtualHost has no effect and will be removed in the next release04.02.2014, 15:17. Показов 13017. Ответов 14
Метки нет (Все метки)
Всем доброго времени суток. В общем такая проблема. Решил постораться немного разобраться в создании хостов на apache. Пробую создать 2 разных хоста: ipbased и namebased. В общем у меня получилось это вроде как сделать, но при запуске апача, получаю такое сообщение:
Код
NameVirtualHost has no effect and will be removed in the next release /etc/apache2/sites-enabled/000-default.conf:2 Вот такие настройки стоят у меня в VirtualHosts: Код
NameVirtualHost 127.0.0.1:80 <VirtualHost 127.0.0.1:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/localhost/www ServerName localhost ErrorLog /var/log/apache2/error.log CustomLog /var/log/apache2/access.log combined </VirtualHost> <VirtualHost test> ServerAdmin webmaster@localhost DocumentRoot /var/www/artur/test/www ServerName test ErrorLog /var/log/apache2/error.log TransferLog /var/log/apache2/access.log </VirtualHost> <VirtualHost 127.0.0.1:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/artur/test2/www ServerName test2 ErrorLog /var/log/apache2/error.log TransferLog /var/log/apache2/access.log </VirtualHost> Вот настройки файла hosts Код
127.0.0.1 localhost test2 127.0.1.1 artur-ubuntu 127.0.0.2 test
0
|
Заблокирован
|
|
04.02.2014, 15:44 | 2 |
1
|
82 / 82 / 50
Регистрация: 22.09.2012
Сообщений: 495
|
|
04.02.2014, 16:03 [ТС] | 3 |
Странно. Я переименовал 2 строки, где было "VirtualHost 127.0.0.1:80" - на "localhost 127.0.0.1:80", а также "NameVirtualHost 127.0.0.1:80" на "NameVirtualHost localhost:80" и сообщение исчезло. Не совсем понимаю почему, ну я исходил из мысли, что в apache2.conf в поле ServerName я прописал localhost и соответственно, в VirtualHost нужно тоже самое проставить. Ну это просто догадка конечно, вроде же по идее, директива NameVirtualHost сообщает серверу, что указанный ip адрес может использоваться несколькими хостами(так в книге прочитал), соответственно, можно же любое имя ставить? так ли это?
И ещё, вопрос такой, видел обозначения вида "*:*" - как в NameVirtualHost, так и в объявлении виртуального хоста. Что это означает? Как я понимаю, второй знак после двоеточия указывается порт, по которому прослушивается данный хост, тогда почему, когда мы задаём хост типа ipbased, в данном случае у меня этот хост test, порт не указывается? как апач узнаёт, что его нужно прослушивать по 80 порту? Заранее спасибо!
0
|
Заблокирован
|
|
04.02.2014, 16:06 | 4 |
Оно намекает что теперь будет просто VirtualHost. Ранее чтобы были named надо было указывать listen порт для вхостов или для нескольких через NameVirtualHost, иначе был бы лимит 1 VirtualHost на 1 порт+адрес, а теперь всё вместе. Примерно так же как в nginx.
1
|
82 / 82 / 50
Регистрация: 22.09.2012
Сообщений: 495
|
|
05.02.2014, 02:42 [ТС] | 5 |
Если честно, не совсем вас понял) особенно это выражение:
что значит "будет просто VirtualHost"? И я так и не понял, почему в ipbased не нужно указывать порт? если я например захочу, чтобы он по другому порту прослушивался? Попытался сделать так: Код
<VirtualHost test:81> ServerAdmin webmaster@localhost DocumentRoot /var/www/artur/test/www ServerName test ErrorLog /var/log/apache2/error.log TransferLog /var/log/apache2/access.log </VirtualHost> Кстати, из списка хостов убрал строку NameVirtualHost ничего не изменилось, всё также нормально работает
0
|
82 / 82 / 50
Регистрация: 22.09.2012
Сообщений: 495
|
|
05.02.2014, 03:08 [ТС] | 7 |
test - это доменное имя, которое я записал на ip адрес 127.0.0.2. Я его ещё указал в старт-топике.
Вот так? Код
<VirtualHost 127.0.0.2:81>
0
|
Заблокирован
|
|
05.02.2014, 03:23 | 8 |
Хотя бы так. Но 127.0.0.2 это некорректный адрес с точки зрения апача всё-таки, так что только 127.0.0.1, да и к тому же для этого и были придуманы Named Virtual Hosts как бы - чтобы не было нужно каждому хосту отдельный IP если использовать везде стандартный порт.
Добавлено через 2 минуты И да, так Listen 81 ты дописал как положено сначала?
1
|
82 / 82 / 50
Регистрация: 22.09.2012
Сообщений: 495
|
|
05.02.2014, 03:46 [ТС] | 9 |
Ну, я в первую очередь для общего развития хочу разобраться, чтобы хотябы просто знать как это делать. Плюс, я в дальнейшем хочу на VPS-ке приложение написать на php, и закрепить его за каким-либо другим ip. Т.к. в голове сидит мысль, чтобы обращение к этому приложению было только по IP(т.е. чтобы только сотрудники компании знали по какому адресу обращаться к этому приложению), соответственно не нужно будет тогда регистрировать доменное имя и заносить его в DNS сервера. Но, я ещё пока толком в этом не разобрался, это так, просто пока прикидка как бы сделать задуманное.
Listen 81 в самом начале написал, и ещё пробовал так, Listen 127.0.0.2:81(мол типа только этот адрес должен прослушиваться по 81 порту, не знаю правильно это или нет) ну разницы никакой не заметил. В общем, теперь при указании такого адреса: http://test:81 кидает куда нужно, но при этом, если не указывать порт, т.е. вот так http://test, всё равно кидает тудаже, т.е. и на 80 порте отрабатывает. WHY?
0
|
82 / 82 / 50
Регистрация: 22.09.2012
Сообщений: 495
|
|
05.02.2014, 12:03 [ТС] | 11 |
Короче получилось у меня сделать) разделил на 2 файла. В первом, назвал его "localhost.conf" у меня 2 хоста localhost и test2, которые закреплены за одним ip-шником, в общем они namebased. Вот так он выглядит:
Код
NameVirtualHost 127.0.0.1:80 <VirtualHost 127.0.0.1:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/localhost/www ServerName localhost ErrorLog /var/log/apache2/error.log CustomLog /var/log/apache2/access.log combined </VirtualHost> <VirtualHost 127.0.0.1:80> ServerAdmin webmaster@localhsot DocumentRoot /var/www/artur/test2/www ServerName test2 </VirtualHost> Код
Listen 81 <VirtualHost 127.0.0.2:81> ServerAdmin webmaster@localhost ServerName test DocumentRoot /var/www/artur/test/www </VirtualHost> Только вот вопрос есть, если я пытаюсь по 80 порту к нему попасть, меня кидает в каталог /var/www - это нормально? И как например от этого избавиться, я так понимаю нужно настраивать Directory как-то?
0
|
Заблокирован
|
|
05.02.2014, 12:11 | 12 |
Да ничего ты не понимаешь пока что. NameVirtualHost значит что соединение одно, порт один, а какой сайт отдавать выбирает клиент указывая Host: xxx в запросе
http://en.wikipedia.org/wiki/Virtual_hosting И у тебя в основном конфиге где-то указан default сайт который идёт первым, ты же небось по IP заходишь на него, соответственно в хидере 127.0.0.2 и кидает на первый vhost как default. Для того чтобы КЛИЕНТ запросил test надо заходить на http://test:81 и test должен быть НА КЛИЕНТЕ(ну у тебя всё просто - это ты же) прописан в hosts как 127.0.0.2(естественно в продакшне в DNS)
0
|
82 / 82 / 50
Регистрация: 22.09.2012
Сообщений: 495
|
|
05.02.2014, 15:04 [ТС] | 13 |
Если бы я думал, что "всё просто" - я бы не создавал здесь топик и не заваливал тебя вопросами.
0
|
82 / 82 / 50
Регистрация: 22.09.2012
Сообщений: 495
|
|
05.02.2014, 15:38 [ТС] | 15 |
0
|
05.02.2014, 15:38 | |