Как бесплатно опубликовать свой сайт с помощью github pages

2 minute read

img

Введение

В данной статье я хотел бы поделиться инструкцией, которая позволит бесплатно опубликовать ваш сайт (HTML страничку) на серверах GitHub ипользуя инструмент Pages.
Результатом будет публично доступная web-страница, размещенная на username.github.io, либо на своем (кастомном) домене 2-го или 3-го уровня.

Пример: hi.artydev.ru

Уровни доменов

Существует 3 уровня доменов:

  • 1 или верхний уровень, обозначается точкой (.):
    • .ru
    • .su
    • .com
  • 2 уровень обозначается адресом перед доменом верхнего уровня:
    • google.com
    • yandex.ru
    • reg.ru
  • 3 уровень:
    • mail.google.com
    • mail.yandex.ru
    • zen.yandex.ru

Репозиторий

Не буду вдаваться в технические детали, думаю все, кто интересуется данным вопросом в состоянии создать репозиторий на github и закоммитить туда несколько файлов.

Создадим новый репозиторий с именем USERNAME.github.io, в моем случае это meanother.github.io.
В нем должен находиться файл index.html, который по дефолту ожидают увидеть такие веб-сервера как NGINX.

img

После этих трех шагов ваш сайт будет опубликован по адресу meanother.github.io, вы можете проверить это перейдя на https://meanother.github.io, в результате чего вы будете перенаправлены на hi.artydev.ru .

Создание доменного имени

Существует ряд сервисов, предоставляющих услуги покупки доменных имен, я пользуюсь reg.ru, никакой разницы между ними особо нет, просто так исторически сложилось.

Имя в доменной зоне .ru можно купить за какие-то 200-250 рублей.

img

Далее необходимо добавить ресурсные записи к вашему домену, вот неплохой гайд (на сайте reg.ru) про добавление различных записей к вашу домену 2 или 3 уровня.

img

Необходимо добавить 4 записи для IPv4 и 4 для IPv6.

В имени ставим @, тип записи = А, в IP-адрес - вставляем значения из списка:

  • 185.199.108.153
  • 185.199.109.153
  • 185.199.110.153
  • 185.199.111.153

img

Аналогично для IPv6:

  • 2606:50c0:8000::153
  • 2606:50c0:8001::153
  • 2606:50c0:8002::153
  • 2606:50c0:8003::153

На обновление DNS серверов может уйти некоторое время (в моем случае адреса подтянулись в течении 15 минут), проверить можно с помощью команды dig.

Для IPv4:

$ dig hi.artydev.ru +noall +answer -t A

> ; <<>> DiG 9.10.6 <<>> hi.artydev.ru +noall > +answer -t A
> ;; global options: +cmd
> hi.artydev.ru.		110	IN	A	185.199.111.153
> hi.artydev.ru.		110	IN	A	185.199.108.153
> hi.artydev.ru.		110	IN	A	185.199.109.153
> hi.artydev.ru.		110	IN	A	185.199.110.153

Для IPv6:

$ dig hi.artydev.ru +noall +answer -t AAAA

> ; <<>> DiG 9.10.6 <<>> hi.artydev.ru +noall +answer -t AAAA
> ;; global options: +cmd
> hi.artydev.ru.		3600	IN	AAAA	2606:50c0:8000::153
> hi.artydev.ru.		3600	IN	AAAA	2606:50c0:8003::153
> hi.artydev.ru.		3600	IN	AAAA	2606:50c0:8002::153
> hi.artydev.ru.		3600	IN	AAAA	2606:50c0:8001::153

После проделанных шагов можно проставить галку на HTTPS.

img

Завершающим этапом будет верификация доменного имени на github, этап не обязательный, но я рекомендовал бы выполнить его, т.к. занимает это порядка 2 минут.
Подробная инструкция есть в docs.gihub.

Большое спасибо всем за внимание.