Автор Тема: Apache2+vhosts в домашнюю директорию [решено]  (Прочитано 8857 раз)

Оффлайн Dik

  • Участник
  • *
  • Сообщений: 68
Как настроить?
В директории /var/www/vhosts работает все норм а в /home/xxx/www/site/… не хочет работать создает только логи в данную папку, но index не читает, конфиг тоже видеть (ServerAdmin и тд) показывает 403 ошибку (не может найти index, пробовал через site/index.html тоже самое)

Подскажите, как настроить
Апач с коробки
Alt 4.1 Dekstop
« Последнее редактирование: 10.08.2009 20:49:58 от Skull »

Оффлайн mad_max

  • Участник
  • *
  • Сообщений: 352
Re: Apache2+vhosts в домашнюю директорию
« Ответ #1 : 01.08.2009 13:33:45 »
Как настроить?
В директории /var/www/vhosts работает все норм а в /home/xxx/www/site/… не хочет работать создает только логи в данную папку, но index не читает, конфиг тоже видеть (ServerAdmin и тд) показывает 403 ошибку (не может найти index, пробовал через site/index.html тоже самое)

Подскажите, как настроить
Апач с коробки
Alt 4.1 Dekstop


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

Оффлайн Dik

  • Участник
  • *
  • Сообщений: 68
Re: Apache2+vhosts в домашнюю директорию
« Ответ #2 : 01.08.2009 14:02:40 »
Настройки стандартные
Вот работающий хост
<VirtualHost 127.0.1.4>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /var/www/vhosts/dummy-host.example.com
ServerName dummy-host.example.com
ServerAlias www.dummy-host.example.com
ErrorLog /var/log/httpd2/dummy-host.example.com-error_log
CustomLog /var/log/httpd2/dummy-host.example.com-access_log common
</VirtualHost>

И на home
<VirtualHost 127.0.1.3>
ServerAdmin adm@site.alt
DocumentRoot /home/dik/www/site.alt/htdocs
ServerName site.alt
ServerAlias www.site.alt
ErrorLog /var/log/httpd2/site.alt-error_log
CustomLog /var/log/httpd2/site.alt-access_log common
</VirtualHost>
А и localhost на папку на /var/www/html тоже работает

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

« Последнее редактирование: 01.08.2009 14:06:15 от Dik »

Оффлайн Dik

  • Участник
  • *
  • Сообщений: 68
Re: Apache2+vhosts в домашнюю директорию
« Ответ #3 : 01.08.2009 21:12:17 »
С этим все разобрался.
Подскажите, как сделать несколько сайтов на 1 IP через etc/hosts.
И можно ли как нить сделать, что бы Apache сам обновлял информацию без перезагрузки?

Оффлайн Salomatin

  • Модератор раздела
  • ****
  • Сообщений: 984
    • Пошаговые инструкции
Re: Apache2+vhosts в домашнюю директорию
« Ответ #4 : 02.08.2009 08:59:09 »
Подскажите, как сделать несколько сайтов на 1 IP через etc/hosts.

Может быть самое простое и разумное использовать штатную возможность показывать наружу каталог из домашней директории пользователей как это делают через знак "~"  тильда.

http://forum.altlinux.org/index.php/topic,964.msg18630.html#msg18630

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

Снаружи виден как: http://сервер/~pavel
Хочешь понять сам, объясни другому.
"Если уже все испробовал и ничего не помогает - почитай инструкцию"

Оффлайн Dik

  • Участник
  • *
  • Сообщений: 68
Re: Apache2+vhosts в домашнюю директорию
« Ответ #5 : 02.08.2009 23:48:35 »
Возможно конечно для рядовой работы но.
1. Я звнимаюся разработкой сайтов и как известно некоторые CMS подвязываются к домену
2. И как уже писал нужна доменная работа для разработки приложения.

Ну а т.к. компьютер не имеет сети и DNS (на данный момент) нужно настроить на 1 IP через hosts файл
Ну а за ссылку ну просто огромное СПС

Оффлайн SuperVisor

  • Участник
  • *
  • Сообщений: 778
  • разочарован в KDE
Re: Apache2+vhosts в домашнюю директорию
« Ответ #6 : 03.08.2009 05:50:06 »
На /var/www/vhosts/user ставите нужные права, а в домашнем каталоге делаете симлинк на этот каталог. Но это чисто лекарство от лени и "психологический прием" :) Никто ж не мешает пользователю зайти на /var/www/vhosts/user и работать там.

Оффлайн Salomatin

  • Модератор раздела
  • ****
  • Сообщений: 984
    • Пошаговые инструкции
Re: Apache2+vhosts в домашнюю директорию
« Ответ #7 : 03.08.2009 08:40:24 »
Можно решить и так:

Шаг № 1: Устанавливаем  apache
Проверяем, установлен ли на нашем сервере apache
$rpm -qa | grep apache — если получаем пустую строку, то не установлен. Выбираем что будем ставить
$apt-cache search apache   читаем
apache - Самый популярный веб-сервер Internet
apache2 - Самый популярный веб-сервер Internet
ставим, root-ом. Для даем команду
$su -l 
вводим пароль и переходим в  рута
#apt-get install apache
проверяем:
$ rpm -qa | grep apache
apache-common-1.3.41rusPL30.23-alt4
apache-1.3.41rusPL30.23-alt4   - у вас могут отличаться названия

Шаг № 2: Запускаем apache
#apachectl start

Заходим http://10.0.0.1  - видим стартовую страницу
создаем каталог /var/www/html/sasha в который помещаем наш index.html и по адресу:  http://10.0.0.1/sasha , видим веб — страницу.

Шаг № 3:

Пусть DNS указывает один и тот же IP -адрес для нескольких хостов: Пинг с любого компьютера в инете посылает на один и тот же хост. Проверяем:
ping vvvv.ru
PING vvvv.ru (81.81.81.81) 56(84) bytes of data.
64 bytes from 81.81.81.81: icmp_seq=1 ttl=64 time=0.213 ms

ping vova.vvvv.ru
PING vova.vvvv.ru (81.81.81.81) 56(84) bytes of data.
64 bytes from 81.81.81.81: icmp_seq=1 ttl=64 time=0.213 ms

ping pppp.ru
PING pppp.ru (81.81.81.81) 56(84) bytes of data.
64 bytes from 81.81.81.81: icmp_seq=1 ttl=64 time=0.213 ms

ping pavel.pppp.ru
PING pavel.pppp.ru (81.81.81.81) 56(84) bytes of data.
64 bytes from 81.81.81.81: icmp_seq=1 ttl=64 time=0.213 ms


ping stat.pppp.ru
PING stat.ppppp.ru (81.81.81.81) 56(84) bytes of data.
64 bytes from 81.81.81.81: icmp_seq=1 ttl=64 time=0.213 ms

как мы помним в локальной сети наш сервер имеет адрес 10.0.0.1
и при помощи BIND локальные машины  видят виртуальные хосты под этим адресом.


 в  /etc/httpd/conf/vhosts/Vhosts.conf дописываем:

#############NameVirtualHost *

#########Include conf/vhosts.d/*.conf


################# Named VirtualHosts

NameVirtualHost 10.0.0.1
NameVirtualHost 81.81.81.81
<VirtualHost 10.0.0.1 81.81.81.81>
ServerName vvvv.ru
DocumentRoot  /var/www/vhosts/vvvv
<Directory /var/www/vhosts/vvvv>
          </Directory>
ErrorLog        /var/log/httpd/www-error.log
</VirtualHost>
Include conf/vhosts.d/*.conf


NameVirtualHost 10.0.0.1
NameVirtualHost 81.81.81.81
<VirtualHost 10.0.0.1 81.81.81.81>
ServerName vova.vvvv.ru
DocumentRoot  /home/vova/papka
<Directory /home/vova/papka>
          </Directory>
ErrorLog        /var/log/httpd/www-error.log
</VirtualHost>
Include conf/vhosts.d/*.conf


NameVirtualHost 10.0.0.1
NameVirtualHost 81.81.81.81
<VirtualHost 10.0.0.1 81.81.81.81>
ServerName pppp.ru
DocumentRoot  /var/www/vhosts/pppp
<Directory /var/www/vhosts/pppp>
          </Directory>
ErrorLog        /var/log/httpd/www-error.log
</VirtualHost>
Include conf/vhosts.d/*.conf


NameVirtualHost 10.0.0.1
NameVirtualHost 81.81.81.81
<VirtualHost 10.0.0.1 81.81.81.81>
ServerName pavel.vvvv.ru
DocumentRoot  /home/pavel/papka
<Directory /home/pavel/papka>
          </Directory>
ErrorLog        /var/log/httpd/www-error.log
</VirtualHost>
Include conf/vhosts.d/*.conf


NameVirtualHost 10.0.0.1
NameVirtualHost 81.81.81.81
<VirtualHost 10.0.0.1 81.81.81.81>
ServerName stat.pppp.ru
DocumentRoot  /var/www/vhosts/stat
<Directory /var/www/vhosts/stat>
          </Directory>
ErrorLog        /var/log/httpd/www-error.log
</VirtualHost>
Include conf/vhosts.d/*.conf



Щаг № 4:
в etc/httpd/conf/httpd.conf комментируем: ###########DocumentRoot "/var/www/html"

перезапускаем: # service httpd restart

Шаг № 5:
создаем каталоги
/var/www/vhosts/vvvv
/var/www/vhosts/pppp
/var/www/vhosts/pppp
/home/vova/papka
/home/pavel/papka

в которых размещаем нужные нам сайты.

Шаг №6:
включаем пользователей в группу apache и даем право доступа. Переходим в директорию /home затем
# chown .apache pavel
# chmod g+rx pavel

#chown .apache vova
# chmod g+rx vova

Для apache2 не пробовал. Эта работает.
Если получится для второго apache напишите свою инструкцию.



« Последнее редактирование: 03.08.2009 09:00:09 от Salomatin »
Хочешь понять сам, объясни другому.
"Если уже все испробовал и ничего не помогает - почитай инструкцию"

Оффлайн Dik

  • Участник
  • *
  • Сообщений: 68
Re: Apache2+vhosts в домашнюю директорию
« Ответ #8 : 03.08.2009 12:54:44 »
Я чет подобное пробовал но только в hosts писал
127.0.0.1  localhost
127.0.0.1  vvv.ru
127.0.0.1  rrrr.ru

и в vhost.conf (или в отдельные файлы)

следующее
Listen 127.0.0.1:80
NameVirtualHost 127.0.0.1:80

<VirtualHost *:*>
ServerName localhost
DocumentRoot  /var/www/html
ErrorLog        ......
</VirtualHost>

<VirtualHost *:*>
ServerName vvv.ru
DocumentRoot  /home/user/www/vvv.ru/html
ErrorLog        ......
</VirtualHost>

<VirtualHost *:*>
ServerName rrrr.ru
DocumentRoot  /var/www/vhosts/rrrr.ru
ErrorLog        ......
</VirtualHost>


Глянул как настроен Денвер 2 там он обращается так как я написал но вот уже Денвер 3 работает с заменой портов и IP
Apache 2 и там и там

Но вот у меня он почему то кидает всегда на первый хост. Или в коробке апач такой?

Попробую по инструкции, но чет подобное с указаниями IP тожи уже пробывал(((

И еще для чего нужен Шаг №6 зачем пользователю нужна эта группа и права
И зачем каждый раз повторять
Include conf/vhosts.d/*.conf

И вопрос так между делом
Как через интерфейс в Dekstop 4.1 управлять группами и пользователями нашел только добавление и удаление
И как посмотреть через консоль к каким группам принадлежит пользователь?
« Последнее редактирование: 03.08.2009 13:16:54 от Dik »

Оффлайн Dik

  • Участник
  • *
  • Сообщений: 68
Re: Apache2+vhosts в домашнюю директорию
« Ответ #9 : 03.08.2009 13:06:34 »
На /var/www/vhosts/user ставите нужные права, а в домашнем каталоге делаете симлинк на этот каталог. Но это чисто лекарство от лени и "психологический прием" :) Никто ж не мешает пользователю зайти на /var/www/vhosts/user и работать там.
У пользователя уже сделал как положено. Не привык искать легких путей тем более через пользователя управлять легче как мне кажется

Оффлайн smaharbA

  • Участник
  • *
  • Сообщений: 121
  • Здесь лежит М.С. Паниковский, человек без паспорта
Re: Apache2+vhosts в домашнюю директорию
« Ответ #10 : 05.08.2009 21:24:25 »
Это чо было ?

давно вроде как существует mod_userdir
Я конечно далек от мысли...(с)

Оффлайн Dik

  • Участник
  • *
  • Сообщений: 68
Re: Apache2+vhosts в домашнюю директорию
« Ответ #11 : 05.08.2009 21:38:17 »
Salomatin, Спосибо помогло.
Подскажите как еще сделать что бы Апачь был не строг к регистру в адресе