|
Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по FreeBSD » FreeBSD - [решено] Не могу настроить виртуальные хосты |
|
|
FreeBSD - [решено] Не могу настроить виртуальные хосты
|
Пользователь Сообщения: 76 |
Профиль | Отправить PM | Цитировать Здравствуйте!
Немного предыстории. Ставлю amp на windows, прописываю виртуальные хосты, все прекрасно. На ubuntu все ок! и на Debian отлично! Ставлю freeBSD и алес капут махэн! Скачиваю килотонны скринкастов, хенд буков и книг, все пишу по инструкции, но один хрен. Ставлю denwer, lamp, xamp смотрю настройки хостов слизываю конфиги - один хрен! Все действия произвожу на VirtualBox установленной под Windows 7. FreeBSD 9.0 На виртуалку проброшены порты. Сейчас у меня все настройки "коробочные" ничего не менял кардинально. Суть проблемы: если я ставлю один виртуальный хост, то создается впечатление, что все нормально (все маны описывают создание одного хоста, мол остальные нужно делать по аналогии). Когда я дописываю второй, то тут начинается трабл: httpd-vhost.conf NameVirtualHost *:80 # # этот хост предложил прописать знакомый, как вариант, сам он плохо знаком. # <VirtualHost *:80> ServerAdmin localhost@mail.ru DocumentRoot '/usr/local/www/apache22/data' ServerName localhost ErrorLog '/var/log/http/localhost-error_log' CustomLog '/var/log/http/localhost-access_log' common </VirtualHost> # # это стандартный хост, я просто поменял имена и создал не достающие файлы и папки # <VirtualHost *:80> ServerAdmin webmaster@dummy-host.example.com DocumentRoot "/usr/local/docs/clickcounter" ServerName clickcounter ServerAlias www.clickounter.com ErrorLog "/var/log/http/clickounter-error_log" # # Еще один стандартный, но отредактированный example # <VirtualHost *:80> ServerAdmin myblog DocumentRoot "/usr/local/docs/myblog" ServerName myblog ErrorLog "/var/log/http/myblog-error_log" CustomLog "/var/log/http/myblog-access_log" common </VirtualHost> По этому адресу лежит index.html созданный апачем при установке It works!, ну в общем то на данном этапе It Works! Пишу 192.168.137.11/myblog - вижу 404 Not Found. The requested URL /myblog was not found on this server. Смотрю логи, которые обновились только в /var/log/http/localhost-error_log [Wed May 02 15:25:34 2012] [error] [client 10.0.2.2] File does not exist: /usr/local/www/apache22/data/myblog Если я пропишу, за ранее удалив вариант предложенный знакомым, 192.168.137.11/clickcounter, то в его логе будет ошибка, что файл not exist usr/local/docs/clickcounter/clickcounter. Что я сделал неделю назад. Удалил нафиг все докруты, кроме первого хоста, в первом хосте указал общую директорию "usr/local/docs" и вроде все нормально, но целую неделю я не мог нормально уснуть, чует мое сердце, что это костыль. Во всех манах докрут может быть любой, а у меня как обычно... Да ладно бы в другой среде был тот же косяк, а то только во фряхе. В винде докруты ведут на проекы netbeans и ничего. У меня больше нет вариантов, все что мог перепробовал, нужен совет знающего человека. За ранее спасибо. |
|
Отправлено: 11:43, 02-05-2012 |
Ветеран Сообщения: 526
|
Профиль | Отправить PM | Цитировать Цитата Skit25:
Цитата Skit25:
Цитата Skit25:
Цитата Skit25:
еще пропишите на винде в файле %windir%/system32/drivers/etc/hosts (потребуется админский доступ) строки 192.168.137.11 localhost clickcounter myblog и сохраните файл, или поднимите DNS на freebsd и правильно его настройте. ИМХО, первое проще. Теперь, чтобы обратиться к первому хосту в браузере надо набирать localhost, тогда апач будет искать документ /usr/local/www/apache22/data/index.html для второго надо набирать clickcounter, тогда апач будет искать документ /usr/local/docs/clickcounter/index.html и так далее. |
||||
Последний раз редактировалось VictorSh, 02-05-2012 в 19:05. Отправлено: 17:11, 02-05-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 76
|
Профиль | Отправить PM | Цитировать Пишу и пробую рецепт.
DNS поднимать будем, главное чтобы оно нужно было. Поставил на VirtualBox, чтобы разобраться, спасибо, что помогаете в этом. Как копипастить из дефолтного редактора mc не знаю, а при копировании из "ee" потерялся </VirtualHost>, но он был 192.168.137.11/example, по этому пути я ожидаю директорию documentRoot/example и 192.168.137.11/otherExample = etcDocumentRoot/otherExample Немного попробовал, не получилось. Чищу логи, пишу что получается. Все таки пишу в hosts windows 192.168.137.11 freebsd clickcounter myblog (localhost используется виндовым сервером) Чищу httpd-vhosts.conf NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin webmaster@dummy-host.example.com DocumentRoot "/usr/local/docs/clickcounter" ServerName clickcounter ServerAlias www.clickounter.com ErrorLog "/var/log/http/clickounter-error_log" </VirtualHost> <VirtualHost *:80> ServerAdmin myblog DocumentRoot "/usr/local/docs/myblog" ServerName myblog ErrorLog "/var/log/http/myblog-error_log" CustomLog "/var/log/http/myblog-access_log" common </VirtualHost> Лог прописался для clickcounter, путь до clickcounter верный (как вы и говорите). Не логично, http://freebsd/ должно привести в /usr/local/www/apache22/data, как указано в httpd.conf, ни чего не понимаю. Путь в clickounter-error_log прописался /usr/local/docs/clickcounter/, может для хоста нужно прописать <Directory> Allow from all, чтобы пропустил, но не отвлекаюсь от задачи. Пишу http://freebsd/clickcounter/ - та же песня, что и 192.168.137.11/clickcounter/, оно и понятно. 403, путь /usr/local/docs/clickcounter/clickcounter Пишу (питаюсь попасть на второй хост) http://freebsd/clickcounter/myblog, не надеясь на чудо смотрю лог clickcounter. 403, путь /usr/local/docs/clickcounter/clickcounter пишу http://freebsd/myblog/myblog, 403, в clickounter-error_log - /usr/local/docs/clickcounter/myblog Цитата:
И я не пойму, почему первый хост это localhost, как бы аргумент по умолчанию, у дополнительного хоста должны быть такие же права как и у любого подключенного, какая разница первый он или 25ый. В httpd.conf же прописан первый, который ведет в папку data, как оно есть при инсталляции. На сколько мне известно, нужно лишь добавить include для вирт. хостов, ну и я добавил ServerName localhost, т.к. иначе выдает ошибку, что тоже встречается в манах. Остальные действия с вирт. хостами проводятся отдельно от основного конфига. Размышления. Если у меня сервер на локалке, я просто пишу localhost/example (конечно зависит от настроек) и попадаю в докрут example, если я помещу локальный сервер на виртуалку, то нужно будет обращаться 192.168.137.11/localhost/example, что вполне устраивает, но не получается. Чтобы прописывать просто 192.168.137.11/example, нужно править hosts (127.0.0.1 192.168.137.11) на виртуалке, я его не трогал. Может и не так все это... В голове каша полная. |
|
Последний раз редактировалось Skit25, 02-05-2012 в 19:46. Причина: Добавил новых сведений Отправлено: 19:35, 02-05-2012 | #3 |
Пользователь Сообщения: 76
|
Профиль | Отправить PM | Цитировать Все переиначил
Listen 127.0.0.1:80 NameVirtualHost 127.0.0.1:80 <VirtualHost 127.0.0.1:80> ServerAdmin webmaster@dummy-host.example.com DocumentRoot "/usr/local/docs/clickcounter" ServerName clickcounter ServerAlias www.clickounter.com ErrorLog "/var/log/http/clickounter-error_log" </VirtualHost> <VirtualHost 127.0.0.1:80> ServerAdmin myblog DocumentRoot "/usr/local/docs/myblog" ServerName myblog ErrorLog "/var/log/http/myblog-error_log" CustomLog "/var/log/http/myblog-access_log" common </VirtualHost> как не крути http://192.168.137.11/clickcounter или http://192.168.137.11/clickcounter/clickcounter или http://192.168.137.11/localhost/clickcounter при этом сервер принимает первый аргумент http://192.168.137.11/localhost/clickcounter = /usr/local/www/apache22/data/localhost/ вместо clickcounter, можно написать helloworld, роли не играет. Дополнительно закоментил httpd.conf строки DocumentRoot и секцию Directory для /usr/local/www/apache22/data Теперь ищет в /usr/local/htdocs, ни в http.conf ни в virtual.host, этот путь не указывается, в основной лог(httpd-error.conf) при этом пишется, Что доступ запрещен в /usr/local/htdocs В httpd.conf закомментировал listen и serverRoot. Пишу http://192.168.137.11 - вижу It works, пишу http://192.168.137.11/clickcounter - вижу "Соединение было сброшено", так с любым путем, отличным от http://192.168.137.11, в hosts прописывал. Все известные мне логи не пишутся. Кстати упустил информацию: установлен только апач22, на голую систему. В каждом докруте лежит один index.html. |
Последний раз редактировалось Skit25, 02-05-2012 в 21:12. Причина: Эксперименты ставлю на основе рабочих серверов Отправлено: 21:11, 02-05-2012 | #4 |
Ветеран Сообщения: 526
|
Профиль | Отправить PM | Цитировать Цитата Skit25:
Цитата Skit25:
cat file >/usr/home/name_of_user/conf.txt, а потом забрать по WinSCP файл в Windows Цитата Skit25:
Чтобы получить доступ к первому сайту надо писать его имя (у вас же виртуальный хостинг), а как сервер будет отличать их по-вашему, если у них одинаковые ip? поэтому делаем так. чтобы получить доступ к первому пишем его имя в браузере, то есть судя из конфига их поста 3, надо писать не freebsd и не freebsd/clickcounter, а то что написано в ServerName, а именно clickcounter. В этом случае вы попадете в нужную папку. Хоста freebsd в посте 3 (httpd-vhosts.conf) у вас вообще не описано, поэтому и не получается ничего. Цитата Skit25:
Цитата:
Права здесь не причем, просто вы неправильно обращаетесь к сайту. Все виртуальные хосты желательно прописывать в отдельном файле, чтобы не портить основной конфиг апача а в самом httpd.conf написать, что-то типа Цитата Skit25:
Цитата Skit25:
Цитата Skit25:
Цитата Skit25:
Цитата Skit25:
Ваша проблема в том, что вы неправильно обращаетесь к сайтам. Вам надо обращаться по имени ServerName. |
|||||||||||
Последний раз редактировалось VictorSh, 03-05-2012 в 01:56. Отправлено: 01:49, 03-05-2012 | #5 |
Пользователь Сообщения: 76
|
Профиль | Отправить PM | Цитировать Спасибо!
Я через putty копировал, только ctrl+c давнуть не догадался Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Вернул все на место (*:80), привел httpd.conf к изначальному виду. Теперь когда я прописываю 192.168.137.11, открывается index.html папки clickcounter, все остальное пытается найтись в DocumentRoot clicounter. Цитата:
Раз хоста freebsd не прописано, прописываю хосты 192.168.137.11 (вдруг перестало копироваться из putty, короче нужно кружева вязать, а не хосты настраивать # httpd-vhosts.conf NameVirtualHost 192.168.137.11:80 <VirtualHost 192.168.137.11:80> ServerAdmin webmaster@dummy-host.example.com DocumentRoot "/usr/local/docs/clickcounter" ServerName clickcounter.com ServerAlias www.clickounter.com ErrorLog "/var/log/http/clickounter-error_log" CustomLog "/var/log/http/clickcounter-access_log" common <Directory "/usr/local/docs/clickcounter/"> Order allow,deny Allow from All </Directory> </VirtualHost> <VirtualHost 192.168.137.11:80> ServerAdmin myblog DocumentRoot "/usr/local/docs/myblog" ServerName myblog.org ErrorLog "/var/log/http/myblog-error_log" CustomLog "/var/log/http/myblog-access_log" common </VirtualHost> # httpd.conf ServerRoot "/usr/local" Listen *:80 ServerAdmin you@example.com ServerName localhost DocumentRoot "/usr/local/www/apache22/data" <Directory "/usr/local/www/apache22/data"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> # Virtual hosts Include etc/apache22/extra/httpd-vhosts.conf # Остальное по дефолту Пишу 192.168.137.11/myblog.org - ищет папку "myblog.org" в папке "data". Думаю, у меня же проброс и фактически 192.168.137.11 означает 10.0.2.15, переписал все на 10.0.2.15, все уперлось в докрут clickcounter. Остается только hosts ковырять, я хоть и пишу эти строки, но уже давно разбился об стенку |
|||||||
Отправлено: 08:07, 03-05-2012 | #6 |
Ветеран Сообщения: 738
|
Профиль | Отправить PM | Цитировать Цитата VictorSh:
Shift+Insert - вставить |
|
------- Отправлено: 08:51, 03-05-2012 | #7 |
Пользователь Сообщения: 76
|
Профиль | Отправить PM | Цитировать Как говорится [Solved].
Как я и догадывался, все элементарно и ничего городить не нужно. Решение было сказано VictorSh особенно в пятом посте, оставалось только понять его Итак, сервер не понимает, что я от него хочу. Как описано в отличной статье и разделе Виртуальные сервера с идентификацией по имени. Вот оно! Имя хоста и ip - две стороны одной медали. Обратится к виртуальному хосту, исключительно по имени не удастся, ip`шник все рано будет присутствовать, если не в адресной строке, то где? Видимо нужно действительно поднимать DNS и сопоставлять ip с именами хостов, думаю с использованием регулярных выражений или как-то еще. Может есть какой-то модуль для apache. Но мне помогла запись в hosts windows: И все! Получаю Forbidden, прописываю Allow from all, для конкретного хоста, как это и предполагалось. Можно (мало ли кому то пригодится), прописать <Directory> "глобально", на всю папку с сайтами, чтобы не разрешать каждый отдельно, но мне в исследовательских целях удобней так. Теперь все (вроде как, тфю-тфю-тфю) работает. Когда я настроил хосты таким образом, что получал не содержимое хоста, а подпапки, я тоже возликовал, а оказалось все еще впереди. Хотя сейчас сомнений нет, все встало на свои места. Теперь вопрос как это сделать без правки hosts виндовса, но это уже отдельная тема. Всем спасибо! |
Отправлено: 11:31, 03-05-2012 | #8 |
Ветеран Сообщения: 526
|
Профиль | Отправить PM | Цитировать Поздравляю с победой!
на форуме есть кнопка спасибо для этих целей И тему отметьте решенной. Цитата Skit25:
Цитата Skit25:
Цитата Skit25:
Цитата Skit25:
В каспере разрешите доступ к сайту с 192.168.137.11 Цитата Skit25:
|
|||||
Последний раз редактировалось VictorSh, 03-05-2012 в 12:47. Отправлено: 12:41, 03-05-2012 | #9 |
Пользователь Сообщения: 76
|
Профиль | Отправить PM | Цитировать Короче мужики, у меня что не проблема, то bug report.
Сделал reboot. Все демоны стартанули. Открываю сайт щизыз: "Соединение сброшено". Ну вот думаю, опять... где мой бубен?? ---- Спустя час. ---- Все отвалилось нафиг. Настроил ftp, впервые появился баг. Подключится смог только через filezilla, который почему-то стал портить файлы. Достал старый добрый CuteFTP, стряхнул с него пыль, то же пол часа файлы закидывал, загрузка идет в момент, но один случайный файл пол часа висит на нуле, потом таки закачивается, на нем - то и вылетает ошибка, при запуске скрипта. CuteFTP повел себя так же, только скрипт работает без ошибок. Скачал night версию filezilla, думаю не в этом дело. --- Все, теперь соединение сброшено и хоть ты тресни. По ftp коннектиться перестало, myblog перекидывает на сайт в паутине. Все встало в точку отправления. 192.168.137.11 - Соединение сброшено, http://myblog - redirect to www.myblog.org. Час назад (писал вчера) перестали писаться логи. Больше к серверу достучаться не удалось. --- Решение. Нужно пересохранить httpd.conf, просто открыть поставить-удалить пробел, сохранить, apache -k restart и все работает. Простой перезапуск апача не помогает. Когда выдает "Соединение сброшено (ФФ)" логи не пишутся. Ставлю vmware. Видимо свой вклад внес VirtualBox, у меня вообще апач вставать не хотел, на wget завершалась работа виртуалки, после обновления (Vbox) апач таки встал, но теперь другие косяки. Винты нулевые в RAID`e (0), поверхность хорошая, ошибок нет. Вот такие пироги. |
------- Отправлено: 12:58, 04-05-2012 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Vista + Apache + виртуальные хосты - сеть? | d0ublezer0 | Вебмастеру | 4 | 01-12-2009 16:24 | |
Redhat/Fedora - Redhat/Fedora - [решено] апач виртуальные хосты | dihlof0s | Общий по Linux | 3 | 14-10-2009 07:55 | |
Виртуальные хосты | C+C | Вебмастеру | 10 | 18-11-2008 15:10 | |
Не могу настроить видео. | misha5539 | Непонятные проблемы с Железом | 5 | 09-06-2008 16:42 | |
Недоступны виртуальные хосты | shark21 | Вебмастеру | 3 | 05-02-2003 10:42 |
|