Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
Update instructions to include details of configuration items.
Added requirements for raspberryPi
Added Alias commands to apache site conf to allow local images to display correctly
Acknowledgements for improvement plugins
  • Loading branch information
kingy444 authored Mar 20, 2017
1 parent 4127f2f commit e0b884c
Showing 1 changed file with 59 additions and 6 deletions.
65 changes: 59 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,25 @@ gunicorn openvpn-monitor -b 0.0.0.0:80

### Install dependencies and configure apache


##### raspberryPi
raspberryPi follows instructions set out in Debian / Ubuntu below, with the exception of the python-semantic-version. With one exception.
You will need to install this manually from PIP using the below command.
When following the Debian / Ubuntu instructions remember to remove the python-semantic-version item from the apt-get command

```shell
pip install semantic_version
```

#### Debian / Ubuntu
The below will install and configure the web application, applying relative Alias commands to access local resources

```shell
apt-get -y install python-geoip python-ipaddr python-humanize python-bottle python-semantic-version apache2 libapache2-mod-wsgi git wget
echo "WSGIScriptAlias /openvpn-monitor /var/www/html/openvpn-monitor/openvpn-monitor.py" > /etc/apache2/conf-available/openvpn-monitor.conf
echo "Alias /images/ /var/www/html/openvpn-monitor/images/" > /etc/apache2/conf-available/openvpn-monitor.conf
echo "Alias /images/ /var/www/html/openvpn-monitor/js/" >> /etc/apache2/conf-available/openvpn-monitor.conf
echo "Alias /images/ /var/www/html/openvpn-monitor/css/" >> /etc/apache2/conf-available/openvpn-monitor.conf
echo "WSGIScriptAlias /openvpn-monitor /var/www/html/openvpn-monitor/openvpn-monitor.py" >> /etc/apache2/conf-available/openvpn-monitor.conf
a2enconf openvpn-monitor
systemctl restart apache2
```
Expand All @@ -53,7 +67,6 @@ echo "WSGIScriptAlias /openvpn-monitor /var/www/html/openvpn-monitor/openvpn-mon
systemctl restart httpd
```


### Checkout OpenVPN-Monitor

```shell
Expand All @@ -65,7 +78,7 @@ git clone https://github.com/furlongm/openvpn-monitor.git
### Configure OpenVPN

Add the following line to your OpenVPN server configuration to run the
management console on 127.0.0.1 port 5555:
management console on 127.0.0.1 port 5555: (This port is arbitary, you may choose any)

```
management 127.0.0.1 5555
Expand All @@ -87,13 +100,51 @@ mv GeoLiteCity.dat GeoIPCity.dat

### Configure OpenVPN-Monitor

The example configuration file `/var/www/html/openvpn-monitor/openvpn-monitor.conf`
The example configuration file `/var/www/html/openvpn-monitor/openvpn-monitor.conf.example`
should give some indication of how to set site name, add a logo, etc. You can
also set a default location (latitude and longitude) for the embedded maps.
If not set, the default location is Melbourne, Australia.

Edit `/var/www/html/openvpn-monitor/openvpn-monitor.conf` to match your site.

Complete the following by editting `/var/www/html/openvpn-monitor/openvpn-monitor.conf` to match your site.

#### OpenVPN-Monitor
The below should help you quickly configure your vpn monitor with relevant settings

| Option | Default | Description |
| --- | --- | --- |
| site | Example | The name of the monitoring box - Free text, can be anything |
| logo | None | Optional logo. This will be displayed in the top right. No default provided |
| latitude | -37.8067 | Latitude location for the centre of map and marker icon to be set. Requires longitude or no action is taken. |
| longitude | 144.9635 | Longitude location for the centre of map and marker icon to be set. Requires latitude or no action is taken. |
| Maps | False | Will the site display the map|
| geoip_data | /usr/share/GeoIP/GeoIPCity.dat | GeoLocation data location. Unless you are making locational changes this should not need to be changed. |
| datetime_format | %a %b %d %H:%M:%S %Y | DateTime format for server display |
| marker | False | Display a marker on the map for the OpenVPN-Monitor Box |
| externalip | 0.0.0.0 | External IP of the OpenVPN-Monitor box. If latitude and longitude not specified then this is used to locate the Monitor box |
| pervpn_control | False | Display a layer control to turn of element markers per vpn |
| itemtype_control | False | Display a layer control to turn off element markers per connection type |
| allowFullscreen | False | Allow the map to be displayed in FullScreen mode |

Note: If latitude, longitude and externalip all cannot be validated then Melbourne, Australia becomes the default centre and marker location.

#### Per VPN Settings
The below should help you quickly configure connections to vpns

| Option | Default | Description |
| --- | --- | --- |
| host | localhost | Specifies the IP or DNS name of the VPN management interface to connect. |
| port | 5555 | Specifies the Port of the management internace to connect. |
| name | default | Free Text. The name of the VPN Connection |
| show_disconnect | False | Show a button to disconnect clients |
| externalip | 0.0.0.0 | External IP of the VPN Server. If latitude and longitude not specified then this is used to locate the VPN |
| latitude | -35.308065 | Latitude location for the vpn marker icon. Requires longitude or no action is taken. |
| longitude | 149.124521 | Longitude location for the vpn marker icon. Requires Latitude or no action is taken. |
| marker | False | Display a marker on the map for the VPN Server |
| connection_lines | False | Display connection lines between the Server and the Clients. Requires marker to be on for VPN. |

Note: If latitude, longitude and externalip all cannot be validated then Canberra, Australia becomes the default marker location.

### Your Done
You should now be able to navigate to `http://myipaddress/openvpn-monitor`


Expand All @@ -119,3 +170,5 @@ the COPYING file.
Flags are created by Matthias Slovig ([email protected]) and are licensed under
Creative Commons License Deed Attribution-ShareAlike 3.0 Unported
(CC BY-SA 3.0). See http://flags.blogpotato.de/ for more details.
Fullscreen control provided by https://github.com/brunob/leaflet.fullscreen
Spiderfy (Closeby Marker control) provided by https://github.com/jawj/OverlappingMarkerSpiderfier-Leaflet

0 comments on commit e0b884c

Please sign in to comment.