Skip to content
Go to file

OpenVPN Admin


Administrate its OpenVPN with a web interface (logs visualisations, users managing...) and a SQL database.

Previsualisation configuration Previsualisation administration


  • GNU/Linux with Bash and root access
  • Fresh install of OpenVPN
  • Web server (NGinx, Apache...)
  • MySQL
  • PHP >= 5.5 with modules:
    • zip
    • pdo_mysql
  • bower
  • unzip
  • wget
  • sed
  • curl

Debian 8 Jessie

# apt-get install openvpn apache2 php5-mysql mysql-server php5 nodejs unzip git wget sed npm curl
# npm install -g bower
# ln -s /usr/bin/nodejs /usr/bin/node

Debian 9 Stretch

In order to install npm, stretch-backports need to be added to your sources.list.

# apt-get install -t stretch-backports npm nodejs
# apt-get install openvpn apache2 php-mysql mysql-server php-zip php unzip git wget sed curl
# npm install -g bower

CentOS 7

# yum install epel-release
# yum install openvpn httpd php-mysql mariadb-server php nodejs unzip git wget sed npm
# npm install -g bower
# systemctl enable mariadb
# systemctl start mariadb

Other distribution... (PR welcome)


Only tested on Debian Jessie. Feel free to open issues.


  • Setup OpenVPN and the web application:

    $ cd ~/my_coding_workspace
    $ git clone openvpn-admin
    $ cd openvpn-admin
    # ./ /var/www www-data www-data
  • Setup the web server (Apache, NGinx...) to serve the web application.

  • Create the admin of the web application by visiting http://your-installation/index.php?installation


  • Start OpenVPN on the server (for example systemctl start openvpn@server)
  • Connect to the web application as an admin
  • Create an user
  • User get the configurations files via the web application (and put them in /etc/openvpn)
  • Users on GNU/Linux systems, run chmod +x /etc/openvpn/ as root
  • User run OpenVPN (for example systemctl start openvpn@client)


$ git pull origin master
# ./ /var/www


It will remove all installed components (OpenVPN keys and configurations, the web application, iptables rules...).

# ./ /var/www

Use of

You can’t perform that action at this time.