Назад | Перейти на главную страницу

Настройка поддомена в apache

Итак, у меня есть два веб-приложения на одном сервере. У меня есть основной, который обслуживается при использовании обычного домена, но я хочу, чтобы поддомен указывал на другое приложение.

Я настроил виртуальные хосты так, как я определил, они должны соответствовать тому, что я нашел при поиске в Google, но это все еще не работает. Поддомен обслуживает только основное приложение. Вот содержимое моего файла конфигурации.

<VirtualHost *:80>
        ServerName www.luketimoth.me
        DocumentRoot /var/www/luketimothy/public

       <Directory /var/www/luketimothy/public>
          <IfModule mod_rewrite.c>
          Options -MultiViews
          RewriteEngine On
          RewriteCond %{REQUEST_FILENAME} !-f
         RewriteRule ^ index.php [L]
         </IfModule>
       </Directory>
</VirtualHost>

<VirtualHost *:80>
        ServerName www.luketimoth.me
        DocumentRoot /var/www/shattered-plays/public
        ServerAlias shattered.luketimoth.me

        <Directory /var/www/shattered-plays/public>
          PassengerEnabled on
        </Directory>
</VirtualHost>

Насколько мне известно (с моими начальными / элементарными знаниями Apache), это должно делать то, что я от него ожидаю ... но это не так. Что я делаю не так?

Выход httpd -S

httpd: apr_sockaddr_info_get() failed for LMTServe
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
[Sat May 17 16:42:02 2014] [warn] _default_ VirtualHost overlap on port 80, the first has precedence
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80                   www.luketimoth.me (/etc/httpd/conf/httpd.conf:1017)
*:80                   www.luketimoth.me (/etc/httpd/conf/httpd.conf:1031)
Syntax OK

РЕДАКТИРОВАТЬ:

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

<VirtualHost *:80>
        ServerName www.luketimoth.me
        DocumentRoot /var/www/luketimothy/public

       <Directory /var/www/luketimothy/public>
          <IfModule mod_rewrite.c>
          Options -MultiViews
          RewriteEngine On
          RewriteCond %{REQUEST_FILENAME} !-f
         RewriteRule ^ index.php [L]
         </IfModule>
       </Directory>
</VirtualHost>

<VirtualHost *:80>
        ServerName shattered.luketimoth.me
        DocumentRoot /var/www/shattered-plays/public

        <Directory /var/www/shattered-plays/public>
          PassengerEnabled on
        </Directory>
</VirtualHost>

httpd: apr_sockaddr_info_get() failed for LMTServe
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
[Sun May 18 10:15:24 2014] [warn] _default_ VirtualHost overlap on port 80, the first has precedence
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80                   www.luketimoth.me (/etc/httpd/conf/httpd.conf:1017)
*:80                   shattered.luketimoth.me (/etc/httpd/conf/httpd.conf:1031)
Syntax OK

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