Поиск по сайту:

Управляйте HAProxy/Nginx/Apache из веб-интерфейса с помощью Roxy-WI |


Roxy-WI — созданное приложение, позволяющее построить отказоустойчивую инфраструктуру, не углубляясь в детали настройки и создания кластера на базе HAProxy, NGINX, Apache и Keepalived. Он предоставляет вам удобный интерфейс для управления всеми сервисами в одном месте. Этот инструмент может создавать серверы на AWS, DigitalOcean и GCore, устанавливать HAProxy, NGINX, Apache, Keepalived, их экспортеры и выполнять первоначальную настройку сервисов.

Функции веб-интерфейса Roxy-WI

С Roxy-WI Web вы получаете следующие возможности.

  • Установите, настройте и обновите сервисы HAProxy, Nginx, Apache и Keepalived.
  • Установите и обновите серверы Grafana, Prometheus с помощью Roxy-WI.
  • Предоставление серверов в AWS, DigitalOcean и G-Core Labs
  • Загрузка, обновление и форматирование GeoIP в приемлемый для HAProxy формат с помощью Roxy-WI.
  • Динамическое изменение Maxconn, черных/белых списков, IP-адреса и порта бэкэнда с сохранением изменений в файле конфигурации.
  • Включение/отключение серверов через страницу статистики без перезагрузки HAProxy
  • Создание и визуализация рабочего процесса HAProxy
  • Добавление нескольких серверов для обеспечения синхронизации конфигурации между серверами.
  • Отправка уведомлений от Roxy-WI через Telegram, Slack, Email, PageDuty и через веб-интерфейс
  • Поддержка SSL (включая Let’s Encrypt)
  • Поддержка LDAP
  • Поддерживайте активность сервисов HAProxy, Nginx, Apache и Keepalived.
  • SMON (проверка: Ping, TCP/UDP, HTTP(s), срок действия SSL, ответ тела HTTP, записи DNS)
  • и многое другое.

Установка и настройка Roxy-WI

В этом разделе мы рассмотрим все процессы, которые используются для установки и настройки Roxy-WI. Этот процесс выполняется вручную и включает в себя установку пакетов зависимостей, сборку и установку Roxy-WI и, наконец, настройку Roxy-WI для управления сервисами HAProxy, Nginx, Apache и Keepalived.

1) Установить зависимости

Прежде чем мы сможем собрать и установить Roxy-WI, нам необходимо установить зависимости.

Ubuntu/Debian

sudo apt update
sudo apt install apache2 python3 python3-pip python3-ldap rsync ansible python3-requests python3-networkx 
sudo apt install python3-matplotlib python3-bottle python3-future python3-jinja2 python3-peewee python3-distro
sudo apt install python3-psutil python3-pymysql  python3-paramiko netcat-traditional nmap net-tools lshw 
sudo apt install dos2unix libapache2-mod-wsgi-py3 openssl sshpass git

CentOS 7/RHEL 7

sudo yum install https://repo.ius.io/ius-release-el7.rpm epel-release
sudo yum -y install git nmap-ncat net-tools dos2unix python3 python3-pip python3-distro python36-ldap3 nmap
sudo yum -y install python36-pytz python36-requests python36-future python36-cryptography python3-psutil libmodulemd
sudo yum -y install python36-jinja2 python-configparser python3-paramiko httpd mod_ssl rsync ansible mod_wsgi git

RHEL 8/CentOS 8/Rocky 8/Alma8:

sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo dnf -y install python3 python3-pip python3-devel python3-cryptography python3-jinja2 python3-distro 
sudo dnf -y install  nmap-ncat net-tools lshw python3-ldap python3-paramiko rsync ansible dos2unix nmap mod_ssl
sudo dnf -y install  httpd python3-mod_wsgi libmodulemd python3-psutil git

2) Установите зависимости Python

Давайте клонируем исходный код Roxy-WI с Github.

sudo git clone https://github.com/hap-wi/roxy-wi.git /var/www/haproxy-wi

Перейдите в созданную папку.

cd /var/www/haproxy-wi

Установите зависимости Python из файла требований.

### RHEL 7 based systems ###
sudo pip3 install -r config_other/requirements_el7.txt

### RHEL 8 based systems ###
sudo pip3 install -r config_other/requirements_el8.txt

### Ubuntu / Debian based systems ###
sudo pip3 install -r config_other/requirements_deb.txt

3) Скопируйте конфигурацию Roxy-WI Apache.

Скопируйте конфигурацию сервера Apache httpd:

### RHEL  based systems ###
sudo cp config_other/httpd/roxy-wi.conf /etc/httpd/conf.d/
sudo chown -R apache:apache /var/www/haproxy-wi
sudo systemctl enable --now httpd

### Debian  based systems ###
sudo cp config_other/httpd/roxy-wi_deb.conf /etc/apache2/sites-available/roxy-wi.conf
sudo a2ensite roxy-wi.conf
sudo a2enmod cgid ssl proxy_http rewrite
sudo chown -R www-data:www-data /var/www/haproxy-wi
sudo systemctl restart apache2

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

RHEL: /etc/httpd/conf.d/roxy-wi.conf
Debian: /etc/apache2/sites-available/roxy-wi.conf

Вы можете проверить статус службы вашего веб-сервера, используя:

systemctl status apache2||systemctl status httpd

4) Создайте каталоги Roxy-WI и сгенерируйте сертификаты.

Установите модуль Python paramiko-ng.

sudo pip3 install paramiko-ng 

Сделайте скрипты Python исполняемыми

sudo chmod +x /var/www/haproxy-wi/app/*.py 

Копирование конфигураций ротации журналов

sudo cp /var/www/haproxy-wi/config_other/logrotate/* /etc/logrotate.d/

Создайте необходимые каталоги — configs, data и logs.

sudo mkdir /etc/roxy-wi/
sudo mkdir /var/log/roxy-wi/
sudo mkdir -p /var/lib/roxy-wi/{keys,configs}
sudo mkdir -p /var/lib/roxy-wi/configs/{hap_config,kp_config,nginx_config,apache_config}

Переместите файл конфигурации в каталог /etc/roxy-wi.

sudo mv /var/www/haproxy-wi/roxy-wi.cfg /etc/roxy-wi

Сгенерируйте ключ и сертификат SSL.

sudo openssl req -newkey rsa:4096 -nodes -keyout /var/www/haproxy-wi/app/certs/haproxy-wi.key -x509 -days 10365 -out /var/www/haproxy-wi/app/certs/haproxy-wi.crt -subj "/C=KE/ST=Nairobi/L=Nairobi/O=Roxy-WI/OU=IT/CN=*.roxy-wi.computingforgeeks.com/emailAddress=[email "

Где :

  • C — название страны (2-буквенный код).
  • ST — название штата или провинции (полное имя).
  • L – название населенного пункта (например, город).
  • O — название организации (например, компания).
  • OU — название организационного подразделения (например, раздел).
  • CN – общее имя (например, полное доменное имя сервера).
  • emailAddress – это ваш адрес электронной почты.

Наконец создайте базу данных.

cd /var/www/haproxy-wi/app
sudo ./create_db.py
sudo chown -R apache:apache /var/www/haproxy-wi/
sudo chown -R apache:apache /var/lib/roxy-wi/

Установите права доступа к каталогу на сервере.

### RHEL  based systems ###
sudo chown -R apache:apache /var/www/haproxy-wi/
sudo chown -R apache:apache /var/lib/roxy-wi/
sudo chown -R apache:apache /var/log/roxy-wi/
sudo chown -R apache:apache /etc/roxy-wi/

### Debian  based systems ###
sudo chown -R www-data:www-data /var/www/haproxy-wi/
sudo chown -R www-data:www-data /var/lib/roxy-wi/
sudo chown -R www-data:www-data /var/log/roxy-wi/
sudo chown -R www-data:www-data /etc/roxy-wi/

Перезапустите веб-сервис.

sudo systemctl daemon-reload      
sudo systemctl restart httpd||sudo systemctl restart apache2
sudo systemctl restart rsyslog

6) Доступ к веб-панели Roxy-WI

Откройте в браузере и перейдите по адресу https://your_server_ip/.

Учетные данные для входа по умолчанию:

Username: admin
Password: admin

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

Нажмите «Изменить пароль», чтобы установить новый пароль.

Далее откроется окно обзора.

Сервера пока не добавляю. Прочтите, как добавить существующий сервер или создать новый, и перейдите в «Область администратора», чтобы добавить свой первый сервер.

Но сначала добавьте группу хостов, добавьте учетные данные SSH для использования Серверов > Учетные данные SSH

Добавьте сервер, предоставив необходимую информацию.

Добавленный сервер должен отображаться в разделе «Обзор».

Что дальше?

Посетите официальные страницы документации проекта, чтобы узнать больше о

Другие статьи о HAProxy:

Начало работы с безопасным HAProxy в Linux

Высокая доступность кластера Galera с HAProxy в Ubuntu 18.04/CentOS 7

Как настроить кластер MariaDB Galera в Ubuntu 18.04 с помощью HAProxy

Статьи по данной тематике: