Управляйте 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