Как создать поддомен на debian

Обновлено: 05.07.2024

После нескольких часов попыток настроить поддомены на моем выделенном корневом сервере я прошу вас о помощи.

  • возможность создания поддоменов и доступа к ним
  • настройка собственного поддомена для репозиториев mercurial с помощью hgweb

Информация о сервере:

  • Debian Linux, Kernel 2.6.32-028stab094.3
  • Apache/2.2.16 (Debian)
  • Mercurial 1.6.4
  • libapache2-mod-wsgi-py3 установлен

Первый вопрос: что не так с моей конфигурацией apache, что я не могу получить доступ к своим поддоменам через браузер?

На самом деле я могу получить доступ к корневому домену и сайтам, которые там установлены.

Моя конфигурация: /etc/apache2/sites-available/default

/etc/apache2/sites-available/hgrepos.domainname.tld

Я включил файл поддомена через a2ensite subdomain.domainname.tld .

Я использовал оба, /etc/init.d/apache2 reload и /etc/init.d/apache2 restart . Apache не сказал мне, что я пытался загрузить искаженную конфигурацию.

Сайты для корневого домена находятся под /var/www/forum и доступны.

Моя структура папок для /var/www/hgrepos выглядит следующим образом:

Файл index.html просто содержит немного Hello World! html, чтобы увидеть, доступен ли поддомен.

Итак, теперь вернемся к моему первому вопросу: почему я не могу получить доступ к поддомену hgrepos через свой браузер?

Вот мои конфигурационные файлы под /var/www/hgrepos/cgi-bin/ :

hgweb.wsgi

hgweb.config

Итак, теперь мой второй вопрос: как я могу заставить hgweb работать? Что на самом деле не так с моей конфигурацией?

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

1 ответ

Привет, мне нужно настроить мой apache на автоматическое создание поддоменов. Моя идея заключается в том, что в папке сайта /www/ я установлю скрипт для создания папок как /www/folder1/ , /www/folder2/ , /www/folder3/ и я хочу, чтобы для каждой папки был автоматически создан поддомен как .

Первым шагом было удаление libapache-mod-wsgi-py3 и установка libapache-mod-wsgi (во время моих попыток я несколько раз переустанавливал wsgi-py3-package, похоже, что моя последняя переустановка каким-то образом это исправила. )

После этого перезапуск apache дал мне следующее в моем error.log:

После этого я настроил свой hgweb.wsgi-file следующим образом:

и теперь все работает на меня.

Еще раз большое спасибо кртеку, который действительно помог мне покончить с моей болью! Сделал мой день :D

Похожие вопросы:

Есть много вопросов о закладках, но ни один из них не отвечает на мой вопрос: Что я должен сделать, чтобы позволить создавать закладки при нажатии на мой сервер hgweb? Вот что я получаю, пытаясь.

Привет, мне нужно настроить мой apache на автоматическое создание поддоменов. Моя идея заключается в том, что в папке сайта /www/ я установлю скрипт для создания папок как /www/folder1/ .

Я проверил на сайте debian создание пакета. Но, это нелегко понять, так как это не дает пошаговых мудрых процессов. Пожалуйста, помогите мне, как создать пакет Debian. Если это возможно, детальные.

Apache запрашивает пароль для каждого поддомена с помощью htpasswd. Я хочу, чтобы он спрашивал пароль при первом вводе и запоминал меня для всех поддоменов Я использую следующий код: AuthType Basic.

Я искал, как создать сертификат SSL для моего поддомена файлового сервера на GoDaddy. К сожалению, это не та услуга, которую они предлагают как компания. Из того, что я прочитал, кажется, что лучший.

Включаем модуль vhost_alias. Он то и будет главным действующим лицом.

Включаем, если нужно, mod_rewrite.

  • %0 Полное имя
  • %1 Первая часть имени
  • %2 Вторая часть имени
  • %3 Третья часть имени
  • %-1 Последняя часть
  • %-2 Предпоследняя часть
  • %2+ Вторая и все последующие части
  • %-2+ Предпоследняя и все последующие части

Наш сервер уже работает. Убедиться в этом мы можем, создав папку с нужным именем, например test и поместив туда index.php с каким-нибудь содержимым, например "<?php phpinfo(); ?>".
Ах да, нужно ведь еще прописать наш домен в файлике /etc/hosts.

Все, теперь можно открывать в браузере страничку.
Стоп, мы так не договаривались! Создание сайта должно сводиться к созданию директории под него. Ну что ж, давайте сделаем…

Настройка DNS-сервера

Для этого мы будем использовать DNS-сервер bind9. Все домены с суффиксом *.loc будут смотреть на нашу локальную машину.
Устанавливаем DNS-сервер

Открываем конфигурационный файл named.conf.options и добавляем

Создаем файлы для доменной зоны.

Содержание db.loc

Наконец, открываем файл named.conf.local и дописываем туда

Остальсь подключиться к нашему DNS-серверу. Либо через файл /etc/resolv.conf, дописав строчку

либо через стандартный менеджер сетевых соединений. В свойствах подключения, на вкладке «Параметры IPv4» дописать адрес 127.0.0.1 в поле «Серверы DNS».


Для удобства создадим локальный хост для phpmyadmin

Теперь он доступен по адресу phpmyadmin.loc.

Некоторые замечания

  • Неправильные данные дает переменная $_SERVER['DOCUMENT_ROOT'], поэтому приходится использовать либо dirname(__FILE__), либо realpath(). Смотря что нужно.
  • Если перестал работать mod_rewrite, не паникуем. В файле .htaccess после строчки

Favorite

Добавить в избранное

Главное меню » Операционная система Linux » Как разместить несколько веб-сайтов на одном VPS

(1 оценок, среднее: 5,00 из 5)

Как разместить несколько веб-сайтов на одном VPS

Виртуальные хосты Apache

Для того, чтобы настроить виртуальные хосты в Apache для размещения нескольких доменов/поддоменов, войдите в свой сервер через SSH и установите Apache:

Ubuntu или Debian:

CentOS или Fedora:

Создание резервную копию конфигураций Apache, а затем установите директивы виртуального хоста для ваших сайтов:

Ubuntu или Debian:

CentOS или Fedora:

Ubuntu или Debian:

Перезапустите Apache для того, чтобы изменения вступили в силу:

Перезапустите Apache для того, чтобы изменения вступили в силу:

Создайте каталоги /var/www/html/domain1 и /var/www/html/domain2, и загрузите свои веб-сайты в них.

Все файлы сайта должны быть доступны для чтения веб-сервером, поэтому установить правильную собственность:

Ubuntu или Debian:

CentOS или Fedora:

Серверный блок Nginx

Для того чтобы настроить серверные блоки в Nginx для размещения нескольких доменов/поддоменов с помощью одного IP-адреса, войдите на свой сервер через SSH и установите Nginx:

Ubuntu или Debian:

CentOS или Fedora:

Создайте резервную копию конфигурации Nginx, а затем создайте блок сервера для первого веб-сайта:

Ubuntu или Debian:

Создайте новую конфигурацию Nginx для первого домена:

Добавьте следующие строки:

CentOS или Fedora:

Выполните следующие команды:

Создайте новый файл конфигурации Nginx для первого веб-сайта:

Перезапустите Nginx для того, чтобы изменения вступили в силу:

Загрузить каждый веб-сайт в корневой каталог, указанный в блоке Nginx сервера, например:

Установите соответствующую владельца файлов веб-сайта, так что они могут быть доступны с помощью веб-сервера Nginx (например, www-data):

Все. Повторите ту же процедуру для каждого дополнительного веб-сайта.

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Читайте также: