Apache 2.2 (Виртуальные хосты)

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

Модераторы: SLEDopit, Модераторы разделов

kosteel
Сообщения: 330
Статус: Root Lamer
ОС: Debian GNU/Linux 5.02 amd64

Apache 2.2

Сообщение kosteel »

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

нужно чтобы по запросу http://linuxserver открывался сайт расположенный в /srv/www/htdocs, а по запросу http://ocsserver открывался сайт расположенный в /srv/www/ocs/ocsreports.

Вот мой /etc/apache2/sites-available/default

Код: Выделить всё

#NameVirtualHost *
<VirtualHost *:80>
    ServerName ocsserver

    DocumentRoot /srv/www/ocs/ocsreports
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>

    <Directory /srv/www/ocs/ocsreports>
        Options Indexes
        AllowOverride None
        Order allow,deny
        allow from all
        DirectoryIndex index.php
    </Directory>

    ErrorLog /var/log/apache2/error_ocs.log
    LogLevel warn
    ServerSignature Off
</VirtualHost>

<VirtualHost *:80>
    ServerName linuxserver


    DocumentRoot /srv/www/htdocs

    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>

    <Directory /srv/www/htdocs>
        Options Indexes
        AllowOverride None
        Order allow,deny
        allow from all
        DirectoryIndex index.html
    </Directory>

    ScriptAlias /bugzilla/ "/srv/www/bugzilla/"
    <Directory "/srv/www/bugzilla">
        Options Indexes ExecCGI FollowSymLinks
        AllowOverride none
        Order allow,deny
        Allow from all
        DirectoryIndex index.cgi
    </Directory>

        <Directory /srv/www/htdocs/wiki>
                Options Indexes
                AllowOverride None
                Order allow,deny
                allow from all
                DirectoryIndex index.php
        </Directory>

    ErrorLog /var/log/apache2/error.log

    LogLevel warn

    CustomLog /var/log/apache2/access.log combined
    ServerSignature Off

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

    <Location /svn>
        DAV svn
    SVNListParentPath on
    SVNParentPath "/var/svn"
    AuthName "Subversion Repositories NIO-9"
    AuthType Basic
    AuthBasicProvider file
    AuthUserFile "/var/svn/usshadow"
    require valid-user
    </location>

    <Directory "/srv/www/htdocs/postfixadmin/">
    Options Indexes
    AllowOverride None
    Order allow,deny
    allow from all
    DirectoryIndex index.php
    </Directory>

</VirtualHost>


крутил так и эдак параметры NameVirtualHost и VirtualHost:
если подставляю везде *:80 то при запуске пишет warning о перекрытии одного хоста другим и в итоге по запросу http://linuxserver открывает сайт http://ocsserver, а на http://ocsserver говорит "DNS query for "osc" failed : host not found." хотя в файле hosts прописано

Код: Выделить всё

хх.хх.хх.хх   linuxserver ocsserver

А если в этих параметрах пишу IP:80 тоже при запуске кидает warning'и мол "*:80 has no virtual hosts".

Помогите, люди добрые.

PS: да еще кое что: linuxserver - это имя сервера, то есть в DNS сопоставлен с его IP (IP только локальный, связью и интернетом у сервера нет).
Ничто не вечно под рутом
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Apache 2.2

Сообщение sash-kan »

в debian конфигурация apache разбита на модули. совсем не напрасно.
заготовки:

Shell

$ cat /etc/apache2/sites-available/ocsserver <VirtualHost *:80> ServerName ocsserver DocumentRoot /srv/www/ocs/ocsreports </VirtualHost> $ cat /etc/apache2/sites-available/linuxserver <VirtualHost *:80> ServerName linuxserver DocumentRoot /srv/www/htdocs </VirtualHost> $ sudo a2ensite ocsserver linuxserver $ sudo /etc/init.d/apache2 reload
дальше уж сами дополняйте

kosteel писал(а):
27.10.2009 20:48
а на http://ocsserver говорит "DNS query for "osc" failed
именно "osc"?
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
kosteel
Сообщения: 330
Статус: Root Lamer
ОС: Debian GNU/Linux 5.02 amd64

Re: Apache 2.2

Сообщение kosteel »

sash-kan

(sash-kan) писал(а):
(kosteel) писал(а):а на http://ocsserver говорит "DNS query for "osc" failed

именно "osc"?

очепятка конечно.

Сделал все как вы сказали, создал конфиги /etc/apache2/sites-available/linuxserver и /etc/apache2/sites-available/ocsserver, выполнил

Код: Выделить всё

a2ensite ocsserver linuxserver

в директории sites-enabled создались соответствующие симлинки.
Релоад прошел без проблем, заодно сделал рестарт, тоже без ошибок, однако http://linuxserver открывает нужный сайт, а вот http://ocsserver выдает сообщение:
Error :

DNS query for "ocsserver" failed : host not found.

Error detected by WinRoute Pro-Proxy

Хотя, как я уже говорил, в файле hosts прописано соотвествие IP linuxserver ocsserver
Ничто не вечно под рутом
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Apache 2.2

Сообщение sash-kan »

это уже совсем иная история.
которую следует начать с ознакомления с азами dns.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
danger08
Сообщения: 715
ОС: Linux (CentOS, Ubuntu)

Re: Apache 2.2

Сообщение danger08 »

kosteel писал(а):
28.10.2009 10:40
выдает сообщение:
Error :

DNS query for "ocsserver" failed : host not found.

Error detected by WinRoute Pro-Proxy

Хотя, как я уже говорил, в файле hosts прописано соотвествие IP linuxserver ocsserver

У вас не на стороне сервера, а на стороне клиента проблема с DNS.
Блогосайт - http://www.fateyev.com
Спасибо сказали: