Перейти к содержимому

Как сделать домен третьего уровня

  • автор:

Как создать домен третьего уровня (поддомен)

В этом видео пошагово рассмотрели, как подключить поддомен для сайта:

00:00 Что такое домен третьего уровня/поддомен/субдомен?
00:27 Как выглядит домен третьего уровня
00:56 Что нужно для подключения сайта на домене третьего уровня
01:24 Как подключить свой домен на Tilda
02:28 На что нужно обратить внимание перед подключением поддомена
02:43 Как подключить поддомен, если вы приобретали DNS-хостинг отдельно?
03:02 Как внести записи на DNS-хостинг?
04:50 Как подключить поддомен, если у вас включена опция DNS-премиум?

Добавление имен доменов третьего уровня

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

Создание поставщика имен доменов третьего уровня

Чтобы сделать доступными имена доменов третьего уровня, можно создать и установить сборку кода, которая предоставляет мастеру имена доменов. Для этого необходимо выполнить следующие задачи.

  • Добавление реализации интерфейса IDomainSignupProvider в сборку
  • Добавление реализации интерфейса IDomainMaintenanceProvider в сборку
  • Подписыв сборку с помощью подписи Authenticode
  • Установка сборки на эталонном компьютере
  • Перезапустите службу управления доменными именами Windows Server

Добавление в сборку реализации интерфейса IDomainSignupProvider

Интерфейс IDomainSignupProvider используется для обеспечения доступности доменов для мастера.

Добавление в сборку кода интерфейса IDomainSignupProvider
  1. Откройте Visual Studio 2008 с правами администратора, щелкнув эту программу правой кнопкой мыши в меню Пуск и выбрав команду Запуск от имени администратора.
  2. В меню Файл выберите пункт Создать, а затем щелкните Проект.
  3. В диалоговом окне Новый проект последовательно щелкните Visual C#и Библиотека классов, введите имя решения и нажмите кнопку ОК.
  4. Присвойте файлу Class1.cs другое имя, например MyDomainNameProvider.cs.
  5. Добавьте ссылки на файлы Wssg.Web.DomainManagerObjectModel.dll, CertManaged.dll, WssgCertMgmt.dll и WssgCommon.dll.
  6. Добавьте следующие директивы using.
 using System.Collections.ObjectModel; using System.Net; using System.Net.Sockets; using Microsoft.WindowsServerSolutions.Certificates; using Microsoft.WindowsServerSolutions.CertificateManagement; using Microsoft.WindowsServerSolutions.Common; using Microsoft.Win32; 
namespace Microsoft.WindowsServerSolutions.RemoteAccess.Domains < public class MyDomainNameProvider : IDomainSignupProvider < >> 

Примечание. Метод Initialize определяет идентификатор поставщика доменов, который должен быть уникальным. В качестве уникального идентификатора, как правило, используют GUID. Дополнительные сведения о создании GUID см. в разделе Создание Guid (guidgen.exe).

В примере кода показан метод Initialize.

 static readonly Guid MyID = new Guid("8C999DF5-696A-47af-822D-94F1673D3397"); public Guid ID < get < return MyID; >> public string Name < get < return "My Provider"; >> List offerings = new List(); public void Initialize(DomainProviderSettings config) < var offer1 = new Offering() < Description = "My Domain Provider", Name = "Offering 1", ProviderID = ID, MoreInfoUrl = new Uri("http://www.contoso.com"), MembershipServiceName = "My Membership", EulaUrl = new Uri("http://www.contoso.com"), >; this.offerings.Add(offer1); RegistryKey key = Registry.LocalMachine.CreateSubKey(@"Software\Microsoft\Windows Server\Domain Manager\Settings"); key.Close(); > 
 public ReadOnlyCollection GetOfferings()
 public Offering FindOfferingForDomain(string domain) < // Return the offering that has the domain name. return offerings[0]; >
 private string currentUser < get; set; >private string currentPassword < get; set; >public bool SetCredentials(DomainNameRequest request, DomainProviderCredentials credentials, bool validate) < currentUser = credentials.UserName; currentPassword = credentials.Password; if (validate) < return ValidateCredentials(); >return true; > 
 public static readonly string offerUser = "user1@contoso.com"; public static readonly string offerPassword = "password1"; public bool ValidateCredentials() < if (IsUser()) return string.Equals(currentPassword, offerPassword); else return false; >private bool IsUser()
 public ReadOnlyCollection GetAvailableDomainRoots(DomainNameRequest request) < Listlist = new List(); list.Add("domain1.com"); list.Add("domain1.org"); return list.AsReadOnly(); > 
 public static readonly string AvailableDomain1 = "available.domain1.com", AvailableDomain2 = "available.domain2.com"; public static readonly string OccupiedDomain1 = "occupied.domain1.com", OccupiedDomain2 = "occupied.domain2.com"; public ReadOnlyCollection GetUserDomainNames(DomainNameRequest request) < var userDomains = new List(); userDomains.Add(OccupiedDomain1); userDomains.Add(AvailableDomain1); return userDomains.AsReadOnly(); > 
 public int GetUserDomainQuota(DomainNameRequest request)
 public bool CheckDomainAvailability(DomainNameRequest request, out ReadOnlyCollection suggestions)
 public DomainStatus CommitDomain(DomainNameRequest request) < ReadOnlyCollectionsuggestions; if (!CheckDomainAvailability(request, out suggestions)) < throw new DomainException(FailureReason.InvalidDomainName, null, null); >return DomainStatus.Ready; > 
 public bool ReleaseDomain(DomainNameRequest request)
 public Url GetProviderLandingUrl(DomainNameRequest request)
 public IDomainMaintenanceProvider GetDomainMaintenanceProvider()

Добавление в сборку реализации интерфейса IDomainMaintenanceProvider

Интерфейс IDomainMaintenanceProvider используется для обслуживания домена после его создания.

Добавление в сборку кода интерфейса IDomainMaintenanceProvider
  1. Добавьте заголовок класса для поставщика обслуживания домена. Убедитесь, что имя, определенное для поставщика, совпадает с именем, ранее определенном в методе GetDomainMaintenanceProvider.
 public class MyDomainMaintenanceProvider : IDomainMaintenanceProvider
 string DomainName < get; set; >protected DomainProviderSettings Settings < get; set; >public void Activate(DomainProviderSettings settings, DomainNameConfiguration config, DomainProviderCredentials credentials)
 public void Deactivate() < //Deactivate all actions >
 protected DomainProviderCredentials Credentials < get; set; >public bool SetCredentials(DomainProviderCredentials credentials)
 public static readonly string offerUser = "user1@contoso.com"; public static readonly string offerPassword = "password1"; public bool ValidateCredentials()
 public IPAddress GetPublicIPAddress() < string PublicIP = "0.0.0.0"; using (RegistryKey key = ProductInfo.RegKey.OpenSubKey("Domain Manager\\Settings", true)) < PublicIP = (key == null) ? "0.0.0.0" : key.GetValue("PublicIP", "0.0.0.0").ToString(); >IPAddress ip = IPAddress.Parse(PublicIP); if (PublicIP == "0.0.0.0") < string strHostName = Dns.GetHostName(); IPHostEntry ipEntry = Dns.GetHostEntry(strHostName); IPAddress[] addr = ipEntry.AddressList; foreach (IPAddress add in addr) < if (add.AddressFamily == AddressFamily.InterNetwork) < return add; >> > else < return IPAddress.Parse(PublicIP); >return null; > 
 string cert=null; public void SubmitCertificateRequest(string certificateRequest)
 public string GetCertificateResponse(bool renew)
 public void SubmitRenewCertificateRequest() < // Add certificate renewal code >
 public bool UpdateDnsRecords(IList records) < string UpdateDNS = "true"; using (RegistryKey key = ProductInfo.RegKey.OpenSubKey("Domain Manager\\Settings", true)) < UpdateDNS = (key == null) ? "true" : key.GetValue("UpdateDNS", "true").ToString(); >return UpdateDNS == "true"; > 
 public bool TestConnection() < // Add code to test connection return true; >
 public DomainState GetDomainState() < string domainstatus = "FullyOperational"; long expirationDate = 365; using (RegistryKey key = ProductInfo.RegKey.OpenSubKey("Domain Manager\\Settings", true)) < domainstatus = (key == null) ? "Ready" : key.GetValue("DomainStatus", "Ready").ToString(); expirationDate = Int64.Parse(key.GetValue("ExpirationDate", "365").ToString()); >switch (domainstatus) < case "Failed": return new DomainState(DomainStatus.Failed, null, DateTime.Now.AddDays(expirationDate)); case "Ready": return new DomainState(DomainStatus.Ready, null, DateTime.Now.AddDays(expirationDate)); case "InRenewal": return new DomainState(DomainStatus.InRenewal, null, DateTime.Now.AddDays(expirationDate)); case "InRenewalCustomerInterventionRequired": return new DomainState(DomainStatus.InRenewalCustomerInterventionRequired, null, DateTime.Now.AddDays(expirationDate)); case "Pending": return new DomainState(DomainStatus.Pending, null, DateTime.Now.AddDays(expirationDate)); case "PendingCustomerInterventionRequired": return new DomainState(DomainStatus.PendingCustomerInterventionRequired, null, DateTime.Now.AddDays(expirationDate)); case "RenewalFailed": return new DomainState(DomainStatus.RenewalFailed, null, DateTime.Now.AddDays(expirationDate)); default: return new DomainState(DomainStatus.Unknown, null, DateTime.Now.AddDays(expirationDate)); >> 
 public CertificateState GetCertificateState(bool renew)

Поставьте на сборке подпись Authenticode

Чтобы сборку можно было использовать в операционной системе, на ней должна быть подпись Authenticode. Дополнительные сведения о подписи сборки см. в разделе Подпись и проверка кода с помощью Authenticode.

Установка сборки на компьютере-образце

Поместите сборку в папку на компьютере-образце. Запишите путь к этой папке, поскольку его необходимо добавить в реестр на следующем шаге.

Добавление раздела реестра

Запись добавляется в реестр для определения расположения сборки и ее характеристик.

Добавление раздела в реестр
  1. На компьютере-образце нажмите кнопку Пуск, введите команду regeditи нажмите клавишу ВВОД.
  2. В левой области последовательно разверните узлы HKEY_LOCAL_MACHINE, SOFTWARE, Microsoft, Windows Server, Domain Managersи Providers.
  3. Щелкните правой кнопкой мыши раздел Providers, выберите команду Создатьи щелкните пункт Раздел.
  4. В качестве имени раздела введите идентификатор поставщика. Идентификатор — это GUID, определенный для поставщика на шаге 8 процедуры Add an implementation of the IDomainSignupProvider interface to the assembly.
  5. Щелкните правой кнопкой мыши созданный раздел и выберите пункт Строковый параметр.
  6. Введите Assembly в качестве имени строки и нажмите клавишу Ввод.
  7. Щелкните правой кнопкой мыши строку Assembly в правой области и выберите команду Изменить.
  8. Введите полный путь к ранее созданному файлу сборки и нажмите кнопку ОК.
  9. Снова щелкните раздел правой кнопкой мыши и выберите пункт Строковый параметр.
  10. В качестве имени строки введите Enabled и нажмите клавишу ВВОД.
  11. Щелкните правой кнопкой мыши строку Enabled в правой области и выберите команду Изменить.
  12. Введите True, а затем нажмите кнопку OK.
  13. Снова щелкните раздел правой кнопкой мыши и выберите пункт Строковый параметр.
  14. В качестве имени строки введите Type и нажмите клавишу ВВОД.
  15. Щелкните правой кнопкой мыши строку Type в правой панели и выберите команду Изменить.
  16. Введите полное имя класса поставщика, определенного в сборке, и нажмите кнопку ОК.

Перезапуск службы управления доменными именами Windows Server

Чтобы поставщик стал доступным для операционной системы, необходимо перезапустить службу управления доменными именами Windows Server.

Перезапустить службу
  1. Нажмите кнопку Пуск, введите mmc, а затем нажмите клавишу Ввод.
  2. Если консоль не отображается в оснастке «Службы», добавьте ее в список, выполнив следующие действия.
    1. В меню Файлвыберите команду Добавить или удалить оснастку.
    2. В списке Доступные оснастки выберите пункт Службыи нажмите кнопку Добавить.
    3. Убедитесь, что в диалоговом окне Службы выбран локальный компьютер , и нажмите кнопку Готово.
    4. Нажмите кнопку ОК , чтобы закрыть диалоговое окно Добавить или удалить оснастку .

    Как сделать домен третьего уровня

    Поделиться статьей:

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

    Для создания поддомена, необходимо зайти в панель управления ISPmanager. Зайти в неё вы можете через биллинг или по ссылке, которую вы получили при регистрации на свою почту. Рассмотрим вариант авторизации через биллинг.

    1. Заходим в раздел «Виртуального хостинг» и нажимаем «Перейти»

    1. Мы попадаем в панель управления ISP, нам нужно перейти в «WWW-домены» и нажать «Создать«

    1. Указываем имя поддомена. Он должен состоять из имени вашего основного домена, через точку, пример: поддомен.мойдомен.ру, где основной домен мойдомен.ру, а домен третьего уровня — поддомен, заполняем только имя, остальные поля будут автоматически заполнены и нажимаем «Ok»

    1. Вы только что создали поддомен третьего уровня на хостинге )

    Пожалуйста, оцените эту статью:

    Поддомены

    Поддомен (субдомен) — домен, являющийся частью домена более высокого уровня. Например, reg.ru — это домен, его поддомены:

    Подробнее об этом читайте в статье: Что такое домен?

    Сколько поддоменов можно создать на хостинге Рег.ру?

    Количество возможных поддоменов, в том числе и на бесплатном хостинге для сайтов html, на каждом тарифном плане никак не ограничено.

    Но если на вашем хостинге установлена панель управления веб-хостингом ispmanager и вы добавляете поддомен как самостоятельный в разделе «Сайты», он будет считаться отдельным сайтом, и как следствие учитываться в ограничениях по вашему тарифному плану. Чтобы этого избежать, добавляйте поддомен через функцию «Автоподдомены».

    Создание поддомена происходит в два этапа: добавление поддомена в панели управления хостингом и добавление записи о поддомене на DNS-серверы.

    1 этап. Добавление поддомена в панели управления хостингом

    Чтобы добавить поддомен, войдите в панель управления и следуйте нужной инструкции:

    ispmanager

    Как самостоятельный домен. В этом случае поддомен не зависит от основного домена и добавляется в панели как отдельный домен (количество возможных доменов в панели зависит от вашего тарифного плана). Добавить поддомен как самостоятельный домен можно по инструкции.

    Как автоподдомен. Функция «Автоподдомен» позволяет автоматически создавать поддомены для основного домена. Функцию «Автоподдомен» удобно использовать, если нужно добавить много поддоменов или по тарифу уже добавлено максимальное количество доменов. Автоподдомены можно добавлять в неограниченном количестве. Обратите внимание: мы рекомендуем использовать этот вариант в качестве запасного, так как некоторые CMS (например, 1С-Битрикс) некорректно работают с автоподдоменами.

    Обратите внимание: если вид вашей панели управления отличается от представленного в статье, в разделе «Основная информация» переключите тему с paper_lantern на jupiter.

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

    В разделе «Домены» выберите пункт Домены:

    поддомен 1

    Нажмите на кнопку Создать Новый Домен:

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

    Укажите имя поддомена и корневую папку для файлов сайта. Нажмите кнопку Отправить:

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

    В разделе «Сайты и домены» кликните Добавить субдомен: Обратите внимание! Если внешний вид вашей панели управления отличается от представленного в инструкции, перейдите в раздел «Сайты и домены» и в правом верхнем углу измените вид на «Активный».

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

    Укажите имя поддомена и выберите домен, для которого создаётся поддомен. Укажите корневую папку для файлов поддомена. Нажмите ОК:

    Как создать «Автоподдомен»

    Обратите внимание! Если ранее для основного домена были добавлены поддомены как отдельные WWW-домены, при создании автоподдоменов возникнет ошибка. Чтобы избежать ошибки удалите созданные поддомены в разделе «Сайты». Если вы не хотите удалять поддомены, создавайте поддомены как самостоятельные WWW-домены.

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

    Создать автоподдомен можно:

    • в отдельной директории — у каждого поддомена будет свой каталог в директории WWW;
    • в поддиректории основного домена – все поддомены будут созданы в подкаталогах основного домена и будут иметь путь вида www/faq-reg.ru/support/. Где support — это название поддомена.

    Основное отличие этих двух способов в том, что если поддомен создан в поддиректории основного домена, основной домен будет иметь прямой доступ к файлам поддомена. Мы рекомендуем создавать автоподдомены в отдельной директории. Это более удобно и позволяет избежать путаницы в директории основного домена. Ниже будет описан способ создания автоподдомена в отдельной директории.

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

    Перейдите в раздел Cайты, выделите домен, для которого будут добавляться автоподдомены, и нажмите Изменить:

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

    В блоке «Дополнительные возможности» в строке «Автоподдомены» выберите пункт в отдельной директории и нажмите :

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

    Перейдите в раздел Менеджер файлов, в папку WWW, и нажмите кнопку Создать:

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

    Выберите тип Каталог, введите название поддомена полностью (support.faq-reg.ru) и нажмите Ok:

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

    Нажмите ещё раз Создать, выберите тип Ссылка, в поле «Имя» введите название вашего поддомена с www (www.support.faq-reg.ru), в поле «Значение» — просто название поддомена (support.faq-reg.ru). Нажмите Ok: Это нужно для того, чтобы ваш поддомен был доступен по www. На этом создание автоподдомена закончено, вы можете приступать к размещению сайта на созданном поддомене. Для добавления дополнительных поддоменов повторите шаги с третьего по пятый.

    2 этап. Добавление записи о поддомене на DNS-серверы

    После создания поддомена необходимо добавить запись о поддомене на DNS-серверы вашего домена. Этот процесс зависит от того, какие DNS-указаны для вашего домена: Как узнать, какие DNS указаны для вашего домена.

    ns1.hosting.reg.ru и ns2.hosting.reg.ru

    Если для домена указаны ns1.hosting.reg.ru и ns2.hosting.reg.ru, запись о поддомене будет добавлена автоматически. От вас не требуется никаких дополнительных действий. Подождите 15 минут. Затем вы можете приступить к размещению сайта на хостинге.

    ns1.reg.ru и ns2.reg.ru

    Если для домена указаны ns1.reg.ru ns2.reg.ru:

    Авторизуйтесь в личном кабинете Рег.ру.

    создать автоподдомен 3

    Кликните по имени нужного домена:

    создать автоподдомен 4

    Во вкладке «Управление» кликните по пункту «DNS-серверы и зона» или нажмите кнопку Изменить:

    создать автоподдомен 5

    На открывшейся странице нажмите Добавить запись, во всплывающей шторке выберите А. Заполните поля и нажмите Готово:

    • support — имя вашего поддомена,
    • 123.123.123.123 — IP-адрес вашей услуги, которую можно узнать по инструкции Пароли для доступа к хостингу, серверу, FTP и MySQL.

    Готово, после добавления необходимой записи нужно дождаться обновления зоны DNS-серверов (в течение 15 минут). Если вы предварительно меняли DNS-серверы на ns1.reg.ru и ns2.reg.ru, дождитесь обновления DNS-серверов. Обновление DNS-серверов может занять до 24 часов.

    другие DNS-серверы

    Если для вашего домена используются отличные от ns1.hosting.reg.ru и ns2.hosting.reg.ru, ns1.reg.ru и ns2.reg.ru, обратитесь к своему DNS-провайдеру с вопросом изменения A-записи для домена.

    Как удалить поддомен

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

    ispmanager

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

    Если поддомен добавлен как отдельный www-домен, перейдите в раздел «Сайты», выделите поддомен и нажмите Удалить:

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

    Если вы настраивали поддомен через автоподдомены, перейдите в раздел «Сайты», два раза кликните на основном домене и в выпадающем списке «Автоподдомены» выберите Отключено. Нажмите Ок:

    удалить поддомен cpanel 1

    В блоке «Домены» выберите Субдомены:

    удалить поддомен cpanel 2

    Напротив ненужного вам более поддомена нажмите Удалить:

    cpanel delete subdomain

    Подтвердите удаление поддомена, нажав Удалить субдомен:

    удалить поддомен plesk 1

    На вкладке «Сайты и домены» разверните настройки поддомена и нажмите Удалить: Обратите внимание! Если внешний вид вашей панели управления отличается от представленного в инструкции, перейдите в раздел «Сайты и домены» и в правом верхнем углу измените вид на «Активный».

    удалить поддомен plesk 2

    Подтвердите удаление поддомена:

Добавить комментарий

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