Купить домен и хостинг можно у регистратора доменных имен, например у godaddy.com
После покупки необходимо будет настроить DNS параметры в панели управления на сайте где он зарегистрирован.
В первую очередь необходимо указать к какому IP-адресу он привязан. Для этого добавим A-запись, которая будет перенаправлять запросы к домену на указанный IP. Если вы не знаете какой IP указывать, то вероятно необходимо также заказать хостинг для сайта, после чего у вас будет IP-адрес хостинга.
Пример добавления A-записи:
Хост: @
Тип: A
Данные: IP-адрес
Также добавим A-запись для поддомена www (в дальнейшем настроим на веб сервере чтобы сайт открывался по нему тоже либо была переадресация на основной домен):
Хост: www
Тип: A
Данные: IP-адрес
Аналогичным способом можно добавить сколько угодно поддоменов и привязать их к любым IP-адресам.
TTL параметр определяет время, в течении которого запись будет хранится в кешэ других DNS серверов, при первой настройке можно указать 30 минут например, а когда все будет настроено можно увеличить, но стоит учитывать, что при переносе сайта на другой хостинг, придется изменить в A-записи IP адрес и ждать пока он обновится в кэше других DNS, маленькие значение тоже ставить не желательно, например если DNS сервер перестанет работать, такие случаи могут быть у любых крупных компаний, то данные останутся в кэше других DNS и сайт будет работать у пользователей которые недавно его открывали.
На этом основная настройка окончена. После изменения DNS записей придется подождать некоторое время чтобы изменения вступили в силу, обычно от нескольких минут, до одного дня, пока обновится кэш DNS серверов.
По необходимости можно добавить NS-записи, и запустить свой DNS сервер.
Смотрите далее мои статьи:
Как добавить MX запись
Как настроить SPF записи
Установка и настройка DNS-сервера BIND9