How To Make A WireGuard Easy (wg-easy) VPN Server With Web-Based Admin UI On An Ubuntu Linux VPS
In this video, you will learn how to set up your own self-hosted WireGuard Virtual Private Network (VPN) server with a website based User Interface (UI) sign in page to manage VPN clients as an admin. Your WireGuard VPN will be installed using WireGuard Easy (wg-easy) GitHub repository using an Ubuntu Linux based cloud server also known as a Virtual Private Server (VPS). You will also use Docker and Bcrypt's password hasher to run wg-easy and hash your web UI sign in password for enhancing password security. WireGuard is a cross-platform opensource VPN that utilises cryptography in its protocol. DigitalOcean will be the VPS host provider used in this video demonstration. It offers cloud servers through a service called Droplets.
🔵 Free $200 DigitalOcean cloud credits using my referral link: https://digitalocean.pxf.io/c/1245219/1373759/15890
How To Get $200 In Free DigitalOcean Cloud Credits • How To Get $200 In Free DigitalOcean ...
How To Install PuTTY on Windows 11 And Windows 10 • How To Install PuTTY On Windows 10 Or...
WireGuard VPN Client Installation https://www.wireguard.com/install/
What Is My IP Address https://whatismyipaddress.com/
Download PuTTY https://www.putty.org/
wg-easy https://github.com/wg-easy/wg-easy
Bcrypt Password Hash Generator https://github.com/wg-easy/wg-easy/blob/master/How_to_generate_an_bcrypt_hash.md
Steps To Make WG-Easy VPN With Web UI For Client Management:
1. Navigate to https://digitalocean.pxf.io/c/1245219/1373759/15890 and create a free DigitalOcean account. This is my referral link granting you $200 in free cloud credit for 60 days as a new user
2. Once you have created your DigitalOcean account, you will be taken to your DigitalOcean dashboard. Click Create.
3. Click Droplets
4. Choose your wg-easy VPN server region, configure your droplet and click Create Droplet
5. Go To https://www.wireguard.com/install/ and install the WireGuard client appropriate for your operating system (OS)
6. Log into your server using an SSH client such as PuTTY. Here is a video of mine that takes you step by step through the process of installing PuTTY • How To Install PuTTY On Windows 10 Or...
7. Install Docker using the following Command:
curl -sSL https://get.docker.com/ | sh
sudo usermod -aG docker $(whoami)
8. Generate a Bcrypt password hash for use with wg-easy using Docker Command:
docker run -it ghcr.io/wg-easy/wg-easy wgpw YOUR_PASSWORD
PASSWORD_HASH='$2b$12$coPqCsPtcFO.Ab99xylBNOW4.Iu7OOA2/ZIboHN6/oyxca3MWo7fW' // literally YOUR_PASSWORD
9. Install and run wg-easy Command:
docker run --detach \
--name wg-easy \
--env LANG=en \
--env WG_HOST=🚨 YOUR_SERVER_IP \
--env PASSWORD_HASH='🚨 YOUR_ADMIN_PASSWORD_HASH' \
--env PORT=51821 \
--env WG_PORT=51820 \
--volume ~/.wg-easy:/etc/wireguard \
--publish 51820:51820/udp \
--publish 51821:51821/tcp \
--cap-add NET_ADMIN \
--cap-add SYS_MODULE \
--sysctl 'net.ipv4.conf.all.src_valid_mark=1' \
--sysctl 'net.ipv4.ip_forward=1' \
--restart unless-stopped \
ghcr.io/wg-easy/wg-easy
10. Sign in to the wg-easy web UI, which is available on http://0.0.0.0:51821
Replace 0.0.0.0 with your DigitalOcean Droplets IP Address and please note that the address is HTTP NOT HTTPS
11. Create new clients using wg-easy web UI and add configuration tunnels to your WireGuard client using .conf files (PCs) or QR codes (mobile devices) which you can download from the web UI.
12. Activate WireGuard
13. Check to see if your IP address is currently masked by your WireGuard VPN
Congratulations, you have successfully created your own wg-easy VPN server with a web based client management UI on an Ubuntu Linux cloud server
Optional: Backup your WireGuard client .conf files using the Backup button to download a .JSON file. This .json file can then be used to restore all your clients on your wg-easy web UI.
Note: You can restrict or un-restrict WireGuard VPN access using Web UI toggles
Timestamps:
0:00 - Intro & Context
0:21 - Create A VPS
3:22 - Install WireGuard Client
4:55 - Login as root on your VPS
6:03 - Install Docker
6:43 - Generate A Password Hash Using Bcrypt
8:33 - Edit And Configure wg-easy Automatic Install Command
9:56 - Run WireGuard Easy Install Command
10:08 - Sign In To wg-easy web admin UI
11:21 - Create New WireGuard Client Configurations (.conf/QR codes)
12:06 - Add Tunnel To Client And Activate WireGuard VPN
13:36 - Check IP Address To See If WireGuard VPN Is Active
14:10 - Web UI Features - Backup & Restore Clients Using .JSON
16:12 - Closing & Outro
How To Create Your Own VPN Or Proxy (Playlist) • How To Create Your Own VPN Or Proxy
More DigitalOcean Server Guides (Playlist) • DigitalOcean Cloud Computing Guides
Ubuntu Linux Tutorials (Playlist) • Ubuntu Linux Tutorials
SUBSCRIBE / @websplaining
#WireGuard #WireGuardEasy #WgEasy