OS support
Roxy-WI supports the
following OSes:
following OSes:
- EL7 (RPM installation and manual installation). It must be "Infrastructure Server" at least. x86_64 only.
- EL8 (RPM installation and manual installation). It must be "Infrastructure Server" at least. x86_64 only.
- EL9 (RPM installation and manual installation). It must be "Infrastructure Server" at least. x86_64 only.
- Amazon Linux 2 (RPM installation and manual installation). x86_64 only.
- Ubuntu (DEB installation and manual installation). x86_64 only.
- Other Linux distributions (manual installation only). x86_64 only.
- At least Python 3.9 for Ubuntu and Python 3.11 for EL
Installation on:
To use the Roxy-WI services, please make a donation to support our project on
Boosty.
We will send you the access credentials by email shortly.
You can find current prices here.
We will not be able to do our work without voluntary contributions. Any donations to support our work are greatly appreciated. Every gift counts!
Installation information for different operating systems can be found
here.
To install Roxy-WI on CentOS/Red Hat Enterprise Linux/Amazon Linux 2/Oracle Linux, follow the steps below.
Retrieve the signed RPM configuration files (run this command as sudo):
sudo yum install https://repo.roxy-wi.org/roxy-wi-release-7-2-5.noarch.rpm
or
sudo yum install https://repo1.roxy-wi.org/roxy-wi-release-7-2-5.noarch.rpm
Install the extra repository:
For EL:
sudo yum install epel-release
Or for amzn2:
sudo amazon-linux-extras install epel
Install Roxy-WI and services:
# Disable SELinux in config /etc/selinux/config and run command:
sudo setenforce 0
# Install Roxy-WI and services:
sudo yum install roxy-wi roxy-wi-checker roxy-wi-smon roxy-wi-metrics roxy-wi-keep_alive roxy-wi-portscanner roxy-wi-socket
Open the following link in your browser: https://your_ip/.
Use the default credentials: login - admin, password - admin.
To use the Roxy-WI services, please make a donation to support our project on
Boosty.
We will send you the access credentials by email shortly.
You can find current prices here.
We will not be able to do our work without voluntary contributions. Any donations to support our work are greatly appreciated. Every gift counts!
DEB packages are only available for the following Linux distributions: Ubuntu (Bionic, Focal,
Groovy, Hirsute, Impish, Jammy, Kinetic, Lunar, Mantic). Installation information
for different operating systems can be found here. Follow the steps below to install Roxy-WI on Ubuntu.
Add the Roxy-WI repository to your source list:
sudo echo \
"deb [arch=amd64, trusted=yes] https://repo.roxy-wi.org/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/roxy-wi.list > /dev/null
Run the following commands:
sudo apt-get update
sudo apt-get install roxy-wi roxy-wi-checker roxy-wi-metrics roxy-wi-smon roxy-wi-portscanner roxy-wi-keep-alive roxy-wi-socket
Install additional Python packages if they are not installed:
pip3 install setuptools_rust --break-system-packages
pip3 install paramiko-ng --break-system-packages
Create a Roxy-WI configuration file in the /etc/roxy-wi/roxy-wi.cfg directory:
[main]
# Path to the files destination
fullpath = /var/www/haproxy-wi
log_path = /var/log/roxy-wi
lib_path = /var/lib/roxy-wi
# Change secret_phrase to 32 url-safe base64-encoded
secret_phrase = _B8avTpFFL19M8P9VyTiX42NyeyUaneV26kyftB2E_4=
[configs]
# Folders for configs
haproxy_save_configs_dir = ${main:lib_path}/configs/hap_config/
keepalived_save_configs_dir = ${main:lib_path}/configs/kp_config/
nginx_save_configs_dir = ${main:lib_path}/configs/nginx_config/
apache_save_configs_dir = ${main:lib_path}/configs/apache_config/
[mysql]
# By default Sqlite DB is used
enable = 0
mysql_user = roxy-wi
mysql_password = roxy-wi
mysql_db = roxywi
mysql_host = 127.0.0.1
mysql_port = 3306
Open the following link in your browser: https://your_ip/.
Use the default credentials: login - admin, password - admin.
If you get the "Internal error" after installation, install all
requirements via pip3.
When you install RPM packages, the SELinux policy is automatically installed.
If you have problems configuring the SELinux policy, install the following package:
sudo yum install roxy-wi-selinux
You can also just disable SELinux.
After installing Roxy-WI, edit the /etc/roxy-wi/roxy-wi.cfg configuration file. The default configuration is shown below:
[main]
# Path to the files destination
fullpath = /var/www/haproxy-wi
log_path = /var/log/roxy-wi
lib_path = /var/lib/roxy-wi
# Change secret_phrase to 32 url-safe base64-encoded
secret_phrase = _B8avTpFFL19M8P9VyTiX42NyeyUaneV26kyftB2E_4=
[configs]
# Folders for configs
haproxy_save_configs_dir = ${main:lib_path}/configs/hap_config/
keepalived_save_configs_dir = ${main:lib_path}/configs/kp_config/
nginx_save_configs_dir = ${main:lib_path}/configs/nginx_config/
apache_save_configs_dir = ${main:lib_path}/configs/apache_config/
[mysql]
# By default Sqlite DB is used
enable = 0
mysql_user = roxy-wi
mysql_password = roxy-wi
mysql_db = roxywi
mysql_host = 127.0.0.1
mysql_port = 3306
The default database used by Roxy-WI is SQLite.
If you want to use MySQL, make the following changes to the configuration file:
[mysql]
#Enable MySQL DB. Default will be used Sqlite DB. Default disable
enable = 1
mysql_user = roxywi
mysql_password = roxy-wi
mysql_db = roxywi
mysql_host = 127.0.0.1
After editing the configuration file, create the Roxy-WI database on your MySQL server:
MariaDB [(none)]> create user 'roxy-wi'@'%';
MariaDB [(none)]> create database roxywi;
MariaDB [(none)]> grant all on roxywi.* to 'roxy-wi'@'%' IDENTIFIED BY 'roxy-wi';
MariaDB [(none)]> grant all on roxywi.* to 'roxy-wi'@'localhost' IDENTIFIED BY 'roxy-wi';
After creating the database, run the create_db.py script. The script is located in the /var/www/haproxy-wi folder.
If you are going to use Roxy-WI to manage multiple servers in production, we recommend using MySQL.
If you want to use a custom domain name, make changes to the Apache configuration file for Roxy-WI:
sudo vi /etc/httpd/conf.d/roxy-wi.conf
If you want to enable redirection from port 80 to port 443, add the following lines to your configuration file:
<VirtualHost *:80>
ServerName my_domain.local
Redirect permanent "/" "https://my_domain.local/"
</VirtualHost>
Find the following lines and replace "roxy-wi.example.com" with your domain name:
<VirtualHost *:443>
...
ServerName my_domain.local
...
</VirtualHost>
If you want to use custom certificates, edit the following lines:
<VirtualHost *:443>
...
SSLEngine on
SSLCertificateFile /var/www/haproxy-wi/app/certs/haproxy-wi.crt
SSLCertificateKeyFile /var/www/haproxy-wi/app/certs/haproxy-wi.key
...
</VirtualHost>
Starting with version 7.1.2, Roxy-WI encrypts SSH passwords and SSH passphrases.
To ensure that no one but you can decrypt your passwords, generate your own salt (run python3 for this) and put it in /etc/roxy-wi/roxy-wi.cfg:
from cryptography.fernet import Fernet
key = Fernet.generate_key()
print(key)