Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: abadon в Dec 07, 2009, 13:48



Титла: Apache + namebase vhost
Публикувано от: abadon в Dec 07, 2009, 13:48
Здравейте.

Имам следната конфигурация на апачето:
/etc/apache2/ports.conf
Цитат
/etc/apache2/ports.conf
NameVirtualHost *:80
Listen 80

<IfModule mod_ssl.c>
    Listen 443
</IfModule>

/etc/apache2/sites-enabled/000-default
Цитат
<VirtualHost *:80>                                     
        ServerAdmin webmaster@site1.com     
        ServerName site1.com               
        DocumentRoot /var/www/                         
        <Directory />                                 
                Options +ExecCGI Indexes               
                Options +FollowSymLinks               
                AllowOverride None                     
        </Directory>                                   
        <Directory /var/www/>                         
                Options +ExecCGI Indexes +FollowSymLinks MultiViews
                AddHandler fcgid-script .php                       
                FCGIWrapper /usr/lib/cgi-bin/php5 .php             
                AllowOverride All                                 
                Order allow,deny                                   
                allow from all                                     
        </Directory>                                               

        ErrorLog /var/log/apache2/site1.com/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/site1.com/access.log combined
        ServerSignature On

</VirtualHost>

/etc/apache2/sites-enabled/001-site2
Цитат
<VirtualHost *:80>                                     
        ServerAdmin webmaster@site2.com             
        ServerName sexkupon.com                         
        DocumentRoot /var/sites/site2.com/           
        <Directory />                                   
                Options +ExecCGI Indexes               
                Options +FollowSymLinks                 
                AllowOverride None                     
        </Directory>                                   
        <Directory /var/sites/site2.com/>           
                Options +ExecCGI Indexes +FollowSymLinks MultiViews
                AddHandler fcgid-script .php                       
                FCGIWrapper /usr/lib/cgi-bin/php5 .php             
                AllowOverride All                                 
                Order allow,deny                                   
                allow from all                                     
        </Directory>                                               

        ErrorLog /var/log/apache2/site2.com/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/site2.com/access.log combined
        ServerSignature On

</VirtualHost>

Проблема ми е следния когато някой напише в браузъра си httpwww.site1.com той отива на http://site1.com сайта му се зарежда и всичко си работи. Обаче когато някой въведе http://www.site2.com в браузъра му се отваря http;//site1.com. Ако не се слагат www отпред всичко работи. Това проблем в DNS-а ли е или в конфигурацията на апачето. Как мога да си реша проблема?

Ето какво ми връщат DNS-ите:
За site1.com
Цитат
host site1.com
site1.com    A       213.145.124.2

Цитат
host www.site1.com
www.site1.com        CNAME   site.com
site1.com    A       213.145.124.2

За site2.com

Цитат
host site2.com
site2.com            A       213.145.124.2

Цитат
host www.site2.com
www.site2.com        CNAME   site2.com
site2.com            A       213.145.124.2


Титла: Re: Apache + namebase vhost
Публикувано от: neter в Dec 07, 2009, 13:56
Нямаш зададен VirtualHost за www.site2.com, поради което web сървърът зарежда сайтът, който е по подразбиране, а в случая (понеже явно не си задал отделен VirtualHost за default) това се явява site1.com. Нужно е да сложиш такъв ред в настройките на VirtualHost-а за site2.com
Код:
<VirtualHost *:80>
   ...
   ServerAlias www.site2.com
   ...
</VirtualHost>
Би било хубаво да сложиш подобен ред и в настройките на VirtualHost-а за site1.com, но докато не зададеш друг default, така или иначе се зарежда този сайт ;)


Титла: Re: Apache + namebase vhost
Публикувано от: abadon в Dec 07, 2009, 14:04
Благодаря. Всичко вече работи!  [_]3


Титла: Re: Apache + namebase vhost
Публикувано от: angie_bg в Dec 07, 2009, 20:39
това
Цитат
  ServerName sexkupon.com         
не трябва ли да е site2.com?


Титла: Re: Apache + namebase vhost
Публикувано от: abadon в Dec 08, 2009, 09:12
Това е истинското име на site2.com, но нещо replace-а го е изпуснал.