How to Install Multiple Tor Hidden Services on Whonix with Webmin Panel on VirtualBox VM
Comprehensive Guide: Installing Multiple Tor Hidden Services on Whonix with Webmin on VirtualBox
The guide will cover:
- Downloading and setting up Whonix Gateway and Workstation
- Installing Webmin on Whonix Workstation
- Setting up Nginx, PHP, and MySQL via Webmin
- Configuring Tor hidden services on Whonix Gateway
- Integrating the hidden services with Nginx
- Uploading files and managing databases via Webmin
- Understanding how Whonix works and why all traffic goes through Tor
This SEO-optimized guide will help you set up two or more Tor hidden services on Whonix using Webmin for server management. We will install Nginx, PHP, and MySQL through Webmin on Whonix Workstation and configure Tor hidden services on Whonix Gateway.
1. Understanding Whonix and Its Advantages
What is Whonix?
Whonix is a security-focused OS designed for anonymous browsing and hosting. It consists of two VMs:
- Whonix-Gateway: Routes all traffic through Tor.
- Whonix-Workstation: Runs applications and hosts hidden services.
Advantages of Whonix
✅ IP Anonymity – Your real IP is never exposed.
✅ All Traffic Forced Through Tor – Prevents accidental leaks.
✅ Secure Environment – Even if Workstation is compromised, the Gateway isolates traffic.
2. Download and Install Whonix VMs on VirtualBox
Step 1: Download Whonix
Visit the Whonix website and download the Whonix VirtualBox images.
Step 2: Import the Whonix VMs into VirtualBox
- Open VirtualBox and go to File → Import Appliance.
- Select the Whonix-Gateway image and import it.
- Repeat for Whonix-Workstation.
Step 3: Start and Update the VMs
- Start Whonix-Gateway and update:
sudo apt update && sudo apt upgrade -y sudo systemctl restart tor
- Start Whonix-Workstation and update:
sudo apt update && sudo apt upgrade -y
3. Installing Webmin on Whonix-Workstation
Step 1: Install Webmin
Run the following commands in Whonix-Workstation:
sudo apt install wget -y
wget https://download.webmin.com/devel/deb/webmin-current.deb
sudo dpkg -i webmin-current.deb
sudo apt install -f -y # Fix missing dependencies
Step 2: Access Webmin
- Start Webmin:
sudo systemctl start webmin sudo systemctl enable webmin
- Open a browser and go to:
https://localhost:10000/
- Log in using your root credentials.
4. Installing Nginx, PHP, and MySQL via Webmin
Step 1: Install Nginx
- In Webmin, go to Un-used Modules → Software Packages.
- Install nginx by entering:
nginx
- Start Nginx:
sudo systemctl start nginx sudo systemctl enable nginx
Step 2: Install PHP
- In Webmin, install PHP and required extensions:
php php-fpm php-mysql
- Start PHP:
sudo systemctl start php7.4-fpm sudo systemctl enable php7.4-fpm
Step 3: Install MySQL
- In Webmin, install MariaDB (MySQL):
mariadb-server
- Secure MySQL:
sudo mysql_secure_installation
- Create a new database:
CREATE DATABASE tor_site; CREATE USER 'tor_user'@'localhost' IDENTIFIED BY 'securepassword'; GRANT ALL PRIVILEGES ON tor_site.* TO 'tor_user'@'localhost'; FLUSH PRIVILEGES;
5. Configuring Tor Hidden Services on Whonix-Gateway
Step 1: Edit Tor Configuration
On Whonix-Gateway, open the torrc file:
sudo nano /etc/tor/torrc
Add the following lines:
HiddenServiceDir /var/lib/tor/hidden_service1/
HiddenServicePort 80 10.152.152.10:8081
HiddenServiceDir /var/lib/tor/hidden_service2/
HiddenServicePort 80 10.152.152.10:8082
80 10.152.152.10 is Whonix-Workstation VM IP
Save and exit (CTRL + X
, then Y
and Enter
).
Step 2: Restart Tor
sudo systemctl restart tor
Step 3: Retrieve .onion Addresses
sudo cat /var/lib/tor/hidden_service1/hostname
sudo cat /var/lib/tor/hidden_service2/hostname
These are your Tor hidden service domains.
6. Configuring Nginx for Multiple Tor Hidden Services
Step 1: Add Nginx Configuration for Hidden Services
On Whonix-Workstation, create two configuration files:
First hidden service
sudo nano /etc/nginx/sites-available/hidden1
Add:
server {
listen 8081;
server_name localhost;
root /var/www/hidden1;
index index.php index.html;
}
Second hidden service
sudo nano /etc/nginx/sites-available/hidden2
Add:
server {
listen 8082;
server_name localhost;
root /var/www/hidden2;
index index.php index.html;
}
Enable both:
sudo ln -s /etc/nginx/sites-available/hidden1 /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/hidden2 /etc/nginx/sites-enabled/
sudo systemctl restart nginx
7. Uploading Files to Server via Webmin
- Go to Webmin → Others → File Manager.
- Navigate to
/var/www/hidden1/
and upload files for the first site. - Navigate to
/var/www/hidden2/
and upload files for the second site.
Set correct permissions:
sudo chown -R www-data:www-data /var/www/hidden1 /var/www/hidden2
sudo chmod -R 755 /var/www/hidden1 /var/www/hidden2
8. Connecting the Database via Webmin
- Go to Webmin → Servers → MySQL Database Server.
- Select Databases → Create New Database.
- Name it tor_site, set tor_user as the owner.
- Use the following connection settings in your scripts:
$conn = new mysqli("localhost", "tor_user", "securepassword", "tor_site");
9. Testing Your Hidden Services
- Open Tor Browser.
- Enter your .onion addresses.
- If everything is configured correctly, you should see your websites! 🎉
Conclusion
We have successfully:
✅ Installed Webmin on Whonix-Workstation.
✅ Configured Nginx, PHP, and MySQL via Webmin.
✅ Set up multiple Tor hidden services on Whonix-Gateway.
✅ Configured Nginx to serve multiple sites.
✅ Uploaded files and connected the database via Webmin.
Your Tor hidden websites are now up and running, fully anonymous and secured! 🚀
Check out this comprenhensive article on same topic: https://darknews.click/2024/10/setting-up-tor-hidden-services-on-linux-whonix-with-webmin-panel-a-step-by-step-guide/
0 thoughts on “How to Install Multiple Tor Hidden Services on Whonix with Webmin Panel on VirtualBox VM”