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

Многоуровневые поддомены на сервере ubuntu

вот проблема, связанная с моей конфигурацией сервера dev (сервер Ubuntu с установленной LAMP)

У меня есть поддомен, который указывает на мой сервер примерно так: http://sudomain.domain.com.

Теперь мне нужно создать несколько поддоменов на моем сервере, чтобы каждый домен указывал на отдельную папку на сервере. / Var / www / proj1 должен быть загружен путем доступа http://proj1.subdomain.domain.com, http://proj2.subdomain.domain.com

Может ли кто-нибудь помочь мне решить эту проблему? Любая помощь будет оценена.

Вам понадобится директива Apache VirtualHost. Увидеть Документация Apache и немного Примеры.

В основном то, что вы хотите сделать в Ubuntu, - это убедиться, что порт, который вы хотите использовать (обычно: 80), включен в /etc/apache2/ports.conf следующим образом:

NameVirtualHost *:80
Listen 80

Затем вам нужно будет создать новый conf-файл в / etc / apache2 / sites-available. Я бы предложил назвать его proj1.conf или proj1.mydomain.conf.

Там вы можете настроить VirtualHost следующим образом:

<VirtualHost *:80>
  ServerName proj1.subdomain.domain.com
  DocumentRoot /var/www/proj1
  ServerAdmin name@domain.com

  # Write a seperate log per Virtualhost
  CustomLog /var/log/apache2/proj1.subdomain.access_log combined
  ErrorLog /var/log/apache2/proj1.subdomain.error_log

  # Maybe you want to put some restrictions on the directory
  <Directory /var/www/proj1>
    Options -Indexes +FollowSymLinks + Includes
    AllowOverride All
    # Restrict Access to certain IP's
    Order Deny,Allow
    Deny from All
    Allow from 127.0.0.1 IP IP IP
    Satisfy ALL
  </Directory>
</VirtualHost>

Обратитесь к руководству Apache, чтобы узнать, что вы можете сделать с Директивой.

Чтобы включить этот сайт, свяжите его с / etc / apache2 / sites-enabled

ln -s /etc/apache2/sites-available/proj1.conf /etc/apache2/sites-enabled/proj1

Теперь все, что вам нужно сделать, это убедиться, что ваша конфигурация действительна, а затем перезапустить Apache:

apache2ctl configtest && /etc/init.d/apache2 restart

Естественно, вам придется настроить поддомен в своем DNS таким образом, чтобы он указывал на этот сервер.