Настройка Apache2 на Ubuntu, VirtualHosts, ServerName

Ну вот и дошла пора более серьезно заняться настройкой своего Apache сервера на рабочей машине.

Так как на моем компе установлена Ubuntu Linux, а установка приложений с помощью менеджера пакетов Synaptic — сплошное удовольствие, то получилось так, что я установил с его помощью Apache и мне хватало его дефолтных установок. Но захотелось мне навести красоту, разместить несколько веб-сайтов и иметь к ним доступ по разным доменным именам.

Итак, имеем задачу:

Настроить несколько веб-сайтов, на локальном сервере Apache2, установленного на рабочей машине с Ubuntu Linux, и чтобы доступ к ним был по адресам, например таким:

  • 1й сайт — www.test1.my и test1.my
  • 2й сайт — www.test2.my и test2.my

и так далее, в том же духе.

При попытке привести все к красоте, возникло несколько интересных ошибок, которые, надеюсь нелишне описать.

Итак, первое, в Ubuntu состав директории /etc/apache2 немного отличается от привычных директорий настройки Apache в Unix-подобных системах.

conf.d/
sites-available/
sites-enabled/
mods-available/
mods-enabled/
  apache2.conf
  envvars
  httpd.conf
  ports.conf

В Ubuntu основным файлом настройки Apache2 является не httpd.conf, а apache2.conf, но тут он играет роль системного файла, в котором собраны основные и самые важные настройки сервера.

А вот файл httpd.conf — пустой и предназначен для добавления дополнительных настроек, он включен в основной файл настройки apache2.conf

В файле envvars описаны переменные среды, необходимые для функционирования Apache-сервера.

В ports.conf вынесены настройки портов на которые можно будет подключиться к серверу или конкретному сайту на нем.

В папке conf.d находятся дополнительные конфигурационные файлы.

Для описания всех доступных сайтов используется папка sites-available в которой расположены файлы с описанием виртуальных хостов — VirtualHosts, опубликованные же сайты находятся в папке sites-enabled в виде ссылок на файлы доступных сайтов из папки sites-available.

Таким же образом в папках mods-available и mods-enabled настраивается доступность модулей используемых сервером.

Разобравшись со структурой файлов и папок, уже можно приступать к настройке. Первым делом создаем новый файл в папке sites-available, с именем хоста, так будет понятнее при просмотре директории.

#sudo touch test1.my

после этого с помощью любого доступного текстового редактора добавляем в этот файл следующие строки

<VirtualHost *:80>
    ServerName test1
    ServerAlias test1.my www.test1.my
    DocumentRoot /var/www/test1.my/www
</VirtualHost>

таким образом можно создать необходимое колличество виртуальных хостов и направить их в нужные директории на винчестере.

Теперь необходимо как-то научить нашу операционную систему распознавать домен .my. Для этого достаточно прописать необходимые строки в файле /etc/hosts, например так:

127.0.0.1    test1.my        www.test1.my

Так, теперь мы имеем настройку сайта как виртуального хоста (VirtualHost), имеем настроенный доменный адрес, но сайт еще не доступен для просмотра в браузере. А почему? А потому, что для начала необходимо разместить ссылку на VirtualHost в папку sites-enabled, и перечитать конфигурацию сервера Apache. Для создания ссылки можно выполнить такую команду:

#sudo a2ensite /etc/apache2/sites-available/test1.my

и перечитаем параметры:

#sudo /etc/init.d/apache2 reload

приведеная команда, перечитает параметры настройки сервера без его перезагрузки.

И вот тут мы столкнемся со второй неприятностью, не критической, но неприятной. После перечитки параметров будет выведено информационное сообщение:

Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

Что-то некрасиво получается, зачем нам такое. Но, мы помним, что у нас есть файл httpd.conf в котором желательно прописывать дополнительные настройки. Итак, открываем этот файл в текстовом редакторе, не забываем, что это надо делать с правами суперпользователя, и прописываем туда такую строчку

ServerName имя_вашего_сервера

сохраняем, закрываем файл и перечитываем параметры настройки:

#sudo /etc/init.d/apache2 reload

Сообщение пропало и теперь мы имеем красиво настроенный веб-сервер Apache. Сейчас для добавления новых сайтов достаточно создать файл виртуального хоста, вписать в него параметры настройки для хоста, добавить его в видимые хосты и перечитать параметры. Вот так вот, оказывается, все просто делается в нелегком админском деле.


У Вас есть товары, которые подлежат сертификации пожарной безопасности? Тогда вам просто необходим пожарный сертификат.


Категории: Linux, Unix  Теги: , , , ,
  1. 16 марта 2010 16:52 | №1 | progg.ru

    Настройка Apache2 на Ubuntu, VirtualHosts, ServerName | Генеральский чай...

    Thank you for submitting this cool story — Trackback from progg.ru...

  1. Макс Цисар
    1 ноября 2009 11:50 | №2

    на своем опыте скажу: апатч — для мелких сетей. у него настроек — копейки, в отличии от IIS. говорю на своем опыте...

  2. Макс Цисар
    1 ноября 2009 15:22 | №3

    сори за комент, который немножко не в тему... и за повтор фразы «говорю на своем опыте», был пьян 8) ...

  3. 2 ноября 2009 12:25 | №4

    Ну тут поспорить можно, в апаче хватает настроек для всех целей и нужд и нагрузки он выдерживает большие. Зависит от целей и задач: кому-то надо IIS, а кому-то Apache. Я так думаю мы с тобой уже выросли из того возраста, чтобы холиворы раздувать :)

  4. A1eRT
    23 ноября 2009 12:08 | №5

    Самое важное, о чём НИГДЕ не написано это вот это:

    ServerAlias test1.my www.test1.my

  5. 23 ноября 2009 12:47 | №6

    @A1eRT

    да, есть такой недочет. Исправляю.

    ServerAlias — директива, которая указывает, по какому URL можно достучаться к сайту. Данные URL необходимо обязательно поместить в байл /etc/hosts или прописать в DNS сервере.

  6. 17 марта 2010 14:54 | №7

    @Макс Цисар

    Из какого такого опыта ? Настройка через Окошко нескольких опция для серверов с 4-мя пользователями ? Или может все таки посмотреть на каких серверах работает Yahoo.com или другие серьезные сайты ??

  7. Rodjer
    30 мая 2010 5:31 | №8

    Спасибо автор за хорошую статью!

  8. Эля
    19 сентября 2010 21:10 | №9

    спасибо, пригодилось!

  9. 19 сентября 2010 21:19 | №10

    @Эля

    Всегда пожалуйста, для этого и пишем, чтобы люди смогли настроить веб-сервер и посмотреть на свои творения :)

  10. oleg
    15 октября 2010 19:36 | №11

    Вот начинали Вы за 2 сайта писать. Так почему же до конца не дошли за два сайта?

    Что же мне писать в /etc/hosts

    Если у вас там написано для сайта №1, то куда же тогда писать для второго сайта?

    И тоже самое: что нужно писать в httpd.conf? Это имя сайта совсем левое какое-то? Тогда где оно потом будет использоваться?

  11. 16 октября 2010 12:11 | №12

    oleg, я написал пример как настроить один сайт, подразумевая, что другой будет сделан по этим шагам. Что есть логично, ведь если бы я вначале написал, что мне надо настроить 10 сайтов, то пришлось бы описывать аналогичные шаги для всех 10?

    Файл /etc/hosts внутри имеет комментарий о своей структуре. Которая имеет вид

    ip address название сервера алиасы

    например

    127.0.0.1 test1 test1.my

    127.0.0.1 test2 test2.my

    127.0.0.1 test3 test3.my

    Соответственно, если мы хотим сделать какой-либо сайт с редиректом на самомго себя, просто пишем адрес обратной петли (loopback — 127.0.0.1) и имя хоста, который мы будем редиректить на веб-сервер на локальной машине.

    Как я писал в посте, в Ubuntu немного другой подход, чем был раньше, поэтому в файле httpd.conf особо ничего не надо конфигурить, все сайты конфигурируются с помощью файлов, находящихся в папке sites-available, а потом включаются либо исключаются из доступа при помощи комманд a2ensite/a2dissite.

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

  12. oleg
    16 октября 2010 20:27 | №13

    Большое спасибо. Разобрался. Теперь чтобы зайти на сайт №1 пишу в браузере 127.0.0.1/site1.my и вижу то что находится в /var/www/test1.my, а чтобы зайти на сайт №2 пишу в браузере 127.0.0.1/site2.my и вижу то чно находится в /var/www/test2.my

    Да. структура «позволеного» файла для 1 сайта такая: (

    ServerName test1

    ServerAlias test1.my www.test1.my

    DocumentRoot /var/www/test1.my

    )

    И кстати команда a2ensite у меня не работает. Догадался и создал сам с помощью ln -s /etc/apache2/sites-available/test1.my ярлык.

    И все это хорошо. Спасибо и за это, но возможно можно как-то сделать чтобы в браузере не писать 127.0.0.1/test1.my, а писать просто test1.my и видеть первый сайт? Буду очень признательный за ответ.

  13. 16 октября 2010 22:57 | №14

    oleg, да вы можете и не писать 127.0.0.1/site1.my, так как благодаря записям в /etc/hosts уже переопределены записи для каждого из адресов. Так что можете сразу писать site1.my и все должно сразу же заработать. На самом деле файл hosts — это фактически маленький DNS server. Собственно этот файл и есть родоначальником DNS.

  14. WildReise
    18 октября 2010 2:11 | №15

    Почему то по данному мануалу я не могу зайти с локальной машины по адресу site1.my хотя по ип адресу сервера могу, как настроить чтоб на сайт1 можно было зайти по имени а не ао ип?

  15. 18 октября 2010 16:49 | №16

    WildReise, а вы в файл /etc/hosts добавили строчки?

  16. 25 октября 2010 7:12 | №17

    Спасибо за хорошую статью, но у меня возникла одна проблема:

    Если я ложу сайт в папку /var/www/ то все работает нормально, а если я использую виртуальные хосты и ложу сайт в папку /home/*/public_html/site/ то index.php не открывается а предлагает сохранить файл на диск.

  17. 25 октября 2010 9:51 | №18

    Возможны два варианта, либо неправильно сконфигурирован интерпретатор PHP, либо неправильно прописаны пути DocumentRoot в настройках виртуальных директорий.

  18. сергей
    27 октября 2010 17:50 | №19

    заработало после того, как я раскомментировал строчку в модуле php5.conf

    «to reenable php in user directories comment the follow lines»

  19. сергей
    27 октября 2010 17:54 | №20

    хотя вроде нет...

    сейчас смотрю конфиг. Закомментирована строка

    «php admin value engine off»

    она находится как раз после указания пути к виртуальным хостам...

    До поздна сидел, толком не помню, но по любому в этом файле проблема

  20. 27 октября 2010 22:16 | №21

    Это что-то вроде не похоже на то место где может быть проблема. в php.conf есть настройка расширений файлов и их последовательность, которые будет обрабатывать интерпритатор PHP. Если там настроенно все нормально, очычно по дефолту все подходить как нельзя лучше, то тогда проблемма скорее всего в файлах виртуальных директорий.

  21. сергей
    28 октября 2010 3:19 | №22

    факт. После этого заработало...

    Я же после каждой манипуляции апач перегружал и пробовал.

    Кстати натолкнула меня на это ваша фраза «либо неправильно сконфигурирован интерпретатор PHP»

    я же не знаю, что такое интерпретатор php я же первую неделю в линухе =)

  22. 28 октября 2010 10:04 | №23

    Знание, что такое интерпретатор PHP, никак не связано со знаниеим/не знанием Linux. Это обычная программа, как Word, Paint, Блокнот, но предназначена не для просмотра текста или редактирования изображений, а для интерпретации команд в данном случае команд языка PHP. То есть работает это примерно так, на вход интерпретатора поступают команды, либо напрямую с консоли, либо из файла, либо, как в нашем случае, интерпретатор запускается вебсервером apache. Вот для взаимодействия apache и PHP, необходимо сконфигурировать эту связку.

    Кстати, в скором времени я планирую написать серию постов о настройке PHP, MySQL и как все это дело можно применять к разработке веб сайтов.

  23. Муслим
    10 ноября 2010 5:47 | №24

    Сергей, а вы задали права доступа на новую папку с сайтом? У меня после открытия сайта в браузере выходила ошибка «Forbinned», все заработал как установил права на папку с сайтом ? правда не помню какие поставил, здесь написано www.tulvit.ru/linux/lamp- ...apache-mysql-php

  24. 10 ноября 2010 10:27 | №25

    Муслим, если честно, то я оставлял права по умолчанию. Спасибо за ссылку на хорошее продолжение.

  25. Муслим
    10 ноября 2010 20:31 | №26

    Попробуй обязательно, почему: сегодня я обновил на своем серваке (домашнем) две страницы, получилось на все страницы доступ есть, спокойно открываются, а именно на эти страницы нет, пишет «Forbinned»(в браузере), так как я не помнил какие конкретно права задал на папку /var/www, сделал так: (в оконном менеджере)вошел в свойства папки->Права-> в графе остальные стояло «Только чтение», я поставил «Чтение и запись» и сразу же на место «Только чтение» и применить рекурсиво для всех вложенных файлов, и все заработало, не только в графе «Остальные» выше тоже была какая та графа с те ми же правами «Только чтение», там так же сделал...щас просто он выключен(шумит сильно), щас в винде сижу,не помню как это графа называлась

  26. 10 ноября 2010 21:08 | №27

    Муслим, скорее всего у тебя ситуация в следующем:

    — ты заходишь в систему использууя свой логин и пароль, при этом ты принадлежишь какой-то группе

    — папка /var/www/ — принадлежит совсем другой группе и пользователю

    — ты копируешь или создаешь в /var/www/ свои страницы, которые будут иметь того же владельца и группу, к которым принадлежит пользователь под которым ты вошел в систему, и эти файлы, естественно, будут недоступны для той группы под которой работает сервер apache

    Для того чтобы это исправить, не нужно выдавать права на запись для всех, надо просто добавить пользователя в соответствующие группы, либо коннектиться через FTP соответствующим пользователем.

  27. Муслим
    11 ноября 2010 6:24 | №28

    понял, спасибо :)

    у меня вот такой вопрос, не могу понять,может знашь.

    если на серваке несколько сайтов, а у сервака конечно же один ip, то откуда сервак знает кому какой сайт выдавать, ведь на всех доменах будет указан один ip как я понимаю, но на серваке еще валом места, хочется для чего нибудь использовать :angel:

  28. Муслим
    11 ноября 2010 8:24 | №29

    и еще один вопрос, такую тему не нашел на этом сайте, поэтому напишу здесь же

    Динамический DNS

    +++сервак соединен к роутеру а роут к инету

    +++на роуте включен динамик днс

    проблема в том что роут передает сервису днс свой сетевой ip т.е. не ip внутри сети роутера, а ip в сети провайдера , но в итоге ip в инете другой, когда заходишь на сайт myip.ru там другой ip.

    1, как сделать так что б роут передавал динамик днс сервису ip (в интеренете(Browser IP)) а не ip внутри сети провайдера

    2, если поставить в Ubuntu Server anydns вроде называется или что то типа этого, то он так же будет передавать ip который внутри сети или же browser ip (конечный (в интернете))?

    заранее благодарю

  29. Муслим
    11 ноября 2010 8:28 | №30

    «inadyn» а не «anydns»

  30. 11 ноября 2010 10:21 | №31

    По поводу нескольких сайтов на одном IP, ответ есть в моем посте.

    <virtualhost *:80>
        ServerName test1
        ServerAlias test1.my www.test1.my
        ...
    </virtualhost>
    

    В виртуальных хостах указан адрес сервера и его алиасы, вот благодаря этому apache и отправить пользователя в нужное место, а в /etc/hosts прописываются соответствия названий серверов к IP адресам, на самом деле файл /etc/hosts — это прародитель DNS, так что отрезолвить имя Apache сможет и через DNS сервер.

    По поводу вопроса о роутинге и DNS — это довольно обширная тема, ее не удастся осветить не то что в комментарии, но даже и в посте, а то и в целой серии постов.

    Для того чтобы разобраться во всех тонкостях сетей, я бы порекомендовал прочитать книгу:

    Терри Доусона (Terry Dawson) и Олафа Кирха (Olaf Kirch) — Linux для профессионалов. Руководство администратора сети.

    в этой книге описаны, как основы сетей, так и примеры настройки их на Linux.

  31. Муслим
    11 ноября 2010 11:34 | №32

    окей, спасибо

    как я понял, грубо говоря серверу приходит скажем так 'сообщение' типа дай мне вот этот сайт, или тот

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

  32. 11 ноября 2010 11:41 | №33

    Не совсем так. IP не может знать на какой сайт кто пришел, об этом знает Apache, благодаря конфигурации виртуальных хостов. Собственно, потому они и виртуальные, что несколько сайтов может быть на одном IP адресе.

  33. jcdenton
    11 декабря 2010 17:52 | №34

    a2ensite test1.my а не /.../.../test1.my

  34. Timur
    27 января 2011 16:56 | №35

    Здравствуйте ! У меня возникает следующая ошибка при

    #sudo /etc/init.d/apache2 reload

    выводит такое

    Warning: DocumentRoot [/var/www/test1.my/www] does not exist

    Подскажите, что у меня не так ??

  35. 27 января 2011 18:01 | №36

    Timur, apache открытым текстом говорит, что в системе нету директории [/var/www/test1.my/www]. Скорее всего ее действительно нет, либо отсутствуют права на чтение этой директории для процесса appache

  36. Rio
    10 февраля 2011 20:01 | №37

    Спасибо за статью, все предельно ясно и понятно, но я никак не могу разобраться как заходить с внешки на виртуальный хост. В сети два компьютера, соединены роутером который собсно смотрит в инет. На веб сервере введя в адресной строке test.my попадаю на index.html своего виртуального хоста, по 127.0.0.1 попадаю на index.html основного хоста. Захожу с рабочей машины на 192.168.0.8 и попадаю на основной хост.

    hosts

    127.0.0.1 localhost

    127.0.0.1 test.my www.test.my

    192.168.0.8 Ubuntu.UWS Ubuntu

    Прошу подсказки мастера в данном вопросе, заранее спасибо.

  37. 10 февраля 2011 20:49 | №38

    Rio, для того чтобы было видно извне необходим DNS сервер, в котором будут прописаны соответствия.

  38. 13 февраля 2011 9:58 | №39

    Спасибо за

    ServerAlias test1.my www.test1.my

    Действительно нигде нету))

    В остальном всё заработало с пол-оборота

  39. iF
    19 марта 2011 23:10 | №40

    Мужики, подскажите пожалуйста!

    В общем ubuntu 10.10, поствил апач, в папке www создал виртуальный хост.

    Все работает — нет проблем!

    Один только вопрос, какие права нужно задать на папку и файлы?

    Где вообще можно на эту тему почитать?

    И как собственно эти права задать? )))

    Хочется чтобы безопасность была на лоджном уровне :ninja:

  40. 20 марта 2011 13:31 | №41

    IF, права в Линуксе это основа из основ — поэтому необходимо бы почитать LAME (Linux Administration Made Easy) автор Steve Frampton. Книга довольно старая, но вней лучше всего описаны основы аддминистрирования.

    В кратце можно систему прав описать так. Кждый файл в линуксе может быть отенесен к одной из трех групп: владелец, группа в которую входит владелец, и все остальные. Наф файл можно назначить три типа прав доступа для каждой из групп. Права доступа могут быть заданы в числовом виде (битовая маска) — 755, либо в буквенном : rwx-rxr-x.

    r — (Read) чтение

    w — (Write) запись

    x — (eXecute) выполнение

    первая тройка относиться к владельцу файла (u)

    вторая к группе в которую входит владелец (g)

    третья для всех остальных (o)

    Сами права доступа задаются при помощи команды chmod (man chmod выведет описание всех параметров)

  41. haligali
    15 апреля 2011 8:47 | №42

    Вот скрипт, для создания виртуальных хостов:

    #!/bin/bash

    #Author: Ivlev E

    echo -n "Введите имя создаваемого хоста: "

    read newHost

    echo -n «Введите путь от корня до файлов сайта: „

    read newPath

    #Производим запись в hosts

    file=“/etc/hosts»

    b=$(cat $file)

    newContent="127.0.0.1 ${newHost}"$'\n'"127.0.0.1 www.${newHost}"$'\n'$b

    sudo bash -c «echo '${newContent}' > $file»

    #Добавляем сайт в sites-available и прописываем в него нужные директивы

    sap=/etc/apache2/sites-available/$newHost

    sudo touch $sap

    sudo chmod 777 $sap

    directives="

    ServerName ${newHost}

    ServerAlias ${newHost} www.${newHost}

    DocumentRoot ${newPath}

    AllowOverride All

    "

    echo «$directives»>$sap

    #Включаем виртуальный хост

    sudo a2ensite $newHost

    #Включаем rewrite

    sudo a2enmod rewrite

    #Перезапускаем сервер

    sudo /usr/sbin/apache2ctl restart

  42. 15 апреля 2011 10:56 | №43

    sudo chmod 777 $sap — вот эта строчка мне совсем не нравиться, как по мне 777 надо поменять на 644

  43. Svyat
    3 июня 2011 19:56 | №44

    Не подскажете, чем отличается настройка Apache на локальном компьютере от настройки на VPS?

  44. 11 августа 2011 0:31 | №45

    Да ничем, кроме того что на VPS через ssh лезешь, а на local все под рукой (скоростью передачи данных в общем)

  45. SHpiller
    6 октября 2011 21:32 | №46

    Спасибо большое автору за статью!

    Сразу поделюсь своей головной болью.

    Значит за роутером находится комп и сервер(на сервере стоит пока обычный Ubuntu 11.04, не Server!). когда на сервере в браузере ввожу site1.ru или site2.ru все работает прекрасно, но когда ввожу ip/site1.ru или ip/site2.ru не может найти хосты на сервере. Кстати при наборе только ip сервера default-хост проходит и на серваке и на локальной машине. В hosts файле все прописал. Апач работает без ошибок. В чем проблема никак не могу понять. :(

  46. 7 октября 2011 10:31 | №47

    SHpiller, не совсем понял вопрос. То есть вы пытаетесь зайти на свои сайты, по таким адресам: 12.0.0.1/site1.ru, 12.0.0.1/site2.ru? Если да, то это в корне неправильный подход и он никогда не будет работать. В этом случае идет попытка уйти на default сайт и найти на нем странички с именами siteN.ru

  47. SHpiller
    7 октября 2011 12:37 | №48

    Хорошо. Согласен. Обьясние тогда каким образом мне заходить на свои сайты из сети?

    З.Ы. Планируется покупка нескольки доменов на один IP (установка и настройки DynDNS, проброс портов и на роутере уже выполнены).

  48. 7 октября 2011 12:51 | №49

    SHpiller, на одном IP адресе может быть несколько сайтов, при правильной конфигурации апача доступ к ним возможен по их имени, тоесть site1.ru, site2.ru. Либо их можно разнести на разные порта и тогда можно достукиваться по ip:port, но лучше настроить виртуальные сайты в апаче как описано в этом посте и тогда не возникнет никаких проблем

  49. Denis
    20 октября 2011 6:54 | №50

    А не подскажешь, зачем нужна тогда директива NameVirtualHost, если виртуальный хостинг и без нее работает на Ubuntu, или её требовалось указывать в rpm-системах. А еще удивительно то, что на сайте www.apache.org не сказано про файл apache2.conf для deb-подобных систем. там про настройки файла httpd. понятно, что можно их считать взаимозаменяемыми. но все же...

  50. 20 октября 2011 9:57 | №51

    К сожалению не знаю про NameVirtualHost.

    А насчет apache2.conf, так это каждый дистрибутив кастомизирует как хочет — это же линукс, в нем ничего не гарантировано :)

  51. Denis
    20 октября 2011 10:02 | №52

    скорее всего для описания портов на которых VirtualHost обслуживается. Для того чтобы обслуживать слушать на любом ip на портах 80 и 81 (виртуальные хосты на этих портах будут работать). Все-равно спасибо.

  52. 20 октября 2011 10:07 | №53

    я у себя настраивал таким образом, что все виртуальные хосты висели на одном (80) порту, и отзывались по разным именам (site1.my, site2.my), которые прописывал в /etc/hosts — это для того, чтобы не поднимать DNS сервер

  53. Denis
    20 октября 2011 10:10 | №54

    ну у меня так же. для отладки сайтов сделал. только как залез в маны, так везде эта директива указывалась. а все работает и без нее. вот вопрос и вылез :D

  54. 20 октября 2011 10:11 | №55

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

  55. vladimir
    23 октября 2011 0:55 | №56

    Статья полезная! Только у меня результат 0. ДНС сервер настроен. Через консоль сервера сайты открываются, а с локального ПК браузер пишет не может найти страницу, Прошу HELP!

  56. 23 октября 2011 12:15 | №57

    Похоже на то что ДНС сервер настроен некорректно

  57. vladimir
    23 октября 2011 13:38 | №58

    можно я выложу настройки днс?

  58. 23 октября 2011 14:09 | №59

    Евли честно, я с настройкой ДНС сталкивался очень давно, и вряд ли смогу помочь, но выложить можно, может кто-то из ребят сможет подсказать в чем проблема

  59. vladimir
    23 октября 2011 15:06 | №60

    это файл прямой зоны db.lan

    $ORGIN mshome.net.

    $TTL 604800

    @ IN SOA server.mshome.net info.mshome.net (

    2011102003;

    604800;

    86400;

    2419200;

    604800);

    NS server.mshome.net.

    mshome.net. A 192.168.0.1

    www IN A 192.168.0.1

    server IN A 192.168.0.1

    ; хосты mshome.net

    MYPC2 IN A 192.168.0.2

    vladimir-desktopIN A 192.168.0.3

    ; virtual host

    bamboo IN A 192.168.0.10

    biz IN A 192.168.0.11

    company IN A 192.168.0.12

    это файл обратной зоны

    $TTL 86400

    @ IN SOA server.mshome.net info.mshome.net (

    2011102003;

    604800;

    86400;

    2419200;

    604800);

    NS server.mshome.net.

    1 PTR mshome.net.

    1 PTR server.mshome.net.

    ;HOSTS

    192.168.0.2 IN PTR MYPC2

    192.168.0.3 IN PTR vladimir-desktop

    ; virtual host

    192.168.0.10 IN PTR bamboo.mshome.net.

    192.168.0.11 IN PTR biz.mshome.net.

    192.168.0.12 IN PTR company.mshome.net.

  60. vladimir
    23 октября 2011 15:13 | №61

    файл named.conf.default-zones к стандартному добавил

    zone «mshome.net» {

    type master;

    file «/etc/bind/db.lan»;

    };

    zone «0.168.192.in-addr.arpa» {

    type master;

    file «/etc/bind/db.0.168.192.in-addr.arpa»;

    };

  61. 23 октября 2011 19:29 | №62

    похоже на то что локальный ДНС сервак никоим боком не комуницирует со внешними ДНС сереверами, то есть внешние сервера ничего не знают о локальном. Надо копать в эту сторону.

  62. vladimir
    23 октября 2011 20:38 | №63

    Сервер и домен для локальной сети. Сайты не открываются с локальных ПК.

  63. vladimir
    23 октября 2011 20:41 | №64

    Все сайты с Интернета без проблем в локальной сети.

  64. 23 октября 2011 20:47 | №65

    К сожалению в данном случае я помочь не смогу :(, может кто-то из читателей сможет ответить. Ребята, дружно ждем Вашей помощи.

  65. Anton
    24 октября 2011 23:14 | №66

    а если выпадает ошибка

    ERROR: No site found matching /etc/apache2/sites-available/test.my

    при этом файл в директории есть

    ;- (

  66. 25 октября 2011 9:41 | №67

    проверьте включена ли директория sites-available, для поиска в ней настроек в файле apache2.conf, или httpd.conf. А также необходимо активировать сайт командой #sudo a2ensite /etc/apache2/sites-available/test1.my. Ну и не забыть прописать следующую строку в файл /etc/hosts — 127.0.0.1 test1.my www.test1.my

  67. Anton
    25 октября 2011 10:09 | №68

    Это все было прописано :( как раз сообщение выдавалось когда я писал команду a2ensite

    Но я вот поставил Webmin и там настроил ...т.к. не понял в чем ошибка :(

  68. 25 октября 2011 11:07 | №69

    Главное результат :). Сейчас уже сложно сказать где могла быть проблема.

  69. vladimir
    25 октября 2011 22:19 | №70

    Доброго времени суток. Я думал виноват iptables но по имени сервера (с локального ПК) server.mshome.net открывается сайт сompany.mshome.net Почему?

  70. 26 октября 2011 14:02 | №71

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

  71. dimon
    2 ноября 2011 0:13 | №72

    всем привет, имеется роутер (с настроенной dyndns и пробросом нужных портов на мой комп) и несколько компов, на моем (ubuntu 11.10) настроена proftpd, ssh — все работает удаленно по инету норм, а вот сайт внутри локалки работает (даже по внешнему dns), а удаленно пишет мол не могу найти сайт, как же так? :(

  72. 2 ноября 2011 0:36 | №73

    а ДНС сервер смотрит на рутовый днс?

  73. dimon
    2 ноября 2011 9:30 | №74

    сомневаюсь, в роутере есть поддержка оного и там же настроил

    ssh и ftp норм пашут ведь, по vnc подключался удаленно норм

  74. 2 ноября 2011 10:34 | №75

    я писал не про роутер, а про рутовый (корневой, родительский) ДНС сервер.

  75. dimon
    2 ноября 2011 10:44 | №76

    гугл посылает на описание и установку Bind, это оно?

  76. 2 ноября 2011 10:55 | №77

    В принципе да, BIND — это ДНС сервер, но он должен зарегистрировать корневой ДНС, чтобы можно бало резолвить адреса во всемирной паутине, задача непростая.

  77. 2 ноября 2011 10:57 | №78

    А вообще по этой тематике, есть очень хорошая книга Олафа Кирха, Руководство администратора сети. Ее должен прочитать каждый администратор, дабы понимать как устроен интернет и сети в целом. Без знаний материала из этой книги, любые попытки настроить что-либо, будут превращаться в брождение слепых котят.

  78. dimon
    2 ноября 2011 10:59 | №79

    спасибо, прочитаю)

    щас в другом месте как раз теорию изучаю

  79. 2 ноября 2011 11:21 | №80

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

  80. dimon
    2 ноября 2011 19:53 | №81

    все заработало, по ходу провайдер 81 порт блокирует, сменил порт и заработало)

    а DNS у меня на *.asuscomm.com и так есть — хватает ((=

  81. Knop
    3 ноября 2011 14:18 | №82

    Доброго времени суток! Ситуация следующая: в файле в папке sites-available прописан Алиас имени сайта «ServerAlias test1.my www.test1.my» в файле /etc/hosts имеет место быть строка «127.0.0.1    test1.my        www.test1.my»

    Но, в браузере при обращении к самому сайту (test1.my) — всё хорошо, а при обращении по алиасу (www.test1.my) — 404 (Not Found)! Большая просьба пнуть в нужном направлении, сейчас курю маны по Апачу... но не уверен в правильности принятого решения.

  82. 3 ноября 2011 14:26 | №83

    Вот так должно заработать

    ServerName test1.my

    ServerAlias test1 test1.my www.test1.my

  83. Knop
    3 ноября 2011 14:52 | №84

    исправил, не заработало ;- ( Кстати Апач в логах ругается следующими словами:

    file does not exist: /var/www/www.test1.my

  84. 3 ноября 2011 15:24 | №85

    а в каком каталоге лежит сайт?

  85. Knop
    3 ноября 2011 15:41 | №86

    /var/www/test1.my

    Повтрюсь. При обращении в браузере к имени на прямую без «www» всё отлично работает! У меня такое впечатление, что Apache просто игнорирует директиву ServerAlias. Все мозги сломал себе уже...

  86. 3 ноября 2011 15:53 | №87

    можешь выложить куда нибудь файлы настроек апача и файл /etc/hosts?

  87. Knop
    3 ноября 2011 16:34 | №88

    Решил выслать сразу тебе на мыло. Спс за помощь.

    Создал сим линк www.test1.my в директории /var/www/ на /var/www/test1.my — зароботало. Однако костыль :sick: не хотелось бы так оставлять...

  88. Karpo
    19 ноября 2011 12:38 | №89

    Вот вы пишите в комментах, что нужно в /etc/hosts писать ip название сервера алиас.

    А у вас в статье в hosts прописывается ip и алиасы, то есть имя сервера отсутствует. Вы вносите путаницу. Ещё вопрос. Где определяется, как будет называться файл сайта в папках sites-available и sites-enable. Вы использовали файл с именем одного из алиасов, чтобы было понятно, но стало наоборот не понятно.

  89. 19 ноября 2011 20:04 | №90

    О названии сервера в посте тоже есть упоминание. А название файла можно выбирать произвольно.

  90. Alex
    4 января 2012 22:14 | №91

    Сделал всё по инструкции. При инициализации апача выдает ошибку:

    /etc/init.d/apache2 reload

    Reloading web server config: apache2[Wed Jan 04 14:05:29 2012] [error] VirtualHost *:80 — mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results

  91. 4 января 2012 22:21 | №92

    Скорее всего в файлах настроек, есть вот такая строка

    NameVirtualHost *

    ее надо заменить на следующую

    NameVirtualHost *:80

  92. Vadim
    7 января 2012 20:38 | №93

    Help!!!!!!!!

    Не работает данная команда (ERROR: No site found matching /etc/apache2/sites-available/vadimnet.net ;- ( !)

    #sudo a2ensite /etc/apache2/sites-available/test1.my

  93. myxtap
    23 января 2012 23:48 | №94

    Здравствуйте,

    в целях отладки и тестирования на Win7 я поставил VirtualBox (сеть в режиме моста)+Ubuntu10.04Server (LAMP) : правильно ли я понял что теперь я по вашему рецепту смогу из хост ОС в гостевом Ubuntu увидеть разные страницы для www.test1.my и www.test2.my на одном ip адресе, без локального DNS сервера но с интернетом по ADSL — я попробовал, но пока вижу только «It works!». Обращаясь к серверу я располагаю только ip. О Hosts (Ubuntu) Win7 ничего не знает...? Добавил и в Win7/hosts test1.my запись — но не помогает...а ещё я не понял как апач узнаёт где лежит стартовая страница виртуальных сйтов ? — необессудте — я начинающий...

  94. 24 января 2012 11:21 | №95

    Направление движения верное. Win7 сможет увидеть сайты на Ubuntu. Для этого необходимо глянуть какой IP адрес использует Ubuntu и прописать его в Win7 system32/drivers/etc/hosts и соответствие названий сайтов, то есть что-то наподобие этого:

    192.168.10.10 (это IP Ubuntu) www.test1.my

    сама Ubuntu настраивается, как описано в моем посте, и hosts тоже надо прописать в убунте.

    Апач о стартовой странице знает из настроек виртуальной директории, по умолчанию это index.html

  95. bivi2109
    16 февраля 2012 22:45 | №96

    Большое спасибо автору. То что нужно.

  96. myxtap
    17 февраля 2012 14:20 | №97

    Vadim, у меня сработало не

    #sudo a2ensite /etc/apache2/sites-available/test1.my

    а

    #sudo a2ensite test1.my

    ...ещё раз спасибо автору...

  97. Vladimir
    3 мая 2012 9:36 | №98

    Всем привет, у меня на ubuntu server 11.10 такая проблема при перезапуске апача — Invalid comand 'ServerAlies', perhaps misspelled or or defined by module not included in the server configuration Action 'configtest' failed

    Как подключить етот serveralies ? Помогите пожалуйста кто может! Зарание благодрен.

  98. Леша
    8 июня 2012 8:45 | №99

    Огромное спасибо. Статья оч. грамотная.

  99. 14 июня 2012 15:40 | №100

    Ты ошибся в написании, не alies а aliAs

  100. Иван
    18 июня 2012 10:12 | №101

    Ох...енная статья...

  101. Mister X
    18 июля 2012 21:51 | №102

    Народ подскажите пожалуйста возможно ли на один внешний ип поставить два сервака ( два системных блока ) . Задача заключается в чем :

    Есть два сервака на двух серваках стоить linux , один роутер , один внешний ИП и два домена ( к примеру сайт_1.ру и сайт_2.ру )

    Нужно что бы когда я захожу на сайт_1.ру что бы я заходил на один сервак и если зайду на сайт_2.ру попадал на другой сервак .

    Как это можно воплотить что бы все работало нормально ?

  102. max
    24 октября 2012 16:11 | №103

    обнаружился один момент, на ubuntu 12.04

    заработало, только после того как добавил 2й хост и отключил командой a2dissite — default (дефолтный хост). торчит там изначально в папке sites-available.

    З.Ы. Автор, спасибо за статью ^_^

  103. 24 октября 2012 16:49 | №104

    Как-то странно, у меня и с дефолтным хостом все работало.

    P.S. Не за что

  104. EgorKluch
    9 ноября 2012 6:09 | №105

    ERROR: No site found matching /etc/apache2/sites-available/test.my

    Проблему решил убрав путь, оставив только имя файла

    sudo a2ensite test1.my

  105. Eggor
    13 ноября 2012 12:41 | №106

    Такая проблема:

    До того, как шурстить гугляндекс, решил добавить свежекупленный домен к новому сайту, залитому в /var/www/site3.kz на VPS сервер уже имеющий 2 сайта и 3 домена (site1.com, site2.ru и site2.kz) — все они в рабочем состоянии.

    Посмотрел как они настроены и делал всё по аналогии с ними:

    1)в дирректории /etc/apache2/sites-available/ лежат:

    defoult

    default-ssl

    site1.com

    site2.ru

    site2.kz

    добавил к ним site3.kz со следующим содержанием (скопировал с site1.com и просто изменил):

    ServerAdmin webmaster@localhost

    # — данная строка одинакова у всех 3 файлов, не изменял

    DocumentRoot /var/www/site3/

    # — данная дирректория одинакова у site2.* тоесть дирректория /var/www/site2/ одна для обоих доменов

    ServerName site3.kz

    ServerAlias www.site3.kz

    AssignUserID пользователь пользователь

    # — у site1.com и site2.* пользователи сдесь разные, но т.к. весь site3.kz это копия site1.com, не стал менять строку

    2) Затем создал ярлык в папке sites-enabled по аналогии...

    3) в файле hosts написано вот что:

    127.0.0.1 localhost.localdomain localhost

    # Auto-generated hostname. Please do not remove this comment.

    ip vps-сервера, его нейм vpsname.kz, и нейм без kz — просто vpsname

    в данном файле ничего трогать смысла не увидел, так как в нём не прописаны ни site1 ни site2...

    4) перезагрузил апач2, проверил набор www.site3.kz — браузер выдал SERVER NOT FOUND

    5) перезагрузил vps-сервер, проверил набор — результат тот-же

    6) долго гуглил мануалы

    6.1) немогу понять как работают сайты, если в hosts в мануалах нужно что-то писать говорят?

    6.2) как я могу зайти на старые сайты site*.* без www, если в ServerAlias'ах прописано только www.site*.*?

    6.3) как заставить работать домен site3.kz?

    DNS сервера у регистратора доменов у всех 4 доменов одинаковы, не стал их трогать совсем.

    (пробовал в папке www переименовывать site3 в site1, а site1 в site3 — в результате на новый сайт зашло под старым именем домена, а на старый сайт под новым нет)

  106. 13 ноября 2012 12:49 | №107

    6.1) немогу понять как работают сайты, если в hosts в мануалах нужно что-то писать говорят?

    в хостах надо писать, Если нету реального ДНC — у вас он есть, Писать ничего не надо.

    Нужно в панели управления доманеми (у регистартора) перенаправить все запросы на ваш IP.

  107. Eggor
    13 ноября 2012 13:28 | №108

    Спасибо огромное за быстрый ответ! перенаправил, теперь всё работает как нужно :)

  108. 13 ноября 2012 13:30 | №109

    Замечательно. Рад, что смог помочь.

  109. bush
    16 ноября 2012 21:23 | №110

    С этой поправкой:

    ERROR: No site found matching /etc/apache2/sites-available/test.my

    Проблему решил убрав путь, оставив только имя файла

    sudo a2ensite test1.my

    работает без нареканий!

    Но при наборе в браузере другого компа в локалке IP компа с апачем заходит на дефолтный сайт, а при наборе test.my прыгает в инет. При наборе вида IP/test.my появляется index of / test.my, а сайт открывается только при наборе IP/test.my/www

  110. 17 ноября 2012 0:33 | №111

    вероятнее всего браузеры других компов, не умеют резолвить домменые имена вида *.my. Поэтому надо либо поднять реальный ДНС сервер, либо просто в файлах hosts прописать соответствие IP и имени, как это показано для сервера, в моем посте.

  111. sotnik
    25 ноября 2012 7:35 | №112

    а у меня непонятная проблема...

    аналогично, есть несколько доменов, которые работают, не могу добавить еще один... упорно не работает...

    картина —

    днс регистратора, и там указан ip регистратора

    /etc/apache2/sites-available/test.my такой же, как и у других (написано побольше, чем в статье)...

    hosts такой же, как в статье 127.0.0.1 (пробовал уже ip сервера) на все домены, включая новый...

    апач пишет, что сайт разрешен-есть...

    но в браузере — проблема сети...

    кто-нибудь с таким сталкивался?

  112. Leo
    4 декабря 2012 5:02 | №113

    Автор замените в статье команду

    #sudo a2ensite /etc/apache2/sites-available/test1.my

    а-то ругается что нет такого файла

    ERROR: No site found matching /etc/apache2/sites-available/test.my

    на

    #sudo a2ensite test1.my

  113. 4 декабря 2012 11:34 | №114

    @Leo, на самом деле, выше в комментариях это обсуждалось, это в некоторых дистрибутивах не надо прописывать полный путь, а на других дистрибутивах работает с полным путем.

  114. Александр
    28 февраля 2013 23:18 | №115

    Надеюсь не совсем некропост, но есть такая проблемка, после команды sudo a2ensite /etc/apache2/sites-available/mysite

    говорит ERROR: No site found matching /etc/apache2/sites-available/mysite!

    Где прокол?

  115. Александр
    28 февраля 2013 23:20 | №116

    Ах да, файлик есть, настроен по шаблону, путь к файлам сайта, все правильно...

  116. Александр
    28 февраля 2013 23:23 | №117

    Ой, извините, был пьян 8) почитал уже комменты с аналогичной ошибкой, понял в чем загвоздка.

  117. 1 марта 2013 0:33 | №118

    Пока дошли руки до ответа, то уже и отвечать не пришлось :)

    Рад, что смог помочь

  118. Абдулов
    1 марта 2013 12:00 | №119

    Добрый день. У меня есть сервер на убунту с апачем, все настроил, но, как мне сделать так чтобы я мог достучаться к сайту по локалке при этом не указывать в etc/hosts айпи сервера и имя сайта?

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

  119. 1 марта 2013 12:34 | №120

    Необходимо настроить DNS. Для этого у домен провайдера у кого вы купили домен, нужно прописать для домена айпишник вашего сервера.

  120. Абдулов
    14 марта 2013 1:03 | №121

    А в чем проблема может быть, если грузится только главная, а все остальные линки — Not Found?

    Файл .htaccess проверял, может проблемы с БД?

  121. 14 марта 2013 1:09 | №122

    1. проверьте права на другие файлы и поддиректории

    2. возможно что-то с module_rewrite настроенно не так

  122. Абдулов
    14 марта 2013 14:38 | №123

    Спасибо, что помогаете. Дело было в правах.

  123. reyu
    29 апреля 2013 0:55 | №124

    Добавил в закладки. Единственный FAQ после которого все получилось с первого раза.

    Низкий поклон.

    Автор первого комента: жирный тролль. IIS у него для крупных сетей ахахах. Именно поэтому у микрософта везде апач.

  124. Тамаз
    30 апреля 2013 8:14 | №125

    Спасибо за статью, по ней все сделал. Только мне нужно теперь

    запаролить сайт, чтобы вход был строго по логину и паролю.

    Как это сделать?

  125. 30 апреля 2013 9:39 | №126

    это уже можно решить либо через VPN, либо средствами языка программирования.

  126. Тамаз
    2 мая 2013 13:31 | №127

    Все гораздо проще, запаролить сайт или определенную директорию можно созданием файлов .htaccess и .htpasswd

  127. Ваня
    8 июня 2013 1:16 | №128

    Столкнулся с такой проблемой: у меня есть домен 2ba.su и несколько его поддоменов.

    Прописал в апаче несколько отдельных виртуальных хостов, все они хорошо работают, кроме самого домена 2ba.su. Всяко уже пробовал экспериментировать, пока безрезультатно. Может ли быть, что причина в том, что доменное имя начинается с цифры?

    Файл выглядит примерно так:

    ServerAdmin «admin@2ba.su»

    ServerName «2ba.su»

    DocumentRoot «/var/www/main»

    Options FollowSymLinks

    AllowOverride None

    Options -Indexes -Includes +FollowSymLinks +MultiViews

    AllowOverride None

    Order allow,deny

    allow from all

    ServerName «www.2ba.su»

    Redirect 301 / 2ba.su

    В чём может быть проблема? Точно такие же конфиги для поддоменов работают на ура.

  128. Ваня
    8 июня 2013 1:18 | №129

    Так, он съел у меня там некоторые директивы... Вот вариант без угловых скобочек:

    VirtualHost *:80

    ServerAdmin «admin@2ba.su»

    ServerName «2ba.su»

    DocumentRoot «/var/www/main»

    Directory /

    Options FollowSymLinks

    AllowOverride None

    /Directory

    Directory /var/www/main/

    Options -Indexes -Includes +FollowSymLinks +MultiViews

    AllowOverride None

    Order allow,deny

    allow from all

    /Directory

    /VirtualHost

    VirtualHost *:80

    ServerName «www.2ba.su»

    Redirect 301 / 2ba.su

    /VirtualHost

  129. 8 июня 2013 11:35 | №130

    то что в начале цифра, никак не влияет.

    не надо писать никаких редиректов.

    в VirtualHost для главного домена пишем

    ServerName 2ba.su

    ServerAlias www.2ba.su

    и наслаждаемся результатом

  130. Ваня
    8 июня 2013 12:22 | №131

    Ну так и было до начала экспериментов.

    Не работало. А ещё раньше в нужное место отправлялись все незнакомые хосты — тогда работало.

    На всякий случай опять проверил — не работает:(

    Написал:

    (VirtualHost *:80)

    ServerAdmin «admin[wuf]2ba.su»

    ServerName 2ba.su

    ServerAlias www.2ba.su

    # ServerName «www.2ba.su»

    # ServerAlias «2ba.su»

    DocumentRoot «/var/www/main»

    ...

    сделал apache2ctl restart

    Результат тот же:( В разных браузерах

    И при скачивании wget-ом тоже результаты такие же, как и в браузерах.

  131. Ваня
    8 июня 2013 12:32 | №132

    Добил настройки, чтобы в лог доступа выводились запрошенные домены.

    При доступе к 2ba.su читает каталог по умолчанию, но пишет, что просили 2ba.su

    При доступе к www.2ba.su пишет в другой лог — тот который указан в приведенной выше секции (VirtualHost *:80), причём домен пишет тоже 2ba.su. Видимо, приводит к каноническому виду. Поискал qrep-ом, где ещё указано имя 2ба.су — нигде, кроме как в этом конфиге.

    Точно цифра не влияет?

    У меня уже гипотезы закончились :)

  132. Ваня
    8 июня 2013 12:39 | №133

    Странно, он в лог всегда пишет просто 2ба.су, что бы там ни запрашивали. Даже, при открытии по АйПи адресу.

    Может, он просто бэкрезолвит из ДНСа?

    Ну, это отдельный вопрос...

  133. Ваня
    8 июня 2013 12:49 | №134

    Может ли проблема быть как-то связана со значением параметра UseCanonicalName?

  134. Ваня
    8 июня 2013 14:14 | №135

    Проблема решена, всем спасибо:)

    У нас в конфиге VirtualHost по умолчанию не было никакого ServerName.

    Соответственно, апач брал, не задумываясь особо, то имя, которое ему подсказывает DNS, то есть 2ba.su.

    То есть это был не конфиг для всех хостов, которые не заданы явно, а конфиг для хоста по умолчанию, то есть 2ba.su.

    Это лечится директивой ServerName none.example.com.

    Лекарство подсказала страница httpd.apache.org/docs/2.2/vhosts/mass.html

  135. Тимофей
    19 июля 2013 1:42 | №136

    Debian — Apache2

    так не работает (может теперь)

    sudo a2ensite /etc/apache2/sites-available/test1.my

    пишет: ERROR: No site found matching /etc/apache2/sites-available/test1.my!

    а так работает, без указания полного пути ( + дописывает по TAB)

    sudo a2ensite test1.my

  136. Сергей
    27 сентября 2013 5:09 | №137

    Здравствуйте.

    Во-первых, хочу сказать спасибо, отличная статья, все понятно, все работает :)

    Меня интересует такой вопрос. В строке (VirtualHost *:80) что означает звездочка? В некоторых мануалах там советуют прописывать IP, в каких случаях следует писать звездочку, а в каких конкретный IP ?

    А еще, может есть какие-нибудь рекомендации по выбору директории для сайта. У меня локально все одинаково работает в любой директории, хоть в домашней какого-либо пользователя, но тем не менее какой выбор будет наиболее грамотным если в перспективе планируется сделать сайт доступным для всех? :)

    Возможно вопросы глупые, но я в начале пути, не судите строго :)

  137. 27 сентября 2013 16:16 | №138

    В строке (VirtualHost *:80) звездочка обозначает любой IP адрес, то есть, если на компе установленно к примеру две сетевые карты, и необходимо чтобы сервер слушал запросы и с одной и сдругой, тогда ставим звездочку, а если же надо чтобы сервер слушал только одну из установленных сетевух, тогда прописываем конкретный IP адресс для которого хотим слушать трафик.

    Обычно корневую директорию для сайта помещают в /var, хотя четких инструкций для этого нету.

  138. Godmetis
    8 октября 2013 7:19 | №139

    Отличная статья, огромное спасибо))) всё работает

  139. saifuddin
    16 января 2014 20:23 | №140

    Настройка виртуальных хостов Ubuntu 13.10/13.04

    Рабочий конфиг:

    ServerAdmin webmaster@yweb.ru

    ServerName forum

    ServerAlias forum

    DocumentRoot /home/saifuddin/sites/site1/www

    DirectoryIndex index.php index.php3 index.html index.htm

    Options Indexes FollowSymLinks MultiViews

    AllowOverride All

    Order allow,deny

    allow from all

    Require all granted

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

    AllowOverride All

    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch

    Order allow,deny

    Allow from all

    ErrorLog ${APACHE_LOG_DIR}/error_mys.log

    # Possible values include: debug, info, notice, warn, error, crit,

    # alert, emerg.

    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access_mys.log combined

  140. Deno
    7 июля 2014 18:35 | №141

    В строчке (#sudo touch test1.my) требуется указать .conf а не .my

  141. 7 июля 2014 20:28 | №142

    @Deno, нет, не нужно, там указано все верно, ибо файл конфигурации был названи с расширением .my а не .conf

  142. йцу
    8 января 2017 20:01 | №143

    Просто и понятно, спс. Про путаницу с «NameVirtualHost *:80» бы еще добавить, сразу не сообразил.

  143. Дмитрий
    15 мая 2017 10:39 | №144

    Спасибо за статью.

    Виртуальные хосты настроил, но пришлось переименовать файл в test1.my.conf так как была ошибка stackoverflow.com/questio...ror-for-a2ensite

    Убунта 16.4

    и в апаче нет файла httpd.conf

:D :) ^_^ :( :o 8) ;-( :lol: xD :wink: :evil: :p :whistle: :woot: :sleep: =] :sick: :straight: :ninja: :love: :kiss: :angel: :bandit: :alien: