2014-01-31 2 views
0

У меня есть персональный VPS, размещенный в * и установка ubuntu. Ubuntu запускает apache, php, mysql и в настоящее время используется для 5 веб-сайтов, отображаемых виртуальными хостами. Я пишу всю процедуру на случай, если кому-то это понадобится.Какова процедура добавления псевдонимов доменов в существующую установку linux apache?

Когда я хочу, чтобы добавить новый домен, я создаю 127.0.0.1 test.com *.test.com строку в /etc/hosts, добавить новый файл в /etc/apache2/sites-available и run a2ensite test.com - перезапустить Apache. Каждый сайт имеет свою собственную папку в /var/www и VirtualHost запись выглядит следующим образом:

<Virtualhost *:80> 

     # Admin email, Server Name (domain name) and any aliases 
     ServerAdmin [email protected] 
     ServerName www.test.com 
     ServerAlias test.com *.test.com 

     # Index file and Document Root (where the public files are located) 
     DirectoryIndex index.html index.php 
     DocumentRoot "/var/www/test.com" 
     <Directory /var/www/test.com> 
      Options FollowSymLinks 
      AllowOverride All 
      Order allow,deny 
      allow from all 
     </Directory> 
</Virtualhost> 

Я планирую добавить некоторые псевдонимы, как aaa.test.com, bbb.test.com, ccc.test.com и т.д., которые будут указывать вперед/назад к различным папкам. aaa.test.com будет указывать на /var/www/aaa/index.php и bbb.test.com на /var/www/bbb/index.php. Подводя итог, разные псевдонимы - один и тот же домен - разные папки в apache. Как мне это достичь?

ответ

1

Поскольку aaa.test.com и bbb.test.com должны указывать на разные каталоги, вам необходимо создать отдельные записи Virtualhost вручную. До этого вам нужно удалить _ *. Test.com_ с ServerAlias ​​ test.com Virtualhost запись. Затем создайте файл в /и т.д./apache2/сайтов-доступных, скажем aaa.test.com и добавьте следующее, а затем сохранить

<Virtualhost *:80> 

    ServerName aaa.test.com 
    DirectoryIndex index.html index.php 
    DocumentRoot "/var/www/aaa/" 

</Virtualhost> 

необходимо перезагрузить/перезагрузить службу Apache.

Сделайте то же самое для bbb.test.com .. То есть все, что вам необходимо сделать ... Все d лучше :)

+0

насчет сервера имен? добавить ли cname для aaa? – Radolino

+0

Имена серверов и записи cname связаны с DNS и не связаны с веб-сервером apache. Это зависит от того, где этот домен зарегистрирован и как он должен разрешаться. Также серверы имен всегда добавляются для основного домена, а не для поддомена. Позвольте мне узнать ваше точное требование с DNS, чтобы я мог помочь вам. :) –

+0

Я предполагаю, что для полной настройки нового домена вам придется создать запись A, указывающую на хост DNS. спасибо – Radolino

2

Существует только один DocumentRoot за VirtualHost контейнер. Так как вы указали разные DocumentRoot для каждого aaa.test.com, bbb.test.com и т.д., вам необходимо настроить отдельный VirtualHost для каждого:

<VirtualHost *:80> 
    ServerName aaa.test.com 
    DocumentRoot /var/www/aaa 
    DirectoryIndex index.php index.html 
    ... 
</VirtualHost> 

и так далее.

+0

То есть это ... Greb :) –

Смежные вопросы