Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Chocobozzz/OpenVPN-Admin
Install and administrate OpenVPN with a web interface (logs visualisations, users managing...)
https://github.com/Chocobozzz/OpenVPN-Admin
administration openvpn openvpn-admin web
Last synced: about 2 months ago
JSON representation
Install and administrate OpenVPN with a web interface (logs visualisations, users managing...)
- Host: GitHub
- URL: https://github.com/Chocobozzz/OpenVPN-Admin
- Owner: Chocobozzz
- License: agpl-3.0
- Archived: true
- Created: 2014-02-12T09:42:15.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2023-03-27T22:32:27.000Z (over 1 year ago)
- Last Synced: 2024-08-05T09:15:12.800Z (4 months ago)
- Topics: administration, openvpn, openvpn-admin, web
- Language: PHP
- Homepage:
- Size: 570 KB
- Stars: 947
- Watchers: 75
- Forks: 368
- Open Issues: 59
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-hacking-lists - Chocobozzz/OpenVPN-Admin - Install and administrate OpenVPN with a web interface (logs visualisations, users managing...) (PHP)
README
# OpenVPN Admin
## Summary
Administrate its OpenVPN with a web interface (logs visualisations, users managing...) and a SQL database.![Previsualisation configuration](https://lutim.cpy.re/fUq2rxqz)
![Previsualisation administration](https://lutim.cpy.re/wwYMkHcM)## 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 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](https://backports.debian.org/Instructions/#index2h2).
````
# 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)
## 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 /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`## 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 /var/www## Desinstall
It will remove all installed components (OpenVPN keys and configurations, the web application, iptables rules...).# ./desinstall.sh /var/www
## Use of
* [Bootstrap](https://github.com/twbs/bootstrap)
* [Bootstrap Table](http://bootstrap-table.wenzhixin.net.cn/)
* [Bootstrap Datepicker](https://github.com/eternicode/bootstrap-datepicker)
* [JQuery](https://jquery.com/)
* [X-editable](https://github.com/vitalets/x-editable)