Как настроить ftp-сервер с vsftpd в debian 9

Управление маршрутизацией с помощью iproute2

Из статьи Основные понятия сетей мы знаем, что если текущему узлу необходимо куда-либо отправить IP пакет, то сетевая подсистема ядра использует таблицу маршрутизации. Если пакет отправляется в ту же подсеть, которой принадлежит хост, то с помощью ARP определяется физический адрес хоста назначения и пакет отправляется напрямую хосту назначения. Если адрес назначения принадлежит не «локальной сети», то пакет отправляется на шлюз (читай — направляется по маршруту), который указан в таблице маршрутизации для сети, которой принадлежит хост назначения. При этом, выбирается та сеть, в которой адрес сети наиболее заполнен (читай — меньше хостов в подсети). Если для хоста назначения не найден маршрут, то пакет отправляется на «шлюз по умолчанию». Все шлюзы должны находиться в той же подсети, что и исходный хост.

Допустим, в локальной сети есть некоторый хост с адресом 192.168.1.100/24, а так же есть хост 192.168.1.1, который является шлюзом в глобальную сеть, а так же есть хост с адресом 192.168.1.2, который является связующим маршрутизатором с сетью 192.168.24.0/24 (то есть имеет еще один интерфейс  в сеть 192.168.24.0/24 и на нем включен форвардинг). Для того, чтобы хост с адресом 192.168.1.100/24 имел доступ в сеть Интернет и к локальной сети 192.168.24.0/24, необходимо внести в таблицу маршрутизации соответствующие записи, например с помощью команды ip route add:

# ip route add default via 192.168.1.1
# ip route add 192.168.24.0/24 via 192.168.1.2
# ip route show
192.168.1.0/24 dev eth1  proto kernel  scope link  src 192.168.1.100
192.168.24.0/24 via 192.168.1.2 dev eth1
default via 192.168.1.1 dev eth

Первая команда добавляет маршрут по умолчанию (default) через узел 192.168.1.1 (параметр via ). Вторая команда устанавливает маршрут на сеть 192.168.24.0/24 через узел 192.168.1.2.

Для вывода на экран содержимого таблицы маршрутизации используется команда ip route show. В данном случае в таблице маршрутизации три записи: первая о том, что сеть 192.168.1.0/24 доступна непосредственно на интерфейсе eth1 (запись добавляется автоматически), и две записи, добавленные пользователем: альтернативный маршрут и маршрут по умолчанию.

Добавление постоянного статического маршрута при инициализации сети

О настройке сети через конфигурационные файлы я рассказывал в статье  Настройка сети в Linux, диагностика и мониторинг, в сегодняшней статье я немного дополню эту информацию. С помощью файла /etc/network/interfaces есть возможность задать постоянные маршрута при поднятии интерфейса и удаление маршрута при выключении интерфейса. Это делается с помощью параметра up и down соответственно. Нижеприведенная конфигурация позволяет задать маршрут до сети 192.168.100.0/24 через шлюз 192.168.1.1:

iface eth1 inet static
      address 192.168.1.100
      netmask 255.255.255.0
      up ip route add 192.168.100.0/24 via 192.168.1.1
      down ip route del 192.168.100.0/24
      gateway 192.168.1.3

Выводы

На этом, данную заметку заканчиваю. Подведу краткие итоги. Для управления физическими интерфейсами применяется команда ip link из пакета iproute. Для настройки свойств физического подключения (скорость, технология, тип дуплекса используется команда ethtool. Для того, чтобы хост мог взаимодействовать с другими узлами подсети в рамках локального сегмента (широковещательного домена) на нем должен быть установлен IP-адрес и определена маска подсети. Для управления IP-адресами в Linux можно использовать команду ip addr. В локальной сети данный узел для определения физических адресов(MAC) по IP — адресам других узлов использует протокол ARP и локальный ARP -кэш (таблица). Управление ARP -таблицей осуществляется командой ip neigh. Для взаимодействия с удаленными подсетями на данном узле необходимо определить шлюз по умолчанию или/и альтернативные шлюзы. Все шлюзы должны находиться в той же подсети, что и исходный узел. Управление таблицей маршрутизации на узле может осуществляться командой ip route. У параметров команд пакета iproute2 есть сокращенный синтаксис, например, ip link show eth0 можно записать как ip l sh eth0.

Что почитать

man ip
man interfaces

Sources List Generator (генератор списка репозиториев)

В интернете есть сервисы, которые автоматически формируют sources.list на основе ваших потребностей. Вы можете использовать как свой генератор, так и воспользоваться готовым.

Пример такого генератора, который вы можете установить себе и настроить для использования — debgen. Исходники раньше были на github, но потом пропали. А вот его готовая реализация с наполнением — https://debgen.simplylinux.ch/.

Я не знаю, кто ведет подобные List Generator и можно ли им доверять. Всегда проверяйте список репозиториев, который будет сгенерирован для вас. По сути, это обычный текстовый файл, который вы скопируете себе.

К примеру, я указал в List Generator, что мне надо подготовить список репозиториев со следующими параметрами:

  1. Репозиторий Stable
  2. Ветка main (просто отключил ветки contrib и non-free)
  3. Mirror — Russia
  4. Включить репозитории Security и Updates
  5. Добавить repo для софта — Docker, MariaDB, Nginx, NodeJS, Php, Webmin

В итоге получил вот такой sources.list

#------------------------------------------------------------------------------#
#                   OFFICIAL DEBIAN REPOS                    
#------------------------------------------------------------------------------#

###### Debian Main Repos
deb http://ftp.ru.debian.org/debian/ stable main

deb http://ftp.ru.debian.org/debian/ stable-updates main

deb http://security.debian.org/ stable/updates main

#------------------------------------------------------------------------------#
#                      UNOFFICIAL  REPOS                       
#------------------------------------------------------------------------------#

###### 3rd Party Binary Repos
###Docker CE
deb  https://download.docker.com/linux/debian buster stable

###MariaDB
deb  http://mirror.23media.de/mariadb/repo/10.2/debian stretch main
deb-src  http://mirror.23media.de/mariadb/repo/10.2/debian stretch main

###nginx
deb  http://nginx.org/packages/debian/ buster nginx
deb-src  http://nginx.org/packages/debian/ stretch nginx

###NodeJs
deb https://deb.nodesource.com/node_12.x buster main
deb-src https://deb.nodesource.com/node_12.x buster main

###PHP
deb https://packages.sury.org/php/ buster main

###Webmin
deb http://download.webmin.com/download/repository sarge contrib

К нему еще список gpg ключей для импорта. В принципе, к списку у меня претензий нет. Все по делу. Нужно только проверить php и mariadb repository. Мне предложенные не знакомы.

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

Знакомство с менеджером пакетов apt и принципом установки приложений

Что такое .deb пакеты в Debian?

Это файлы, подобные MSI файлам в Windows. То есть это набор файлов и мета-данных для установки того или иного определённого приложения. Там хранится скомпилированный бинарник уже сразу под вашу операционную систему. Например, если установлена 64 битная Debian версия 9.3, то значит в этом в пакете будет именно этот бинарный файл для установленной системы.

Вся установка deb пакетов означает скопировать бинарник в одну папку, config в другую папку, ну и попросить какие-то зависимости, без которых эта программа не запустится.

В Debian по умолчанию установлена системная программа dpkg, которая при установке системы ставит приложения. Существует принципиальное отличие dpkg и apt.

Утилита dpkg просто устанавливает бинарники, и предупреждает о зависимостях, которые нужны для этой программы, при этом она эти зависимости устанавливать не будет.

Утилита apt автоматически всё продумывает, необходимые зависимости она установит.

apt-get – это менеджер пакетов, который устанавливает deb пакеты и автоматически устанавливает все нужные зависимости. То есть если нужен, к примеру, PHP с поддержкой xml или ещё с чем-то, то apt-get автоматически устанавливает целый комплект нужных программ (это своего рода как AppStore для для iOS).

Установка утилит mc

Попробуем установить полезную утилиту mc, она часто используется для работы сервера. Она представляет собой популярный 2х-панельный файловый менеджер Midnight Commander.

Установка mc на сервер:

Настройка и обновление времени в Debian

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

Узнать дату, время, часовой пояс можно командой date:

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

Теперь выберем правильный часовой пояс с помощью команды:

Выбирая соответствующие пункты визарда, указываете свой часовой пояс.

Дальше синхронизируем время с сервером времени в интернете. Для разовой или ручной синхронизации понадобится отдельная утилита. Установим ntpdate на сервер:

И синхронизируем время:

Если получаете ошибку:

Значит у вас уже работает служба ntp. Ее нужно остановить и обновить время вручную. Хотя если она работает, то у вас и так должно быть все в порядке.

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

После установки он сам запустится и будет автоматически синхронизировать часы сервера. Проверим, запустился ли сервис ntpd:

Разметка жесткого диска

Тема разметки диска раньше была достаточно спорной и вызывала много дискуссий и споров. Делали отдельно разделы под корень /, домашнюю директорию /home, под логи /var/logs и т.д. Мне кажется, что сейчас все это стало неактуально. Сервера общего назначения переехали в виртуальные среды, а там можно и дополнительный диск выделить под образовавшиеся нужды, либо увеличить текущий. Нет необходимости заранее продумывать на много шагов вперед, можно без проблем потом добавить дисковое пространство.

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

Далее нужно выбрать жесткий диск, на который будет установлена система. Если у вас он только один, как у меня, то выбирать не из чего. Дальше выбираем схему разбивки диска. Как я уже сказал ранее, все будет храниться в одном корневом разделе, так что выбираем All files in one partition.

Затем вас спросят, записать ли изменения — соглашайтесь. Далее надо указать размер группы томов LVM. По-умолчанию указан весь размер диска, можно с этим согласиться. Далее увидите окончательный вариант разбивки диска.

В принципе, можно с ним согласиться. Но лично мне не нравится swap на отдельном lvm томе. Я люблю хранить swap в файле прямо на файловой системе

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

Со swap в отдельном разделе не получится гибко работать, как с обычным файлом. Я на серверах ставлю минимальный размер свопа в 1 Гб, увеличиваю по мере необходимости. Когда своп это обычный файл, с этим нет проблем.

Так что изменения не записываем, выбираем No. Вы попадаете в раздел управления разметкой диска. Необходимо удалить LV раздел под swap, затем удалить LV раздел root и создать его заново максимального размера. Потом на нем же еще раз создать корневую систему в точке монтирования /. Должно получиться вот так.

В принципе, раздел /boot тоже можно было бы разместить в корне, но в целом можно оставить и так. Я сталкивался с неожиданными проблемами, когда /boot раздел был на lvm. Так что не буду вам рекомендовать его куда-то переносить.

Когда будете соглашаться с новой разметкой, получите предупреждение, что забыли про swap

Не обращайте на него внимание. Дальше пойдет непосредственно установка Debian 10 в виде копирования системных файлов на диск

На следующем этапе установки системы, вам будет задан вопрос по поводу дополнительного диска с пакетами. Вам будет предложено проверить другой диск для установки дополнительных пакетов. Отказываемся и идем дальше. Теперь нужно выбрать зеркало, с которым будет работать пакетный менеджер apt. Выбираем свою страну и подходящее зеркало. Я выбираю Russian Federation и зеркало mirror.corbina.net. Раньше всегда выбирал зеркало Яндекса, но в Debian 10 его почему-то нет для выбора.

Далее нас просят указать прокси. Скорее всего вы им не пользуетесь, поэтому строку можно оставить пустой. Если это не так, то укажите адрес proxy сервера. На следующем этапе установки debian 10 вопрос о том, хотим ли мы делиться анонимной статистической информацией об использовании различного ПО на сервере. Я обычно не делюсь.

Дальше выбираем набор дополнительного ПО, которое будет установлено на сервер debian 10 вместе с основной системой. Я никогда не ставлю ничего, кроме ssh сервера и системных утилит.

Все остальное можно установить потом. На последнем этапе установки нас спрашивают про загрузчик grub — установить ли нам его. В подавляющем большинстве случаев это нужно сделать. Если вы не знаете, нужно или нет, значит 100% нужно. Без загрузчика можно обойтись в очень специфических ситуациях, которые мы рассматривать не будем в этой инструкции по установке debian. Так что устанавливаем  grub на единственных жесткий диск.

Перезагружаем сервер. Установка завершена, он полностью готов к работе. Не забывайте, что по-умолчанию, на сервер нужно подключаться под учетной записью обычного пользователя, не root. После установки системы, предлагаю выполнить предварительную настройку сервера.

Установка утилит mc, htop, iftop

Следующим шагом я настраиваю некоторые полезные утилиты, которыми регулярно пользуюсь в повседневной работе. Первая из них это всем известный двухпанельный файловый менеджер Midnight Commander. Установим mc на наш сервер:

# apt install mc

И сразу же для него включаю подсветку синтаксиса всех файлов, которые не обозначены явно в файле /usr/share/mc/syntax/Syntax синтаксисом для sh и bash скриптов. Этот универсальный синтаксис нормально подходит для конфигурационных файлов, с которыми чаще всего приходится работать на сервере. Перезаписываем файл unknown.syntax. Именно этот шаблон будет применяться к .conf и .cf файлам, так как к ним явно не привязано никакого синтаксиса.

# cp /usr/share/mc/syntax/sh.syntax /usr/share/mc/syntax/unknown.syntax

Я сразу же ставлю редактором по-умолчанию mcedit. Для этого просто выбираю его из меню при первом редактировании какого-нибудь файла. Если у вас такое меню не появляется, можете вызвать его сами и выбрать необходимый редактор по-умолчанию:

# select-editor

Select an editor. To change later, run 'select-editor'.
 1. /bin/nano <---- easiest
 2. /usr/bin/mcedit
 3. /usr/bin/vim.tiny

Choose 1-3 : 2

Так же я рекомендую очень удобный диспетчер задач — htop. Мне он помог, к примеру, решить проблему Взлома сервера CentOS. Ставим его на сервер:

# apt install htop

Полезной утилитой, позволяющей смотреть сетевую загрузку в режиме реального времени, является iftop. Очень рекомендую. Более простого и удобного инструмента мне не попадалось, хотя я много перепробовал подобных вещей. Устанавливаем iftop на сервер:

# apt install iftop

Установка 1С:Предприятие 8.3 на Debian 10

Начнем нашу настройку с установки сервера 1С. Для этого нам надо установить дополнительные пакеты в систему, которые находятся в разделах системного репозитория contrib и non-free. Их нужно добавить в конфиг репозиториев Debian. Для этого редактируем файл /etc/apt/sources.list и приводим его примерно к следующему виду:

deb http://mirror.yandex.ru/debian buster main contrib non-free
deb-src http://mirror.yandex.ru/debian buster main contrib non-free

deb http://mirror.yandex.ru/debian buster-updates main contrib non-free
deb-src http://mirror.yandex.ru/debian buster-updates main contrib non-free

deb http://security.debian.org/ buster/updates main contrib non-free
deb-src http://security.debian.org/ buster/updates main contrib non-free

Сами адреса репозиториев у вас могут быть другие. Выполняем обновление списка пакетов:

# apt update

Теперь устанавливаем нужные для работы 1С в linux пакеты. Начнем со шрифтов mscorefonts.

# apt install ttf-mscorefonts-installer

Установка будет идти достаточно долго, так как скачивается целая куча дополнительных пакетов и файлов.

Добавляем еще несколько необходимых пакетов:

# apt install imagemagick unixodbc sudo curl

Следующий важный этап подготовки к установке сервера 1С — настройка локали. Для этого выполняем команду в терминале:

# dpkg-reconfigure locales

Нам нужно выбрать ru_RU.UTF-8 UTF-8. Так же убедитесь на всякий случай, что en_US.UTF-8 тоже выбрана. В дефолте так и должно быть, но я сталкивался с ситуациями, когда эту локаль тоже приходилось добавлять.

По умолчанию выбираем ее же — ru_RU. После того, как вы разлогинитесь из системы и зайдёте снова, у вас в консоли будет русский язык. Немного непривычно с ним работать, но придется потерпеть это неудобство.

Теперь нам необходимо скачать deb пакеты сервера с портала 1С. Для этого логинимся под действующей учетной записью на https://releases.1c.ru и скачиваем файл Cервер 1С:Предприятия (64-bit) для DEB-based Linux-систем.

Имя файла будет deb64_8_3_19_1150.tar.gz. Его нужно передать на Debian сервер. Я обычно winscp для этого использую. Распаковываем архив в отдельную директорию.

# mkdir 1c-server
# mv deb64_8_3_19_1150.tar.gz 1c-server/
# cd 1c-server/
# tar xzvf deb64_8_3_19_1150.tar.gz 
# rm deb64_8_3_19_1150.tar.gz

Вы получите список распакованных пакетов для сервера 1С.

# ls -lh
итого 470M
-rwxrwxrwx 1 1001 1001 29M июн 2 03:27 1c-enterprise-8.3.19.1150-common_8.3.19-1150_amd64.deb
-rwxrwxrwx 1 1001 1001 8,9M июн 2 03:27 1c-enterprise-8.3.19.1150-common-nls_8.3.19-1150_amd64.deb
-rwxrwxrwx 1 1001 1001 31K июн 2 03:27 1c-enterprise-8.3.19.1150-crs_8.3.19-1150_amd64.deb
-rwxrwxrwx 1 1001 1001 323M июн 2 03:27 1c-enterprise-8.3.19.1150-server_8.3.19-1150_amd64.deb
-rwxrwxrwx 1 1001 1001 110M июн 2 03:27 1c-enterprise-8.3.19.1150-server-nls_8.3.19-1150_amd64.deb
-rwxrwxrwx 1 1001 1001 311K июн 2 03:27 1c-enterprise-8.3.19.1150-ws_8.3.19-1150_amd64.deb
-rwxrwxrwx 1 1001 1001 22K июн 2 03:27 1c-enterprise-8.3.19.1150-ws-nls_8.3.19-1150_amd64.deb
drwxr-xr-x 3 root root 4,0K июн 7 23:01 license-tools

Если вы в 1С используете только русский или английский язык, то пакеты с добавлением в имени nls вам не нужны. А все остальное устанавливаем.

# dpkg -i 1c-enterprise-8.3.19.1150-common_8.3.19-1150_amd64.deb 1c-enterprise-8.3.19.1150-server_8.3.19-1150_amd64.deb 1c-enterprise-8.3.19.1150-ws_8.3.19-1150_amd64.deb

Не забудьте изменить версию платформы в имени файла на свою.

Запускаем Сервер 1С на Debian:

# systemctl start srv1cv83

Если получили ошибку: «Failed to enable unit: Unit file srv1cv83.service does not exist.», значит при установке пакета не был добавлен init скрипт для запуска сервера. Сделаем это вручную, создав символьную ссылку:

# ln -s /opt/1cv8/x86_64/8.3.19.1150/srv1cv83 /etc/init.d/srv1cv83
# systemctl daemon-reload

После этого запускаем сервер 1С еще раз той же командой выше. Ошибки теперь быть не должно.

Проверим, все ли службы запустились:

# netstat -tulnp | grep "rphost\|ragent\|rmngr"

Всё на месте. Если у вас включен Firewall на сервере, не забудьте открыть указанные порты. Данная настройка не относится к тематики статьи, так что я ее опускаю.

На этом установка самого Сервера 1С закончена. Переходим к установке и настройке базы PostgreSQL для него.

Зеркало официального репозитория yandex mirror

В рунете популярен репозиторий Яндекса под названием Yandex.Mirror — https://mirror.yandex.ru. Это зеркало популярных дистрибутивов Linux, Freebsd и других проектов, в том числе и Debian. Работает по протоколам HTTP, FTP и rsync.

Зеркало Яндекс можно использовать как для обновления пакетов, так и загрузки iso образов. Образы последней стабильной версии Debian можно скачать отсюда — https://mirror.yandex.ru/debian-cd/current/amd64/. Для использования Yandex.Mirror в регулярных обновлениях Debian, приведите sources.list к следующему виду.

deb http://mirror.yandex.ru/debian buster main
deb-src http://mirror.yandex.ru/debian buster main

deb http://mirror.yandex.ru/debian buster-updates main
deb-src http://mirror.yandex.ru/debian buster-updates main

deb https://mirror.yandex.ru/debian-security buster/updates main
deb-src https://mirror.yandex.ru/debian-security buster/updates main

Repository yandex mirror можно так же использовать для сетевой установки систем.

Шаг третий – суперпользователь

Теперь мы имеем новую учетную запись пользователя с регулярными привилегиями учетной записи. Тем не менее, мы можем иногда выполнять административные задачи.

Чтобы избежать необходимости выйти из нашего обычного пользователя и снова войти в систему в качестве корневой учетной записи, мы можем установить пользователя, известного как “супер – пользователь” или корневые привилегии для нашей обычной учетной записи. Это позволит нашему обычному пользователю выполнять команды с правами администратора, поставив слово перед каждой командой.

Установка Sudo

Debian 8 не поставляется с установленным , так что давайте установить его с помощью apt-get.

Во-первых, обновим индекс пакетов:

apt-get update

Затем используйте эту команду, чтобы установить sudo:

apt-get install sudo

Теперь вы можете использовать команды и .

О SUDO привилегиях

Чтобы добавить эти привилегии к нашему новому пользователю, нам нужно добавить нового пользователя в группу «sudo». По умолчанию в Debian 8, пользователи, принадлежащие к группе “sudo” разрешено использовать команду .

Как , запустите эту команду, чтобы добавить нового пользователя к группе sudo  (замените выделенное слово новым пользователем):

usermod -a -G sudo demo

Теперь ваш пользователь может запускать команды с пользовательскими привилегиями!

Шаг 5 — Настройка виртуальных хостов (рекомендуется)

При использовании веб-сервера Apache вы можете использовать виртуальные хосты (аналогичные серверным блокам в Nginx) для инкапсуляции данных конфигурации и размещения на одном сервере нескольких доменов. Мы создадим домен example.com, но вы должны заменить это имя собственным доменным именем. Чтобы узнать больше о настройке доменного имени с помощью DigitalOcean, пройдите наш обучающий модуль Введение в DigitalOcean DNS.

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

Затем назначьте владение каталогом с помощью переменной среды :

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

Затем создайте в качестве примера страницу , используя или свой любимый редактор:

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

/var/www/example.com/html/index.html

Сохраните файл и закройте его после завершения.

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

Введите следующий блок конфигурации, который похож на заданный по умолчанию, но обновлен с учетом нового каталога и доменного имени:

/etc/apache2/sites-available/example.com.conf

Обратите внимание, что мы изменили на новый каталог, а — на адрес электронной почты, доступный администратору сайта example.com. Также мы добавили две директивы: директиву , которая устанавливает базовый домен и должна соответствовать определению виртуального хоста, и директиву , которая задает дополнительные имена, которые должны давать совпадение, как если бы они были базовыми именами

Сохраните файл и закройте его после завершения.

Активируем файл с помощью инструмента :

Отключите сайт по умолчанию, определеный в :

Затем проверим ошибки конфигурации:

Вы должны увидеть следующий результат:

Перезапустие Apache для внесения изменений:

Теперь Apache должен обслуживать ваше доменное имя. Вы можете проверить это, открыв в браузере адрес , после чего должны увидеть примерно следующее:

Заключение

В дополнение к данной статье будет полезна ссылка на публикацию баз 1С без графического окружения. В примере используется операционная система Centos, но для нашего случая с Debian всё будет аналогично практически один в один. Только веб сервер называется по-разному — там httpd, а здесь apache2.

Вообще, посмотрев на всё настроенное выше, может возникнуть вопрос, зачем вообще все это делать у себя? Нужно железо, администратор с хорошей квалификацией, который сможет всё это настроить и поддерживать. Проще купить готовый сервис и платить абонентскую плату. А всё остальное возьмет на себя сервис. На практике не всегда это получается удобнее и дешевле. С бэкапами и их проверкой всё равно придётся решать вопрос самостоятельно, потому что полностью доверить его людям со стороны может быть опасно.

Онлайн курс Infrastructure as a code

Если у вас есть желание научиться автоматизировать свою работу, избавить себя и команду от рутины, рекомендую пройти онлайн курс Infrastructure as a code. в OTUS. Обучение длится 4 месяца.

Что даст вам этот курс:

  • Познакомитесь с Terraform.
  • Изучите систему управления конфигурацией Ansible.
  • Познакомитесь с другими системами управления конфигурацией — Chef, Puppet, SaltStack.
  • Узнаете, чем отличается изменяемая инфраструктура от неизменяемой, а также научитесь выбирать и управлять ей.
  • В заключительном модуле изучите инструменты CI/CD: это GitLab и Jenkins

Смотрите подробнее программу по .

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Техноарена
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: