Skip to content

Commit d27cc31

Browse files
author
micro
committed
Merge branch 'devel' into master - Release Version 1.2.0
2 parents 9825111 + a4477e7 commit d27cc31

File tree

106 files changed

+2750
-331
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

106 files changed

+2750
-331
lines changed

CHANGELOG.md

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,36 @@
1-
# OpenVPN-Admin Version History
1+
# OpenVPN-WebAdmin Version History
2+
3+
## 1.2.0
4+
5+
### Installation/Update Script
6+
7+
- moved all files and folders for webservice and installation into separate folder
8+
- Install code cleaned up
9+
- Additions and changes in the Install and Update Script
10+
11+
### Webservice
12+
13+
- add multilanguage functions for webservice
14+
- Several bugs fixed
15+
- add debug function for developers
16+
- Preparation for module functions started and installed
17+
- php and html Code cleaned up
18+
- added own error pages into login folder
19+
- Message after saving the configurations now better visible
20+
21+
### VPN-Server
22+
23+
- OpenVPN-Server VPN-Login log modified. Messages now clearly visible and searchable
24+
- added multitail plugin for logfile (installation/snippets)
25+
26+
## 1.1.1
27+
28+
- bug #19 fixed, rename database based vars
29+
30+
## 1.1.0
31+
32+
- add updatescript from version 0.8 and 1.0.x
33+
- fixed various bugs
234

335
## 1.0.0
436

README.md

Lines changed: 54 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
# OpenVPN WebAdmin 1.1.0
1+
# OpenVPN WebAdmin 1.2.0
22

33
You lock your front door. But why do you leave the back entrances open? This is the same with almost all Internet accesses to your IoT, webcams and other devices.
44

55
Create and manage your virtual private network via web browser and OpenVPN. This system is a simple and easy method for your private user manager. The system is suitable for families, shared flats or companies that value free software. If you want to become independent from big cloud providers, if you really care about the security of your data without having to reveal the communication to secret services or data collectors, you will find your way with this system.
66

77
![GitHub last commit](https://img.shields.io/github/last-commit/Wutze/OpenVPN-WebAdmin?style=plastic)
88
![GitHub repo size](https://img.shields.io/github/repo-size/Wutze/OpenVPN-WebAdmin?style=plastic)
9-
![GitHub commits since latest release (by SemVer)](https://img.shields.io/github/commits-since/Wutze/OpenVPN-WebAdmin/1.1.0?style=plastic)
9+
![GitHub commits since latest release (by SemVer)](https://img.shields.io/github/commits-since/Wutze/OpenVPN-WebAdmin/1.2.0?style=plastic)
1010

1111
[![Twitter Follow](https://img.shields.io/twitter/follow/huwutze?color=blue&label=HuWutze&logo=Twitter&style=plastic)](https://twitter.de/HuWutze)
1212
[![Liberapay patrons](https://img.shields.io/liberapay/patrons/Wutze?style=plastic)](https://liberapay.com/Wutze/)
@@ -15,16 +15,17 @@ Create and manage your virtual private network via web browser and OpenVPN. This
1515

1616
[![Doku English](https://img.shields.io/badge/Documentation-EN-%230034F0?style=plastic)](doc/doc.en_EN.md)
1717
[![Doku Deutsch/German](https://img.shields.io/badge/Dokumentation-DE-%230034F0?style=plastic)](doc/doc.de_DE.md)
18+
[![Doku Französisch/French](https://img.shields.io/badge/Dokumentation-FR-%230034F0?style=plastic)](doc/doc.fr_FR.md)
1819

19-
[![Update Doku](https://img.shields.io/badge/Update--Doku--1.1.0-DE/EN/FR/RU-%230034F0?style=plastic)](doc/update-to-1.1.0.info.md)
20+
[![Update Doku](https://img.shields.io/badge/Update--Doku--1.2.0-DE/EN/FR/RU-%230034F0?style=plastic)](doc/update-to-1.2.0.info.md)
2021

2122
## Screenshots
2223

2324
Administrate its OpenVPN with a web interface (logs visualisations, users managing...) with MariaDB.
2425

25-
![Previsualisation Login](doc/login.png)
26-
![Previsualisation Administration](doc/overview.png)
27-
![Previsualisation Useradministration](doc/useradmin.png)
26+
![Previsualisation Login](doc/img/login.png)
27+
![Previsualisation Administration](doc/img/overview.png)
28+
![Previsualisation Useradministration](doc/img/useradmin.png)
2829

2930
## Prerequisite
3031

@@ -43,58 +44,92 @@ Administrate its OpenVPN with a web interface (logs visualisations, users managi
4344
* git
4445
* net-tools (for the includes simple firewall)
4546

47+
Only __CentOS__
48+
49+
* tar
50+
4651
## Note MySQL
4752

4853
If you already have a database server, you can also use this one and do not need to install one locally. You only need a database and a username and password
4954

50-
## Manual Install with MySQL-Server
55+
## Manual Install with MySQL-Server (Debian)
5156

5257
````bash
5358
apt-get install openvpn apache2 php-mysql mariadb-server php-zip php unzip git wget sed curl net-tools -y
5459
apt-get install npm nodejs -y
5560
npm install -g yarn
5661
````
5762

58-
## Manual Install without MySQL-Server
63+
## Manual Install without MySQL-Server (Debian)
5964

6065
````bash
6166
apt-get install openvpn default-mysql-client apache2 php-mysql php-zip php unzip git wget sed curl net-tools -y
6267
apt-get install npm nodejs -y
6368
npm install -g yarn
6469
````
6570

71+
## Manual Install with MySQL-Server (CentOS)
72+
73+
````bash
74+
yum install openvpn apache2 php-mysql mariadb-server php-zip php unzip git wget sed curl net-tools tar -y
75+
yum install npm nodejs -y
76+
npm install -g yarn
77+
````
78+
79+
## Manual Install without MySQL-Server (CentOS)
80+
81+
````bash
82+
yum install openvpn default-mysql-client apache2 php-mysql php-zip php unzip git wget sed curl net-tools tar -y
83+
yum install npm nodejs -y
84+
npm install -g yarn
85+
````
86+
6687
## Tested on
6788

6889
* Debian 10/Buster, PHP 7.3.x, 10.3.22-MariaDB.
6990
* RaspberryPi 4 with Debian Buster
7091
* ~~Ubuntu 20.04 Server (Minimal Installation + OpenSSH-Server)~~
92+
* CentOS (view issue #19)
7193

7294
Feel free to open issues. <https://github.com/Wutze/OpenVPN-WebAdmin/issues>
7395

7496
## Installation
7597

98+
![Previsualisation Setup](doc/img/setup.png)
99+
100+
* Currently you can choose from the languages German, English and French
76101
* Setup OpenVPN and the web application:
77102

78103
````code
79-
cd /opt/
80-
git clone https://github.com/Wutze/OpenVPN-WebAdmin openvpn-admin
81-
cd openvpn-admin
82-
cp config.conf.sample config.conf
104+
cd /opt/
105+
git clone https://github.com/Wutze/OpenVPN-WebAdmin openvpn-admin
106+
cd openvpn-admin
107+
cp installation/config.conf.sample installation/config.conf
83108
84109
# Edit your config.conf e.g. with nano
85-
nano config.conf
110+
nano installation/config.conf
111+
112+
# start main installation
113+
./install.sh
114+
````
115+
116+
### Note
86117

87-
# Beginn main installation
88-
./install.sh
118+
The following message is displayed during installation:
119+
120+
````bash
121+
Common Name (eg: your user, host, or server name) [Easy-RSA CA]:
89122
````
90123

124+
You can simply confirm this with Enter without any input.
125+
91126
* Setup the web server (Apache, NGinx...) to serve the web application. Using the example below.
92127

93128
````code
94-
nano /etc/apache2/sites-enabled/[ apache config ]
129+
nano /etc/apache2/sites-enabled/[ apache config ]
95130
````
96131

97-
* You must reboot the server after installation, otherwise the vpn server will not start correctly and no connection will be established!
132+
* You must **reboot** the server after installation, otherwise the vpn server will not start correctly and no connection will be established!
98133

99134
* Finally, create a port forwarding on your Internet Router to this VPN-Server. Check the documentation of the router manufacturer or search the Internet for instructions.
100135

@@ -193,17 +228,6 @@ AccessFileName .htaccess
193228
</VirtualHost>
194229
````
195230

196-
### Changes from the original (fixes from original issues)
197-
198-
* Support use of Mysql on different server #49
199-
* Can it change bower to Yarn #155
200-
* All other entries are not very helpful for the functions. However, some have been changed in this way, as you can now modify the server.conf within the system.
201-
202-
## Use of
231+
### Hardware-Preview
203232

204-
* [admin-lte](https://adminlte.io/)
205-
* [Bootstrap](https://github.com/twbs/bootstrap)
206-
* [Bootstrap Table](http://bootstrap-table.wenzhixin.net.cn/)
207-
* [Bootstrap Datepicker](https://github.com/eternicode/bootstrap-datepicker)
208-
* [JQuery](https://jquery.com/)
209-
* [X-editable](https://github.com/vitalets/x-editable)
233+
![Previsualisation Preview OpenVPN-WebAdmin-Server](doc/img/19zoll.png)

doc/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Documentation Section OpenVPN-WebAdmin

doc/development.md

Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
# Devemlopment (DE/EN/FR)
2+
3+
## Screenshots
4+
5+
![Previsualisation Development Button](doc/img/dev1.png)
6+
![Previsualisation Development Overview](doc/img/dev2.png)
7+
8+
## Einführung DE
9+
10+
Sobald in Eurer config.php dieser Eintrag vorhanden ist, wird die Webseite, wie im Screenshot zu erkennen, ergänzt. Der Button __Debug__ bringt die zu überwachenden Variablen dann zur Anzeige. Sollte ein Fehler im PHP-Script sein, undefinierte Variablen oder sonstiges, wird der Button rot anfangen zu blinken. Im geöffneten Debugging-Fenster wird dann der jeweils letzte PHP-Fehler im errorhandler angezeigt, der sich dann im automatisch erweiterten Modus befindet. Überwachte Variablen könnt ihr nun ausblenden, vergrößern oder maximieren. Nach jedem Reload der Webseite werden diese aber wieder zur Anzeige gebracht.
11+
12+
Zusätzlich wird ein neuer Menüeintrag __Dev__ eingefügt, der eine eigene "Webseite" zur Anzeige bringt. Die Datei __dev/dev.php__ kann dann so von Euch editiert werden, als sei es eine eigenständnige Seite, die innerhalb des Main-Contents angezeigt wird.
13+
14+
````php
15+
/**
16+
* only for development!
17+
* please comment out if no longer needed!
18+
* comment out the "define function" to enable
19+
*/
20+
define('dev','dev/dev.php');
21+
if (defined('dev')){
22+
include_once('dev/class.dev.php');
23+
}
24+
````
25+
26+
Ihr habt an jeder Stelle im Code die Möglichkeit neue Aufrufe hinzuzufügen mit diesem Code:
27+
28+
````php
29+
(defined('dev'))? $GLOBALS['devint']->collect('broker',$variable) : "";
30+
````
31+
32+
Was hier noch mit __broker__ bezeichnet ist, sollte durch Euch einen aussagefähigen Namen bekommen, damit die Herkunft der zu überwachenden Variable erkannt werden kann. Gefolgt von der zu überwachenden Variablen.
33+
34+
Möchtet Ihr das Script zwischendrin abbrechen, um den automatischen Reload der Webseite zu unterbinden, dann genügt folgender Aufruf:
35+
36+
````php
37+
(defined('dev'))? $GLOBALS['devint']->ends() : "";
38+
````
39+
40+
Daraufhin wird das Script abgebrochen und alle bis dahin gesammelten Variablen werden zur Anzeige gebracht.
41+
42+
Ein weiterer Aufruf kann über den __error_handler__ so erfolgen:
43+
44+
````php
45+
trigger_error('Irgend eine Aussage: '. $variable);
46+
````
47+
48+
Hierbei wird dann aber lediglich der letzte aller PHP-Fehler zur Anzeige gebracht. Ihr solltet mit diesem Einsatz vorsichtig sein, da viele PHP-Fehler sonst nicht zur Anzeige kommen werden.
49+
50+
## Introduction EN
51+
52+
As soon as this entry is available in your config.php, the website will be added as shown in the screenshot. The __Debug__ button will then display the variables to be monitored. If there is an error in the PHP script, undefined variables or other things, the button will start flashing red. In the opened debugging window the last PHP error is displayed in the errorhandler, which is then in automatically extended mode. You can now hide, enlarge or maximize monitored variables. After each reload of the web page they will be displayed again.
53+
54+
In addition, a new menu entry __Dev__ is added, which displays a new "web page". The file __dev/dev.php__ can then be edited by you as if it were a separate page that is displayed within the main content.
55+
56+
Translated with www.DeepL.com/Translator (free version)
57+
58+
````php
59+
/**
60+
* only for development!
61+
* please comment out if no longer needed!
62+
* comment out the "define function" to enable
63+
*/
64+
define('dev', 'dev/dev.php');
65+
if (defined('dev')){
66+
include_once('dev/class.dev.php');
67+
}
68+
````
69+
70+
You have the possibility to add new calls with this code at any place in the code:
71+
72+
````php
73+
(defined('dev))? $GLOBALS['devint']->collect('broker',$variable) : "";
74+
````
75+
76+
What is marked __broker__ here should be given a meaningful name by you, so that the origin of the variable to be monitored can be identified. Followed by the variable to be monitored.
77+
78+
If you want to abort the script in between to stop the automatic reload of the website, the following call is sufficient:
79+
80+
````php
81+
(defined('dev))? $GLOBALS['devint']->ends() : "";
82+
````
83+
84+
The script is then aborted and all variables collected up to that point are displayed.
85+
86+
A further call can be made using the __error_handler__ like this:
87+
88+
````php
89+
trigger_error('Any statement: '. $variable);
90+
````
91+
92+
However, only the last of all PHP errors will be displayed. You should be careful with this use, otherwise many PHP errors will not be displayed.
93+
94+
## Introduction FR
95+
96+
Dès que cette entrée sera disponible dans votre config.php, le site sera ajouté comme indiqué dans la capture d'écran. Le bouton __Debug__ affichera alors les variables à surveiller. S'il y a une erreur dans le script PHP, des variables indéfinies ou d'autres choses, le bouton se met à clignoter en rouge. Dans la fenêtre de débogage ouverte, la dernière erreur PHP est affichée dans le gestionnaire d'erreurs, qui est alors en mode automatiquement étendu. Vous pouvez maintenant cacher, agrandir ou maximiser les variables surveillées. Après chaque rechargement de la page web, elles seront à nouveau affichées.
97+
98+
En outre, une nouvelle entrée de menu __Dev__ est ajoutée, qui affiche une nouvelle "page web". Le fichier __dev/dev.php__ peut ensuite être édité par vous comme s'il s'agissait d'une page séparée qui s'affiche dans le contenu principal.
99+
100+
````php
101+
/**
102+
* only for development!
103+
* please comment out if no longer needed!
104+
* comment out the "define function" to enable
105+
*/
106+
define('dev', 'dev/dev.php');
107+
if (defined('dev')){
108+
include_once('dev/class.dev.php');
109+
}
110+
````
111+
112+
Vous avez la possibilité d'ajouter de nouveaux appels avec ce code à n'importe quel endroit du code :
113+
114+
````php
115+
(define ('dev)) ? $GLOBALS['devint']->collect('broker',$variable) : "" ;
116+
````
117+
118+
Vous devez donner un nom significatif à ce qui est marqué ici __broker__, afin que l'origine de la variable à surveiller puisse être identifiée. Suivi de la variable à surveiller.
119+
120+
Si vous souhaitez interrompre le script entre-temps pour arrêter la recharge automatique du site, l'appel suivant est suffisant :
121+
122+
````php
123+
(define ('dev)) ? $GLOBALS['devint']->ends() : "" ;
124+
````
125+
126+
Le script est alors interrompu et toutes les variables collectées jusqu'à ce moment sont affichées.
127+
128+
Un autre appel peut être effectué à l'aide du __error_handler__ comme ceci :
129+
130+
````php
131+
trigger_error('Toute déclaration : '. $variable) ;
132+
````
133+
134+
Toutefois, seule la dernière de toutes les erreurs PHP sera affichée. Vous devez faire attention à cette utilisation, sinon de nombreuses erreurs PHP ne seront pas affichées.
135+
136+
Traduit avec www.DeepL.com/Translator (version gratuite)

doc/doc.de_DE.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,3 +110,7 @@ echo GET_Lang::nachricht("4","errormessage");
110110
````
111111

112112
Dieser Eintrag würde den Schlüssel 4 aus dem Array __errormessage__ ausgeben.
113+
114+
## Angepasste Fehlerseiten
115+
116+
Seit Version 1.2.0 habt Ihr die Möglichkeit eigene Fehlerseiten zu kreieren. Die Fehlerseiten werden immer mit dem Eintrag der Login Seite ausgerufen und müssen demnach auch im entsprechenden Ordner - siehe "Konfigurationsdatei config.php" - als error.php vorhanden sein.

doc/doc.en_EN.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,4 +111,8 @@ echo GET_Lang::message("4", "errormessage");
111111

112112
This entry would output key 4 from the array __errormessage__.
113113

114+
## Customized error pages
115+
116+
Since version 1.2.0 you have the possibility to create your own error pages. The error pages are always called up with the entry of the login page and must therefore also be available in the corresponding folder - see "Configuration file config.php" - as error.php.
117+
114118
Translated with www.DeepL.com/Translator (free version)

0 commit comments

Comments
 (0)