# ovpm **Repository Path**: hugo_code/ovpm ## Basic Information - **Project Name**: ovpm - **Description**: OpenVPN Management Server - Effortless and free OpenVPN server administration - **Primary Language**: Go - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-12-02 - **Last Updated**: 2021-12-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OVPM - OpenVPN Management Server ![Build Status](https://github.com/cad/ovpm/workflows/Go/badge.svg) [![GitHub version](https://badge.fury.io/gh/cad%2Fovpm.svg)](https://badge.fury.io/gh/cad%2Fovpm) [![codecov](https://codecov.io/gh/cad/ovpm/branch/master/graph/badge.svg)](https://codecov.io/gh/cad/ovpm) [![GoDoc](https://godoc.org/github.com/cad/ovpm?status.svg)](https://godoc.org/github.com/cad/ovpm) *OVPM* allows you to administrate an **OpenVPN** server on linux easily via command line and web interface. With OVPM you can create and run an OpenVPN server, add/remove VPN users, generate client .ovpn files for your users etc. *This software is not stable yet. We recommend against using it for anything serious until, version 1.0 is released.* **NOTICE: Version 0.2.8 comes with `comp-lzo` option disabled by default as it is deprecated by OpenVPN.** **Roadmap** - [x] OpenVPN management functionality - [x] User management functionality - [x] Network management functionality - [x] Command Line Interface (CLI) - [x] API (REST and gRPC) - [x] Web User Interface (WebUI) - [ ] Import/Export/Backup OVPM config - [ ] Effortless client profile (.ovpn file) delivery over Web - [ ] Monitoring and Quota functionality **Demo** Here is a little demo of what it looks on terminal to init the server, create a vpn user and generate **.ovpn** file for the created user. [![asciicast](https://asciinema.org/a/136016.png)](https://asciinema.org/a/136016) ## Installation **from RPM (CentOS/Fedora):** ```bash # Add YUM Repo $ sudo yum install yum-utils -y $ sudo yum install epel-release -y $ sudo yum-config-manager --add-repo https://cad.github.io/ovpm/rpm/ovpm.repo # Install OVPM $ sudo yum install ovpm # Enable and start ovpmd service $ systemctl start ovpmd $ systemctl enable ovpmd ``` **from DEB (Ubuntu/Debian):** This is tested only on Ubuntu >=16.04.3 LTS ```bash # Add APT Repo $ sudo sh -c 'echo "deb [trusted=yes] https://cad.github.io/ovpm/deb/ ovpm main" >> /etc/apt/sources.list' $ sudo apt update # Install OVPM $ sudo apt install ovpm # Enable and start ovpmd service $ systemctl start ovpmd $ systemctl enable ovpmd ``` **from Source (go get):** Only dependency for ovpm is **OpenVPN>=2.3.3**. ```bash $ go get -u github.com/cad/ovpm/... # Make sure user nobody and group nogroup is available # on the system $ sudo useradd nobody $ sudo groupadd nogroup # Start ovpmd on a seperate terminal $ sudo ovpmd ``` Now ovpmd should be running. ## Quickstart Create a vpn user and export vpn profile for the created user. ```bash # We should init the server after fresh install $ ovpm vpn init --hostname INFO[0004] ovpm server initialized # Now, lets create a new vpn user $ ovpm user create -u joe -p verySecretPassword INFO[0000] user created: joe # Finally export the vpn profile for, the created user, joe $ ovpm user genconfig -u joe INFO[0000] exported to joe.ovpn ``` OpenVPN profile for user joe is exported to joe.ovpn file. You can simply use this file with OpenVPN to connect to the vpn server from another computer. # Next Steps * [User Management](https://github.com/cad/ovpm/wiki/User-Management) * [Network Management](https://github.com/cad/ovpm/wiki/Network-Management) * [Web Interface](https://github.com/cad/ovpm/wiki/Web-Interface) # Troubleshooting ## Q: My clients cannot connect to VPN after updating OVPM to v0.2.8 Since `comp-lzo` is disabled by default in OVPM v0.2.8, existing clients' .ovpn profiles became invalid. In order to solve this you have the options below: * Generate new .ovpn profile for existing clients * Or manually remove `comp-lzo` line from clients .ovpn profiles yourself. * Or you can upgrade to v0.2.9 and enable lzo option back by invoking the following command. ```bash $ ovpm vpn update --enable-use-lzo ``` But please note that this is not recommended as lzo option is [deprecated](https://community.openvpn.net/openvpn/wiki/DeprecatedOptions?__cf_chl_jschl_tk__=0468cbb180cdf21ca5119b591d260538cf788d30-1595873970-0-AY1Yn79gf57uYv2hrAKPwvzk-xuDvhY79eHrxJqWw1hpbapF-XgOJSsglI70HxmV78LDzJSz7m_A7eDhvzo_hCM-tx4UB7PfccKTtoHATGrOBqq4mHDhggN_EwJ7yee3fIzLgc9kvhL9pOCiISlE3NpbC0SOX21tYwFs1njdpOVGG4dHLMyudNKRGexapsQxiD2i23r30i_dzqS12QobGvPe96CuWS84ARjIRAUlutT6t5SxkccyOBunduDnbgYoB7RN8x7ab8y8Paim9ypizKiEHbxwP0Z2Y3lXByKdzHUUZSJzjzolHyRyQx-nSBuZQQ#Option:--comp-lzo) in OpenVPN.