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

Веб-сервер Apache, виртуальные хосты, субдомены и несколько веб-фреймворков

У меня есть веб-сайт www.mysite.com. Это основной сайт, и я буду использовать Веб-фреймворк Django для сайта

Я также хочу иметь другие поддомены, такие как:

Я хочу знать:

  1. Могу ли я это сделать (использовать Apache и субдомены для обслуживания различных приложений)
  2. Каковы шаги, необходимые для настройки поддоменов и сосуществования различных веб-фреймворков / приложений

Конечно, ты можешь это сделать.

Поддомены - это просто отдельные конфигурации VirtualHost. Имена не имеют значения. т.е. для Apache mail.domain.com и mail.anotherdomain.com так же отличаются, как mail.domain.com и mail2.domain.com.

например.:

<VirtualHost 192.168.1.1:80>
  ServerName mail.mysite.com
  DocumentRoot /home/mysite.com/sites/mail/public_html
  ...
</virtualHost>
<VirtualHost 192.168.1.1:80>
  ServerName admin.mysite.com
  DocumentRoot /home/mysite.com/sites/admin/public_html
  ...
</VirtualHost>
...

и т.д. Повторение VirtualHost разделы для каждого сайта. В DocumentRoot путь произвольный. Он мог жить в /var/www (что распространено в некоторых системах Linux) или где угодно. Если в системе есть только один домен, и вы хотите, чтобы поддомены казались более отдельными (и принадлежали разным пользователям для SuExec целей, что может быть целесообразно с точки зрения безопасности), вы можете создать отдельного пользователя для каждого домена и поместить их в их собственные домашние каталоги. Но домашние каталоги также произвольно, поэтому у вас может быть несколько пользователей с конфигурацией Apache, приведенной выше. Но вы можете захотеть сделать их /home/mail, /home/admin, /home/otherstuff, если им не нужен общий доступ к файлам.

Примечание: если в вашей системе есть SELinux или AppArmor, расположение DocumentRoots может быть исправлено вашей ОС или используемым вами пакетом Apache. Точно так же, если вы используете SuExec, путь часто компилируется в двоичный файл suexec (он настраивается в Debian и Ubuntu, когда вы используете пакет suexec-custom, он жестко запрограммирован в / var / www в CentOS, если вы не установите другой Apache построить или перестроить Apache самостоятельно). Таким образом, вам может быть проще использовать путь по умолчанию, если у вас нет причин выбирать другие. Однако мне нравится, когда пользователи живут в / home, поэтому я использую перестроенный пакет Apache с suexec, установленным в / home в моих системах CentOS.