Skip to content

OpenVPN on a VPS

SSL/TLS VPN server

Category
VPN / Proxy
Hosting
VPN server
Author
OpenVPN Inc.; installer by angristan
License
GPL-2.0
Version
2.7.7

The script is free · VPS from $2.79 per month · installs in about 2 minutes

Install over SSH

root@vps:~# curl -O https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh && chmod +x openvpn-install.sh && sudo ./openvpn-install.sh interactive

  • SystemUbuntu 24.04 · x86_64ok
  • Sourcegithub.com/angristan/openvpn-installok
  • Version2.7.7ok
  • Port1194/udplisten

✓ OpenVPN 2.7.7 installed · about 2 minutes

root@vps:~#

Install command from the library. Output is shortened and may differ on your server.

What it is

  • VPN
  • OpenVPN
  • Certificates
  • Compatibility

OpenVPN is a time-tested VPN protocol with clients for virtually any device, including legacy systems and routers. Choose it when compatibility matters more than top speed.

Installation is handled by the popular angristan/openvpn-install script (MIT): it installs OpenVPN, creates a certificate authority, configures the firewall and issues a .ovpn file for the first client.

After that the script works as a manager: it adds and revokes clients, shows connections and can run non-interactively via the CLI.

  • Clients for Windows, macOS, Linux, Android, iOS and routers
  • UDP or TCP on any port
  • Modern encryption and TLS
  • Add and revoke clients with a single command
  • IPv4 and IPv6 support
  • Non-interactive mode for automation

Recommended plan

For OpenVPN: at least 1 vCPU, 2 GB RAM and 10 GB NVMe.

Minimum to run
1 vCPU · 1 GB RAM · 10 GB disk
Systems
Ubuntu 22.04 · Ubuntu 24.04 · Debian 11 · Debian 12 · AlmaLinux 9

How to install

Three steps in the bot or one command over SSH; installation takes about 2 minutes.

  1. 01

    Choose a plan in the bot

    Open @ExpressHost_bot and pay for a VPS. The server will be ready in about 60 seconds.

  2. 02

    Add OpenVPN

    At the “Add-ons” step pick the script from the library, or run it later: Server settings → Scripts.

  3. 03

    Finish the setup

    Answer the script's prompts (port, protocol, DNS) and name the first client

Manually over SSH

Connect to the server as root and run the command. Supported systems: Ubuntu 22.04, Ubuntu 24.04, Debian 11, Debian 12, AlmaLinux 9.

Install command
curl -O https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh && chmod +x openvpn-install.sh && sudo ./openvpn-install.sh interactive

Ports

OpenVPN ports
PortProtocolPurpose
1194udpVPN tunnel (port and protocol can be changed during installation)

After installation

  1. 1.Answer the script's prompts (port, protocol, DNS) and name the first client
  2. 2.Download the .ovpn file from the home directory, for example: scp root@IP:~/name.ovpn .
  3. 3.Import the .ovpn into OpenVPN Connect or another client
  4. 4.New client: ./openvpn-install.sh client add name; revoke: ./openvpn-install.sh client revoke name

OpenVPN FAQ

Didn’t find an answer? Message @ExpressHost_SupportBot.

OpenVPN or WireGuard?

WireGuard is faster and simpler. OpenVPN is chosen for compatibility with older devices, routers and corporate clients, or when you need TCP.

How many clients can the plan handle?

OpenVPN encrypts traffic in a single thread on the CPU, so it hits the CPU limit sooner than WireGuard. 1 vCPU and 2 GB is enough for a small team.

Where are the configs?

The server config is /etc/openvpn/server/server.conf, keys are in /etc/openvpn/server/easy-rsa, and client .ovpn files are in the home directory.

OpenVPN installs at checkout — in the bot.