Skip to content
This repository was archived by the owner on Jan 3, 2023. It is now read-only.
/ OpenVPN-Admin Public archive

Install and administrate OpenVPN with a web interface (logs visualisations, users managing...)

License

Notifications You must be signed in to change notification settings

Chocobozzz/OpenVPN-Admin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
Chocobozzz
Feb 7, 2017
c9ddd2d · Feb 7, 2017
Feb 7, 2017
Feb 5, 2017
Feb 7, 2017
Sep 15, 2016
Feb 5, 2017
Jul 9, 2015
Feb 5, 2017
Feb 7, 2017
Feb 12, 2014
Dec 15, 2016
Feb 7, 2017
Sep 11, 2016
Feb 7, 2017
Feb 5, 2017
Feb 7, 2017
Feb 5, 2017

Repository files navigation

OpenVPN Admin

Summary

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

Previsualisation configuration Previsualisation administration

Prerequisite

  • 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 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

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)

Tests

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

Installation

  • Setup OpenVPN and the web application:

    $ cd ~/my_coding_workspace
    $ git clone https://github.com/Chocobozzz/OpenVPN-Admin openvpn-admin
    $ cd openvpn-admin
    # ./install.sh www_base_dir web_user web_group
    
  • 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

Usage

  • 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/update-resolv.sh as root
  • User run OpenVPN (for example systemctl start openvpn@client)

Update

$ git pull origin master
# ./update.sh www_base_dir

Desinstall

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

# ./desinstall.sh www_base_dir

Use of