Skip to content

Commit

Permalink
Update docs to add instructions for vanilla Ubuntu
Browse files Browse the repository at this point in the history
  • Loading branch information
jwsi committed May 14, 2020
1 parent b7a1548 commit bd5ac67
Show file tree
Hide file tree
Showing 22 changed files with 234 additions and 19 deletions.
File renamed without changes
Binary file added source/_static/setup-guides/create-group.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
File renamed without changes
Binary file added source/_static/setup-guides/ppa-confirm.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
Binary file removed source/_static/simple-setup/create-group.png
Binary file not shown.
2 changes: 1 addition & 1 deletion source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ which can be downloaded for offline use.
.. toctree::
:maxdepth: 2

simple-setup
setup-guides/index
website/index
servers/index
clients/index
Expand Down
13 changes: 13 additions & 0 deletions source/setup-guides/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Setup Guides
~~~~~~~~~~~~

This chapter of the documentation site contains step by step instructions on how to set up UH VPN on a particular
platform. The guides featured here cater for both cloud platforms and on-premise hardware and can be adapted
to suit a particular need.

If more information about a particular feature is required whilst reading the setup guides, the extensive
documentation featured on this site details all aspects of UH VPN to cater for advanced users.

.. toctree::
Digital Ocean (Very Easy) <../simple-setup>
Ubuntu (Easy) <ubuntu>
202 changes: 202 additions & 0 deletions source/setup-guides/ubuntu.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,202 @@
Ubuntu Setup Guide
==================

This guide is a walkthrough tutorial on setting up UH VPN for a machine running Ubuntu. This machine
can be either virtual or physical, but must satisfy the following requirements:

* **OS**: Ubuntu 18.04
* **RAM**: minimum 100MB (1GB preferable)
* **Network**: Machine accessible either by public IP address, hostname or dynamic DNS.

This particular guide can be adapted to suit any cloud providers offering Ubuntu instances
as well as on-premise machines configured with Ubuntu.

If you wish to explore UH VPN advanced options or modify the sample deployments consult the extensive
documentation on this site.

- `Step 1: Satisfying prerequisites`_
- `Step 2: Create a Server on the UH VPN Website`_
- `Step 3: Configuring the Ubuntu Server`_
- `Step 4: Installing Client Apps`_


Step 1: Satisfying prerequisites
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

1. Note down the public IPv4 address of the Ubuntu machine. This IP address needs to point directly
at the Ubuntu machine and not at a router or intermediate gateway.

2. Ensure that port ``UDP 443`` is open on your Ubuntu instance if a firewall is configured.
This guide will set up UH VPN clients to connect over ``UDP 443`` so this port must be open.

3. Ensure that either an SSH connection or console access to the machine is available.


Step 2: Create a Server on the UH VPN Website
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The UH VPN `website`_ is the command and control centre for the VPN deployment. All VPN settings
are managed through this interface. The first step (if you haven't done so already) is to
`create an account`_. Then once logged in, click the management tab and then press the
"Create New Group" button. One is then presented with the following page:

.. image:: /_static/setup-guides/create-group.png
:width: 600
:alt: Create Group Page

If you're just using UH VPN for personal use, go ahead and click the "Free Plan" button. However,
if you'd like access to advanced features such as custom app branding, unlimited devices and more,
then choose the premium plan. A breakdown of the options can be seen on the `Creating Groups`_ docs page.

Choose an appropriate name for the group E.g. Personal and then leave the timeout set at 86400.
Then press the "Submit" button and the group will be created.

Click on the group name that has just been created and the following page will be presented:

.. image:: /_static/setup-guides/group-page.png
:width: 600
:alt: Group Page

The first step is to create a UH VPN server, click the "Create New Server" button and the following
page will be presented:

.. image:: /_static/setup-guides/create-server.png
:width: 600
:alt: Create New Server

Enter the following parameters:

* **Name** : UDP
* **Appearance Order** : 0
* **Domain/IP Address** : IPv4 Address noted from the Ubuntu machine earlier
* **Port** : 443
* **UDP** : Enabled
* **IPv4 Tunnel Network** : 172.31.255.0/24
* **IPv6 Tunnel Network** : fe80::/64
* **DNS Servers** : 1.1.1.1, 1.0.0.1
* **Add Forwarding Rule** : Enabled
* **Add NAT Rule** : Enabled

Press submit and the server will then be created.

.. note::
A full description of all parameters can be found on the `server creation docs page`_.

Once created, press the |key_icon| icon to obtain a UH VPN API token for the server. Copy
and paste this to somewhere safe as it'll be used later.

Step 3: Configuring the Ubuntu Server
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Now it's time to SSH into the Ubuntu Server. The first step is to add Ultra Horizon's
package archive to the system sources:

.. code-block:: bash
sudo add-apt-repository ppa:ultrahorizon/ppa
.. image:: /_static/setup-guides/ppa-confirm.png
:width: 500
:alt: PPA Confirm

A prompt will then display information about the repository, accept this, then download the package information
from this newly added archive:

.. code-block:: bash
sudo apt-get update
Once this is done, UH VPN Server software can now be downloaded through the apt package manager.

.. code-block:: bash
sudo apt-get install uh-vpn-server
Once installed check that the UH VPN Service is running:

.. code-block:: bash
sudo service uh-vpn-server status
The output should say **active (running)** as depicted below:

.. image:: /_static/servers/service_status.png
:width: 600
:alt: Expected status

Then to ensure UH VPN Server starts at boot, issue the following command:

.. code-block:: bash
sudo systemctl enable uh-vpn-server
Next it's time to add the UH VPN Server API token we obtained earlier. This will
enable the UH VPN Server software to set up the VPN server on our Droplet.

.. code-block:: bash
sudo nano /etc/uh-vpn-server/tokens
This will bring up an editor prompt like so:

.. image:: /_static/servers/token_store.png
:width: 600
:alt: Token store

In this example, the token (``0123456...``) has been appended to the file. Once this is done,
save the file and exit the editor (Ctrl-X in nano).

The server is now configured and ready to accept incoming VPN connections!

.. note::
For advanced configurations of the server software follow the `server documentation`_.

Step 4: Installing Client Apps
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This is the final step in the set up process. First login to the UH VPN `website`_ and navigate
to the group you created earlier. Now it's time to make a new person who's authorised to access
the VPN server you just created. Click the "Create New Person" button and the following
page will be presented:

.. image:: /_static/setup-guides/create-person.png
:width: 600
:alt: Create New Person

Enter your name and email address, then press submit and the person will then be created.

Next it's time to associate a device to the person that's just been created. To do so, click the
name of the person and then press the "Add new device" button and the following page
will be presented:

.. image:: /_static/setup-guides/create-device.png
:width: 600
:alt: Create New Device

Enter the following parameters:

* **Name** : A name for the device. E.g. Android
* **Expiry Date** : Leave unfilled unless you wish to specify a date for device revocation
* **Expiry Time** : Leave unfilled unless you wish to specify a time for device revocation

.. note::
A full description of all parameters can be found on the `device creation docs page`_.

Press submit and the device will then be created. You will then receive an email with a one-time
passcode (OTP). Download the UH VPN app for your platform and enter the OTP code to download
the profile. Then you can **connect and enjoy a fast, secure and private VPN connection!**

.. tip::
Instructions for client apps can be found on the `clients docs page`_.


.. _installation instructions: servers/installation.html
.. _website: https://uh-vpn.com
.. _create an account: https://uh-vpn.com/auth/signup
.. _Creating Groups: website/groups/creating.html
.. _server creation docs page: website/servers/creating.html
.. |key_icon| image:: /_static/icons/key.svg
:alt: Key Icon
.. _server documentation: servers/index.html
.. _device creation docs page: website/devices/creating.html
.. _clients docs page: clients/index.html
36 changes: 18 additions & 18 deletions source/simple-setup.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Simple Setup Guide
==================
Digital Ocean Simple Setup Guide
================================

This guide is a walkthrough tutorial on setting up UH VPN on `Digital Ocean`_. It contains step by step
instructions on how to provision a private cloud server along with all the necessary steps on setting
Expand All @@ -20,20 +20,20 @@ Step 1: Create a Digital Ocean Droplet
First create an account or login at: `Digital Ocean`_. Then click the "Create Droplets" button as shown in
the screenshot below:

.. image:: /_static/simple-setup/do-landing.png
.. image:: /_static/setup-guides/do-landing.png
:width: 600
:alt: DO Landing Page

One is then presented with a droplet creation page as follows:

.. image:: /_static/simple-setup/droplet-creation.png
.. image:: /_static/setup-guides/droplet-creation.png
:width: 600
:alt: Droplet Creation Page

Press the "Marketplace" tab and search for "UH VPN". Once selected, a UH VPN image will
be chosen:

.. image:: /_static/simple-setup/marketplace-tab.png
.. image:: /_static/setup-guides/marketplace-tab.png
:width: 600
:alt: Marketplace Tab

Expand All @@ -53,32 +53,32 @@ Ensure the settings are selected as shown below:
Then press create! The droplet will then begin provisioning and a page similar to the one shown below will
appear:

.. image:: /_static/simple-setup/droplet-provision.png
.. image:: /_static/setup-guides/droplet-provision.png
:width: 600
:alt: Droplet Provisioning Page

Once the provisioning stage has completed, click on the droplet and one will be presented with a page detailing
all aspects of the droplet:

.. image:: /_static/simple-setup/droplet-overview.png
.. image:: /_static/setup-guides/droplet-overview.png
:width: 600
:alt: Droplet Overview Page

Note down the IPv4 address of the droplet as we'll use this later on the UH VPN website. Then click the networking
tab in the droplet overview page. Scroll to the bottom and under the firewalls section press the "Edit" button.

.. image:: /_static/simple-setup/create-firewall.png
.. image:: /_static/setup-guides/create-firewall.png
:width: 600
:alt: Firewall Creation Page

Press the create button, choose a name for the firewall E.g. UH-VPN-Firewall, then ensure the rules
are defined to match the specification below:

.. image:: /_static/simple-setup/inbound-rules.png
.. image:: /_static/setup-guides/inbound-rules.png
:width: 600
:alt: Inbound Rules

.. image:: /_static/simple-setup/outbound-rules.png
.. image:: /_static/setup-guides/outbound-rules.png
:width: 600
:alt: Outbound Rules

Expand All @@ -93,7 +93,7 @@ are managed through this interface. The first step (if you haven't done so alrea
`create an account`_. Then once logged in, click the management tab and then press the
"Create New Group" button. One is then presented with the following page:

.. image:: /_static/simple-setup/create-group.png
.. image:: /_static/setup-guides/create-group.png
:width: 600
:alt: Create Group Page

Expand All @@ -107,14 +107,14 @@ Then press the "Submit" button and the group will be created.

Click on the group name that has just been created and the following page will be presented:

.. image:: /_static/simple-setup/group-page.png
.. image:: /_static/setup-guides/group-page.png
:width: 600
:alt: Group Page

The first step is to create a UH VPN server, click the "Create New Server" button and the following
page will be presented:

.. image:: /_static/simple-setup/create-server.png
.. image:: /_static/setup-guides/create-server.png
:width: 600
:alt: Create New Server

Expand Down Expand Up @@ -145,20 +145,20 @@ Step 3: Configuring the Droplet
Login to the newly created droplet via SSH using the username "root". Once logged in, a UH VPN
setup script will appear:

.. image:: /_static/simple-setup/setup-wizard.png
.. image:: /_static/setup-guides/setup-wizard.png
:width: 400
:alt: Setup Wizard

Simply paste the UH VPN API token obtained in step 2 into the prompt and press Enter:

.. image:: /_static/simple-setup/prompt.png
.. image:: /_static/setup-guides/prompt.png
:width: 450
:alt: Prompt

Only one token is going to be added as we only wish to associate one server to this droplet, so
answer with "n":

.. image:: /_static/simple-setup/complete.png
.. image:: /_static/setup-guides/complete.png
:width: 450
:alt: Complete

Expand All @@ -172,7 +172,7 @@ to the group you created earlier. Now it's time to make a new person who's autho
the VPN server you just created. Click the "Create New Person" button and the following
page will be presented:

.. image:: /_static/simple-setup/create-person.png
.. image:: /_static/setup-guides/create-person.png
:width: 600
:alt: Create New Person

Expand All @@ -182,7 +182,7 @@ Next it's time to associate a device to the person that's just been created. To
name of the person and then press the "Add new device" button and the following page
will be presented:

.. image:: /_static/simple-setup/create-device.png
.. image:: /_static/setup-guides/create-device.png
:width: 600
:alt: Create New Device

Expand Down

0 comments on commit bd5ac67

Please sign in to comment.