Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Виртуальные хосты
 
 автор: zaqwer   (12.08.2006 в 16:11)   письмо автору
 
 

Здравствуйте.
Тут обсуждали установку связки на Fedora4
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=22078&page=1

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

как мне создать и прописать виртуальный хост чтобы он открывался к примеру по домену site.ru и файлы этого сайта лежали в папке /home/site/public_html

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

   
 
 автор: zaqwer   (14.08.2006 в 14:18)   письмо автору
 
   для: zaqwer   (12.08.2006 в 16:11)
 

вопрос все еще актуален.
может все таки кто то что то подскажет. :(

   
 
 автор: glsv   (14.08.2006 в 15:16)
 
   для: zaqwer   (12.08.2006 в 16:11)
 

> но они все для винды и в общем не один не работает.
При создании виртуальных хостов разницы никакой нет - различия только в путях.

В виртуальном хосте пропишите

ServerName site.ru
ServerAlias www.site.ru
DocumentRoot  /home/site/public_html


1. У вас какая версия Apache?
2. Вы для своей машины виртулаьных хосты делаете, для локальной сети или у Вас машина видна из интернета?

   
 
 автор: zaqwer   (14.08.2006 в 15:46)   письмо автору
 
   для: glsv   (14.08.2006 в 15:16)
 

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


ServerName site.ru 
ServerAlias www.site.ru 
DocumentRoot  /home/site/public_html 

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

   
 
 автор: glsv   (14.08.2006 в 18:24)
 
   для: zaqwer   (14.08.2006 в 15:46)
 

>Apache 2
Какая версия с точностью до 3 знака?

> создаю пользователя site и группу site
Вот здесь поподробнее. Зачем вы их создаете? К созданию виртуальных хостов в Apache пользователи и группы отношения не имеют.

>создаю папки в домашней категори,
Понятно зачем создаете. Подождите пока работать с пользователями. Попробуйте просто наладить работу виртуальных хостов.
Кстати, проверочный index.html вы в какой директории создаете? Нужно в /home/site/public_html.

Директиву NameVirtualHost используете?
Прикретите конфигурационный файл с вирт. хостами в форум.

Что пишется в логах Apache?

   
 
 автор: zaqwer   (14.08.2006 в 21:13)   письмо автору
 
   для: glsv   (14.08.2006 в 18:24)
 

файл прикрепляю, пробовал запускать http://127.0.0.0/~site/ выдала вот что

Forbidden
You don't have permission to access /~site/ on this server.

Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.
Apache/2.0.54 (Fedora) Server at www.site.ru Port 80

почему недостаточно прав непонял.

index.html лежит в /home/site/public_html

если запускаю в браузере http://site.ru выскакивает табличка,

адрес не обнаружен, проверте правильность написания адреса

   
 
 автор: glsv (Дизайнер)   (15.08.2006 в 06:10)   письмо автору
 
   для: zaqwer   (14.08.2006 в 21:13)
 

> пробовал запускать http://127.0.0.0/~site/
А почему вы так обращаетесь? Это пользовательские директории, а Вы ведь виртуальные хосты настраивали. Какая точно у вас стоит задача?

Ниже настройка виртуальных хостов.
-----------------------------

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

NameVirtualHost 127.0.0.1

2. Вот это контейнер сотрите совсем.

<VirtualHost *>
    DirectoryIndex index.php index.html index.htm index.shtml 
     LogLevel debug
     HostNameLookups off
</VirtualHost>

3. Второй вирт. хост поправьте вот так

<VirtualHost 127.0.0.0>
     ServerAdmin admin@site.ru
     ServerName www.site.ru
          ServerAlias site.ru site
    DocumentRoot /home/site/public_html
          ErrorLog logs/site.ru-error_log
          CustomLog logs/site.ru-access_log common
    DirectoryIndex index.html index.php index.htm index.shtml 
</VirtualHost>

4. В файл /etc/hosts добавьте записи

127.0.0.1    www.site.ru
127.0.0.1    site.ru

5. Проверьте /etc/hosts.conf
Синтаксис не помню, но слово hosts должно стоять перед словом bind, но не наоборот
6. Перезагрузите Apache
7. Обратитесь по адресу http://www.site.ru или http://site.ru

   
 
 автор: buka   (15.08.2006 в 06:58)   письмо автору
 
   для: glsv (Дизайнер)   (15.08.2006 в 06:10)
 

Да и еще в /etc/host.conf поставить строчки

order hosts,bind

Эти записи означают что резолвер будет сначала искать имя в файле hosts а потом обратиться к DNS серверу

А вообще есть совет - зайти на httpd.apache.org и почитать там, очень интересно.

   
 
 автор: glsv (Дизайнер)   (15.08.2006 в 07:33)   письмо автору
 
   для: glsv (Дизайнер)   (15.08.2006 в 06:10)
 

И еще:
Проверьте, чтобы доступ в директорию /home/site/public_html и к файлам в нем был открыт на чтение "для всех". Т.е. нужно проверить доступ "для всех" для директорий /home, site, public_html. Для файлов внутри public_html должно быть разрешено чтение "для всех".

   
 
 автор: zaqwer   (15.08.2006 в 10:20)   письмо автору
 
   для: glsv (Дизайнер)   (15.08.2006 в 07:33)
 

прописал все как вы написали
по домену стало работать но открывает файлы не домашней директории /home/site/public_html
а дириктории localhost, то есть что обращаешся по домену что по localhost открывается файл директории /var/www/html

   
 
 автор: glsv   (15.08.2006 в 10:46)
 
   для: zaqwer   (15.08.2006 в 10:20)
 

Вот здесь я ошибся

<VirtualHost 127.0.0.0>

Должно быть так

<VirtualHost 127.0.0.1>

Как у Вас?

   
 
 автор: zaqwer   (15.08.2006 в 11:52)   письмо автору
 
   для: glsv   (15.08.2006 в 10:46)
 

прописал <VirtualHost 127.0.0.1> при заходе по http://site.ru/ выдает

Forbidden

You don't have permission to access / on this server.

Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.
Apache/2.0.54 (Fedora) Server at www.site.ru Port 80

права на папки пробовал ставить и 755 и 777 на файл 666 и 644 одно и тоже

   
 
 автор: zaqwer   (16.08.2006 в 11:37)   письмо автору
 
   для: zaqwer   (15.08.2006 в 11:52)
 

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

   
 
 автор: glsv   (16.08.2006 в 12:14)
 
   для: zaqwer   (16.08.2006 в 11:37)
 

В контейнере <directory /> поставьте

allow from all
order deny,allow

   
 
 автор: zaqwer   (16.08.2006 в 14:34)   письмо автору
 
   для: glsv   (16.08.2006 в 12:14)
 

не помагло, выдает тоже смое что нет прав

   
 
 автор: glsv   (16.08.2006 в 14:38)
 
   для: zaqwer   (16.08.2006 в 14:34)
 

А запрещающие директивы из подобных же контейнеров убрали?
Прикрепите еще раз httpd.conf уже с изменениями.

   
 
 автор: zaqwer   (17.08.2006 в 01:57)   письмо автору
 
   для: glsv   (16.08.2006 в 14:38)
 

прикрепляю

   
 
 автор: glsv (Дизайнер)   (17.08.2006 в 06:16)   письмо автору
 
   для: zaqwer   (17.08.2006 в 01:57)
 

1. Директиву NameVirtualHost 127.0.0.1:80 пропишите в том формате, что я указал выше. Параметры этой директивы и контейнера <VirtualHost> должны совпадать. Т.е. нужно писать.

NameVirtualHost 127.0.0.1


Смушает вот что:
Почему контейнеры <Directory> у Вас расположены в самом низу, после виртуальных хостов. Все они обычно лежат в середине файла после директивы DocumentRoot. Вы сами перенесли их вниз?

Местоположение директив в файле имеет некоторое значение. На всех директивах не экспериментировал, но, как правило, директивы, размещенные после виртуальных хостов, не работают. Перенесите их в середину файла.

   
 
 автор: zaqwer   (17.08.2006 в 11:36)   письмо автору
 
   для: glsv (Дизайнер)   (17.08.2006 в 06:16)
 

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

   
 
 автор: zaqwer   (17.08.2006 в 12:46)   письмо автору
 
   для: zaqwer   (17.08.2006 в 11:36)
 

попробовал, нечего не изменилось, так же пишет. :(

   
 
 автор: zaqwer   (17.08.2006 в 17:20)   письмо автору
 
   для: zaqwer   (17.08.2006 в 12:46)
 

может быть попробовать все заново поставить ?

   
 
 автор: mallex   (22.08.2006 в 00:03)   письмо автору
 
   для: zaqwer   (17.08.2006 в 17:20)
 

Оригинальный ( default )конфиг выложи
У меня Ubuntu стоит apache2.0.5 но там другой конфиг ( как в 2,2)
Если используешь только один хост изменить надо только путь DocumetRoot с /var/www на свой путь и соответствено пути для error.log access.log и Directory а virtualhost можешь не прописовать
А конфиг твой и вправду странный!!!!!!!!

   
 
 автор: zaqwer   (24.08.2006 в 13:34)   письмо автору
 
   для: mallex   (22.08.2006 в 00:03)
 

вот файл кототырый создается по дефолту

   
 
 автор: glsv (Дизайнер)   (25.08.2006 в 05:37)   письмо автору
 
   для: zaqwer   (24.08.2006 в 13:34)
 

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

   
 
 автор: zaqwer   (25.08.2006 в 11:44)   письмо автору
 
   для: glsv (Дизайнер)   (25.08.2006 в 05:37)
 

прописываю как написано выше, все равно пишет

You don't have permission to access / on this server.

   
 
 автор: zaqwer   (25.08.2006 в 20:26)   письмо автору
 
   для: zaqwer   (25.08.2006 в 11:44)
 

сейчас стало вообще что то непонятное.
если я прописываю
NameVirtualHost 127.0.0.1
<VirtualHost 127.0.0.1>
то выдает то что лежит в /var/www/html по запросу site.ru
по запросу localhost выскакивает табличка "В доступе отказано"

если прописываю
NameVirtualHost 127.0.0.0
<VirtualHost 127.0.0.0>

то localhost выдает то что лежит в /var/www/html
а по запросу site.ru выскакивает табличка "В доступе отказано"

а не может быть что связано с сервисом DNS , может там надо прописать зону для виртуальных хостов, в частности для site.ru ?

   
 
 автор: glsv (Дизайнер)   (26.08.2006 в 07:15)   письмо автору
 
   для: zaqwer   (25.08.2006 в 20:26)
 

Проблема с правами доступа может быть из-за 2 причин.
1. Мешает директива, по умолчании, deny from all
2. Для пользователя Apache нет прав на доступ к html-файлам.

Я предполагаю, что у Вас причина № 2.

PS: используйте 127.0.0.1

   
 
 автор: zaqwer   (26.08.2006 в 10:56)   письмо автору
 
   для: glsv (Дизайнер)   (26.08.2006 в 07:15)
 

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

   
 
 автор: glsv (Дизайнер)   (26.08.2006 в 15:50)   письмо автору
 
   для: zaqwer   (26.08.2006 в 10:56)
 

>в таком случае у него нет прав и на доступ к файлам рнр
Да.

> где можно посмотреть или прописать права пользователя ?
Права меняются как и во всех unix системах командой.

chmod

Но вам не только файлы проверить нужно. Нужно проверить права на все директории по пути к файлам.
Где у Вас лежат файлы? Например, в /home/user/htdocs/
Пользователь Apache должен иметь доступ
1. В директорию /home
2. В директорию /user
3. В директорию /htdocs
4. Иметь права на чтение файлов в директории htdocs/

   
 
 автор: zaqwer   (26.08.2006 в 23:03)   письмо автору
 
   для: glsv (Дизайнер)   (26.08.2006 в 15:50)
 

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

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования