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.
Installation on:
In order 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.
Actual prices can be found here.
Without voluntary contributions, we will not be able to carry out our work. Any donations to support our work are very welcome - every gift count!
The information concerning the installation for different OSes can be found
here.
To install Roxy-WI on CentOS/Red Hat Enterprise Linux/Amazon Linux 2/Oracle Linux, perform the steps described below.
Retrieve the signed RPM configuration files (you should perform this command as sudo)
sudo yum install https://repo.roxy-wi.org/roxy-wi-release-7-2-4.noarch.rpm
or
sudo yum install https://repo1.roxy-wi.org/roxy-wi-release-7-2-4.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 the 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 in your browser the link: https://your_ip/
Default credentials: login - admin, password - admin
In order 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.
Actual prices can be found here.
Without voluntary contributions, we will not be able to carry out our work. Any donations to support our work are very welcome - every gift count!
DEB packages are available only on the following Linux distributions: Ubuntu (Bionic, Focal,
Groovy, Hirsute, Impish, Jammy, Kinetic, Lunar, Mantic). The information concerning the installation
for different OSes can be found here. Perform the steps below to install Roxy-WI on Ubuntu.
Add 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
Perform 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 not installed:
pip3 install setuptools_rust --break-system-packages
pip3 install paramiko-ng --break-system-packages
Create Roxy-WI config file in the directory /etc/roxy-wi/roxy-wi.cfg:
[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 in your browser the link: https://your_ip/
Default credentials: login - admin, password - admin
If you see the "Internal error" after installation, install all
requirements via pip3.
If you install RPM packages, the SELinux policy will be installed automatically.
If you have problems with configuring the SELinux policy, install the following package:
sudo yum install roxy-wi-selinux
Also you can simply disable SELinux.
Once you have installed Roxy-WI, you have to edit the configuration file /etc/roxy-wi/roxy-wi.cfg. 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
Roxy-WI uses SQLite as the default database.
If you would like to use MySQL, make the following changes in 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
Once you have edited the configuration file,
create the database for Roxy-WI 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 script create_db.py. The script is in folder /var/www/haproxy-wi/app
If you are going to use Roxy-WI to manage multiple servers in production, it is recommended to use MySQL.
If you would like to use a custom domain name, you should make changes in the Apache configuration file for Roxy-WI:
sudo vi /etc/httpd/conf.d/roxy-wi.conf
If you would like to enable the redirect 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 would like 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>
Since version 7.1.2 Roxy-WI starts crypte SSH passwords and SSH passphrases.
To be ensured nobody can decrypt your passwords expect you, you should generate your own salt (run python3 for it) and put in to the /etc/roxy-wi/roxy-wi.cfg:
from cryptography.fernet import Fernet
key = Fernet.generate_key()
print(key)