Как настроить локальный DNS используя файл /etc/hosts в Linux

Оглавление Базовые концепции Настройка среды Жизненный цикл Операция Create Операция Clone Perform изменения Review изменения Commit изменения Push операция Update…

Возможности GitLab

GitLab — это отличный инструмент для разработчиков, который предоставляет следующие возможности: — управление публичными и приватными git-репозиториями; — управление пользователями и группами, правами доступа к git-репозиториям; — отслеживание ошибок, деплой, анализ кода; — интеграция с разными CI-системами CI (Jenkins и т. п.), организация самостоятельного процесса CI посредством встроенных средств.

Есть и другие возможности (функционал api, wiki страниц, доски задач и идей, отслеживание изменений, комментарии к проектам и прочие). Подробнее можно узнать из официальной документации.

Что такое LAMP-стек?

LAMP — это акроним, который традиционно означает «Linux, Apache, MySQL и PHP», что является популярным набором программного обеспечения многих веб-приложений или веб-сайтов. Стек LAMP является достаточно мощным, и при этом он сравнительно прост и удобен в использовании.

В последние годы набирают популярность разные вариации LAMP-стека, например, вместо языка программирования PHP используют Python или Perl, а вместо СУБД MySQL используют PostgreSQL.

На виртуальных серверах ServerSpace операционная система семейства Linux, а именно Ubuntu , уже установлена, поэтому в инструкции будет описана установка остальных компонентов.

Установка сервера Nginx с сертификатом Let’s Encrypt

Мы будем использовать установку GitLab CE, которая работает за сервером Nginx, который будет выполнять обратное проксирование и осуществлять обработку SSL-трафика. Для настройки базового сервера воспользуйтесь руководством из списка ниже, подходящим для вашей операционной системы.

Установка сервера Nginx с сертификатом Let’s Encrypt

Настройка балансирующего прокси Nginx с сертификатом Let’s Encrypt в CentOS 7.

Настройка балансирующего прокси Nginx с сертификатом Let’s Encrypt в Debian 9 Stretch.

Установка сервера Nginx с сертификатом Let’s Encrypt

Настройка балансирующего прокси Nginx с сертификатом Let’s Encrypt в Ubuntu Bionic

Читайте также:  Как выбрать ноутбук: 12 советов

На данный момент у вас должен быть развернут сервер с Nginx и сертификатом Let’s Encrypt. Теперь установим GitLab CE.

Установка сервера Nginx с сертификатом Let’s Encrypt

Использование прокси для организации локального репозитория

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

  • на какой-либо клиентской машине в обычном порядке запрашивается какой-либо пакет для установки/обновления через компьютер-сервер;
  • запрошенный пакет скачивается сервером, сохраняется в специально отведённом хранилище-кеше и далее становится доступным всем остальным клиентам;
  • в качестве распространителя пакетов клиентам выступает веб-сервер Apache, поэтому его установка обязательна.

Итак, для начала необходимо установить всё необходимое, т. е. веб-сервер и саму утилиту кеширования пакетов:

$ sudo apt-get install apache2 apt-cacher

При установке apt-cacher будет показан диалог настройки, в котором можно настроить нужное поведение утилиты, например задать автозапуск и работу в режиме демона. Также эти и некоторые другие важные настройки можно сделать (например с помощью редактора nano) в конфигурационном файле /etc/default/apt-cacher. Для включения автозапуска apt-cacher нужно установить параметр AUTOSTART в значение «1»:

$ sudo nano /etc/default/apt-cacher . . . # Set to 1 to run apt-cacher as a standalone daemon, set to 0 if you are going # to run apt-cacher from /etc/inetd or in CGI mode (deprecated). Alternatively, # invoking «dpkg-reconfigure apt-cacher» should do the work for you. # AUTOSTART=1 . . .

Далее, необходимо определить, какие клиенты должны иметь доступ к кешу репозитория, отредактировав конфигурационный файл /etc/apt-cacher/:

$ sudo nano /etc/apt-cacher/ . . . ## Uncomment and set the IP range ## allowed_hosts = — #denied_hosts = . . .

Как можно видеть, просто указывается диапазон нужных IP-адресов. После сохранения сделанных настроек необходимо перезапустить веб-сервер Apache:

$ sudo service apache2 restart

Или:

$ sudo systemctl restart apache2

Теперь необходимо указать клиентам, куда им нужно обращаться для установки пакетов и обновлений. Для этого на клиентских машинах нужно создать файл /etc/apt/ с помощью того же редактора nano:

$ sudo nano /etc/apt/

И добавить в него строку со следующей инструкцией:

Acquire::http::Proxy «:3142»;

Здесь в качестве адреса сервера, на котором установлен и работает apt-cacher указывается Конечно, это может быть любой другой адрес, настроенный для этого сервера.

Теперь можно проверить работу локального репозитория (а точнее удалённого, но доступного через прокси), выполнив команду обновления данных о доступных пакетах:

$ sudo apt-get update

Формат файла /etc/hosts

Файл /etc/hosts в современных системах Linux присутствует скорее историческим причинам — ранее, до появления и распространения службы DNS, этот файл выполнял задачи по трансляции имён в IP адреса. В современных системах подразумевается, что функции этого файла может выполнять DNS сервер (например, локальный кэширующий DNS сервер, в котором присутствуют пользовательские записи и который, в случае если запрашиваемое имя не найдено, обращается к другому DNS серверу в Интернете). В принципе, аналогичный показанному результат действительно можно было достичь установив и настроив локальный DNS — в этом случае программы dig и другие правильно бы показывали IP адреса даже этих локальных хостов. Тем не менее как мы могли убедиться, использование файла /etc/hosts намного быстрее и удобнее для небольшого числа записей. По этой причине файл /etc/hosts по-прежнему часто применяется.

Файл /etc/hosts является простым текстовым файлом, в котором IP адреса связаны с именами хостов, каждая строка содержит по одному IP адресу. Для каждого хоста одна строка должна представлять следующую информацию:

IP_адрес каноническое_имя_хоста [псевдонимы…]

Поля записи разделяются любым количеством пробелов и/или символов табуляции. Текст с символа "#" до конца строки является комментарием и игнорируется. Имена хостов могут содержать только буквы английского алфавита, знак минус ("") и точку ("."). Они должны начинаться с буквы и заканчиваться на букву. Необязательные псевдонимы указываются для изменений имён, альтернативных написаний, укороченных имён хостов или родовых имён хостов (например, localhost).

Читайте также:  Как убрать из черного списка заблокированных пользователей

Жизненный цикл

В этой главе мы обсудим жизненный цикл Git. В следующих главах мы рассмотрим команды Git для каждой операции.

Общий рабочий процесс выглядит следующим образом –

Жизненный цикл
  • Вы клонируете репозиторий Git как рабочую копию.
  • Вы изменяете рабочую копию, добавляя / редактируя файлы.
  • При необходимости вы также обновляете рабочую копию, принимая изменения других разработчиков.
  • Вы просматриваете изменения перед фиксацией.
  • Вы фиксируете изменения. Если все в порядке, то вы отправляете изменения в репозиторий.
  • После фиксации, если вы понимаете, что что-то не так, вы исправляете последнюю фиксацию и отправляете изменения в репозиторий.

Ниже показано графическое изображение рабочего процесса.

Маленький обзор webmin

Все пункты меню описывать не буду, сами посмотрите и найдете для себя много интересного. Акцентирую внимание на самых основных пунктах.

В разделе “Webmin” – представлены инструменты для работы с самим модулем webmin. Настройка пользователей, доступов, резервного копирования и т.д.

В разделе “Система” – представлены инструменты для работы с основным функционалом сервера. В этом разделе можно найти журналы логов, проводить операции с пользователями и группами, обновлять ПО, управлять активными процессами, работать с расписанием заданий (Cron) и многое другое.

В разделе “Службы” представлены ссылки на инструменты работы с установленными службами, в моем случае Сервер DHCP, Сервер DNS BIND, Прокси-сервер Squid. Можно как конфигурировать имеющиеся файлы настроек, так и управлять новыми правилами и процессами служб.

В разделе “Прочее” представлены ссылки на разные инструменты, но мой взор приковал инструмент “Text Login”. Открыв его, у вас в окне браузера появиться командная строка вашего сервера. Очень удобно скажу я вам ;).

В разделе “Сеть” можно настроить сетевые интерфейсы, а также настроить firewall

В разделе “Оборудование” можно просмотреть подключенное к серверу оборудование, а также просмотреть разделы локальных дисков.

Раздел “Кластер” описывать не буду. С кластерами не работал.

Теперь и вы сможете настроить webmin в ubuntu server и пользоваться им из любой точки земного шара.

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

  • Vkontakte
  • OK
  • Facebook
  • Twitter
  • Печать
  • Telegram
  • WhatsApp
  • Ещё
  • Reddit
  • LinkedIn
  • Tumblr
  • Pinterest
  • Pocket
  • Skype

Похожее