How to set up your .onion server
These notes exist because a complete, practical walkthrough was hard to find. Follow the five guides in order and you will have a Linux host publishing a website on a .onion address.
The path
Create a .onion service
Install Tor on Ubuntu and enable a hidden service that forwards port 80 to localhost.
Start here 02Create a .onion address
Optional. Build mkp224o in a Hyper-V Ubuntu VM if you want a vanity hostname.
Read guide 03Use a custom address
Copy generated keys into Tor’s hidden service directory and restart the daemon.
Read guide 04Create a web server
Install NGINX, listen only on 127.0.0.1, then add PHP and MySQL if you need them.
Read guide 05Secure the server
Send host DNS through Tor and apply standard NGINX and access-control hardening.
Read guideGuide 5 continues with ModSecurity, LEMP hardening, knockd, and the onion service checklist.
What you will need
Each step shows how to obtain these. You do not need everything on day one.
Windows 10 with Hyper‑V
Included with Windows 10. Used in guide 2 to run an Ubuntu desktop VM for vanity address generation.
Linux server (or cloud)
Ubuntu is used throughout. You can reuse the VM from guide 2, or a host on AWS, Azure, or another provider.