Terraform — Установка

Установка Terraform довольно проста, так как он написан на Go, достаточно скачать архив с бинарным файлом.

Перейдем на страницу загрузки:

https://www.terraform.io/downloads.html

Скачиваем архив, извлекаем бинарный файл и перемещаем его в "/usr/bin/" (или прописываем его в PATH)

Проверим:

terraform --version

Если вы используете оболочку "bash" или "zsh", то можно добавить автодополнение для Terraform следующей командой:

terraform -install-autocomplete

OpenVPN — Выборочный траффик (mail.ru, yandex.ru, vk.com, ok.ru, kaspersky.ru)

Цель:

Пустить через VPN только сети, которые попадают под запрет, остальные должны идти "напрямую". Так же важно удобство подключения устройств, кроссплатформенность, скорость и безопасность.

Все шаги были выполнены на CentOS 7.

Установим репозиторий EPEL, если его еще нет в системе и установим нужные пакеты:

yum install epel-release -y
yum install openvpn easy-rsa -y

Создаем файл конфигурации:

vim /etc/openvpn/server.conf

Читать далее "OpenVPN — Выборочный траффик (mail.ru, yandex.ru, vk.com, ok.ru, kaspersky.ru)"

OpenVPN — Весь траффик через VPN

Цель:

Пустить весь траффик с любого из устройств через VPN. Максимальное удобство подключение новых устройств, без создания учетных записей, создание паролей и т.д. Быстрое и шифрованное подключение.

Все шаги были выполнены на CentOS 7.

Установим репозиторий EPEL, если его еще нет в системе и установим нужные пакеты:

yum install epel-release -y
yum install openvpn easy-rsa -y

Создаем файл конфигурации:

vim /etc/openvpn/server.conf

Читать далее "OpenVPN — Весь траффик через VPN"

OpenVPN — Site-to-Site

Цель:

Связать 2 удаленных ноды в между собой, чтобы общение между ними для них было "прозрачно". Так же важна стабильность канала, скорость и конечно же безопасность.

Представим, что есть 2 ноды:

  • Server — IP 1.1.1.1
  • Client — IP 2.2.2.2

Установим на них OpenVPN

CentOS:

yum install -y epel-release
yum install -y openvpn easy-rsa

Ubuntu:

apt install -y openvpn

Читать далее "OpenVPN — Site-to-Site"

Nginx — WordPress

Пример файла конфигурации Nginx для CMS WordPress:

server {
    server_name artem.services;
    root /var/www/html/artem_services;
    index index.php;

    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        fastcgi_index index.php;
        fastcgi_pass unix:/var/run/php-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
        expires max;
        log_not_found off;
    }
}

Docker Swarm over TLS

В данном примере есть 3 сервера, с установленным на нем Docker. Если докер не установлен, можете посмотреть установку тут.

Будет один менеджер и два воркера:

Master — менеджер (IP: 1.1.1.1)
Slave_1 — воркер (IP: 1.1.2.1)
Slave_2 — воркер (IP: 1.1.2.2)

Необходимые порты для работы Docker Swarm: 2376 и 2377 (TCP). Убедитесь, что участникам роя будут они разрешены для взаимодействия.

Создание Docker Swarm

На сервере Master выполняем следующее:

docker swarm init --advertise-addr 1.1.1.1

Получим сообщение типа:

Swarm initialized: current node (ssmj2qyqxejd72p6sa9jinnza) is now a manager.

To add a worker to this swarm, run the following command:

docker swarm join \
--token SWMTKN-1-3qg9vovt2mxyfu1dfj2nocmkzd3i351z1z0aapd9jxxu7mafff-93r77xv8mrqsgfkf9nei902zk \
1.1.1.1:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

Рой создан и в нем есть один менеджер. Информацию по рою можно глянуть командой:

docker info

Читать далее "Docker Swarm over TLS"

Docker — API over TCP

Все шаги актуальны для дистрибутивов с systemd (проверенно на CentOS 7 и Ubuntu 18.04)

Смотрим команду запуска Docker:

grep "ExecStart" /usr/lib/systemd/system/docker.service

У Ubuntu 18.04 путь немного отличается, "/lib/systemd/system/docker.service"

Получаем что-то похожее:

ExecStart=/usr/bin/dockerd

Теперь создадим файл override.conf, для этого достаточно ввести:

systemctl edit docker

Туда вставляем следующее:

[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375

Читать далее "Docker — API over TCP"

Docker — Установка (CentOS, Ubuntu)

CentOS 7:

Установим необходимые утилиты:

yum install -y yum-utils \
device-mapper-persistent-data lvm2

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

yum-config-manager --add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

Установим Docker:

yum install -y docker-ce

Читать далее "Docker — Установка (CentOS, Ubuntu)"