Перша інструкція включає файл, який задає які порти і доменні імена прослуховувати, а друга включає всі файли з розширенням conf в директорії vhosts.d. Ці файли містять докладні настройки для кожного віртуального хоста.
Отже перейдемо до файлу /etc/apache2/listen.conf. (/etc/apache2/httpd.conf можна закрити).
Він містить написи типу цієї
Якщо в папці vhosts.d у вас немає файлів з розширенням conf, то створіть один ласка. Наприклад hosts.conf.
Скопіюйте в даний файл наступного рядка
Виправте шляху до теки та каталогам на свої. Опції ErrorLog і CustomLog задають шляху до файлів логів помилок і звернень. Тепер нам залишилося дати браузеру інформацію про те що даному сайту відповідає саме наш IP (для локальних сайтів). Тому відкриємо файл / etc / hosts.
Там буде рядок
Після слова localhost через прогалини можна додавати яке завгодно кількість сайтів для даного IP. Додамо наш сайт. Тепер цей шматок файлу набуде вигляду
Залишилося перезавантажити Apache.
18 Responses to "Налаштування Apache. Віртуальні хости Apache (Linux) "
А що робити якщо немає Директорії vhosts.d в apache2?
Apache лається так:
* Restarting web server apache2 * We failed to correctly shutdown apache, so we're now killing all running apache processes. This is almost certainly suboptimal, so please make sure your system is working as you'd expect now!
apache2: Syntax error on line 189 of /etc/apache2/apache2.conf: Syntax error on line 5 of /etc/apache2/httpd.conf: Include directory '/etc/apache2/vhosts.d' not found
Якщо немає директорії vhosts.d, то настройки віртуальних хостів швидше за все у вас повинні бути прямо в файлі /etc/apache2/httpd.conf. Який у вас дистрибутив?
Як варіант робити без include прямо в /etc/apache2/httpd.conf
повинно працювати
після виконання команди /etc/init.d/apache2 restart - apache отримую повідомлення:
NameVirtualHost 127.0.0.1 has no VirtualHosts
Треба додавати запис
Для створення віртуального хоста apache2 в ubuntu 10.04 я написав собі bash-скриптик, який все робить за мене. Якщо кому допоможе, буду радий
Дякуємо! Цікаво.
У openSUSE навіть GUI є для настройки Apache. Тільки за цими GUI і bash-скриптами народ так і не навчиться налаштовувати і слдомает зуби там де такий автоматизації немає.
До того ж на високонавантажених проектах зручніше запустити apache в зв'язці з яким-небудь легковажним web-сервером. Наприклад з nginx. І тут вже без читання манов не обійтися. треба загартовуватися
після виконання команди /etc/init.d/apache2 restart - apache отримую повідомлення:
NameVirtualHost 127.0.0.1 has no VirtualHosts
Ігор Тельменко Says:
Треба додавати запис
куди додавати? по інтрукціі прописано
Прописав ще по завдання питання тут.
Але приблизно через годину незначних колупання в конфігах все запрацювало, але так і продовжує писати (прикро, що так нічого і не зрозумів):
[Warn] NameVirtualHost localhost: 80 has no VirtualHosts
[Warn] NameVirtualHost 127.0.0.1:80 has no VirtualHosts
але працює
Перевірив на чистій opensuse 11.4. Дійсно Ворнінг плюється.
Там виявляється в listen.conf є рядок Listen 80. Її виявляється досить і ті два рядки можна прибрати.
Ось тепер зрозумів. лайки пропали. -)))
Дякуємо!
А якщо порт не 80, то що прописувати в / etc / hosts?
Доброго дня. Маю таку проблему.
налаштований веб сервер з локальної мережі проблем доступу в сервера немає. проблем з віртуальними хостами так само немає. не по імені не по ІПшніку.
ServerName 192.168.1.9
# ServerAlias dank0.tk
DocumentRoot "/ var / www / html / blog"
пробував і так і сяк не виходить підкажіть рішення якщо можливо?
Швидше за все так відбувається через ServerName. У Вас зазначений 192.168.1.9. Але чи буде при зверненні ззовні доменне ім'я "192.168.1.9"? Я думаю що ні.
Дякуємо.
Все працює !