Added files from @jdoty

This commit is contained in:
Simon Beginn
2020-11-28 21:59:07 +01:00
parent 0a861fcd5e
commit 2023a116c1
3 changed files with 101 additions and 1 deletions

View File

@@ -26,7 +26,7 @@ Make sure to support the developers by buying the choosen subscription for your
This is _optional_. You can simply use the default instance of this API (host is noted inside the `setup.sh` script) and profit from "automatic" updates.
Just transfer the `www` files inside a public accessible root-folder on your _seperate_ Apache (really everthing with PHP support works) webserver. Also make sure your instance has a valid SSL-certificate (Let's encrypt is enough), otherwise it may won't work.
When you want to test your instance, just open the public accessible url in your browser and append `/notification` to it - when you see some JSON with the text, everthing worked!
A example Apache install process can be found [here](docs/apacheinstall.md). When you want to test your instance, just open the public accessible url in your browser and append `/notification` to it - when you see some JSON with the text, everthing worked!
### Nett2Know ###
* This modification will also block any communication to the Pritunl servers - so no calling home :)

View File

@@ -0,0 +1,41 @@
<IfModule mod_ssl.c>
<VirtualHost *:443>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.example.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# Options Indexes FollowSymLinks MultiViews
# AllowOverride All
# Require all granted
<Directory /var/www/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
</VirtualHost>
</IfModule>

59
docs/installapache.md Normal file
View File

@@ -0,0 +1,59 @@
First you want to install the apache2.
`sudo apt-get install apache2`
After install all of the relevent apache modules:
`sudo apt-get -y install php7.4-mysql php7.4-curl php7.4-gd php7.4-intl php-pear php-imagick php7.4-imap php-memcache`
Then install certbot for free ssl certs :
`sudo apt-get install -y certbot`
After this then create a basic site config for the fake api server, do this by creating a file under /etc/apache2/sites-enabled/000-default-le-ssl.conf with the example conf ![example]docs/000-default-le-ssl.conf
Then generate a ssl certificate for the website with certbot.
sudo certbot -d [mypublicallyaccessibledomain]
Once this is done you should check if you have all of the required loaded php modules required for this server. You can check this by running `sudo apache2ctl -M`
and the output should look be something like
`sudo apache2ctl -M
Loaded Modules:
core_module (static)
so_module (static)
watchdog_module (static)
http_module (static)
log_config_module (static)
logio_module (static)
version_module (static)
unixd_module (static)
access_compat_module (shared)
alias_module (shared)
auth_basic_module (shared)
authn_core_module (shared)
authn_file_module (shared)
authz_core_module (shared)
authz_host_module (shared)
authz_user_module (shared)
autoindex_module (shared)
deflate_module (shared)
dir_module (shared)
env_module (shared)
filter_module (shared)
http2_module (shared)
mime_module (shared)
mpm_prefork_module (shared)
negotiation_module (shared)
php7_module (shared)
proxy_module (shared)
proxy_fcgi_module (shared)
reqtimeout_module (shared)
rewrite_module (shared)
setenvif_module (shared)
socache_shmcb_module (shared)
ssl_module (shared)
status_module (shared)`
then clone this repo if you've not done this already and cd into the root of the project
`git clone https://gitlab.simonmicro.de/simonmicro/pritunl-fake-api.git`
`cd ./pritunl-fake-api`
After this is done copy over the API server docs to the server and set permissions
`sudo cp -R ./www/* /var/html/`
` sudo chown www-data:www-data -R /var/www/html`
`sudo chmod -R 774 /var/www/html/
Then restart apache2 to make sure all of the configuration is loaded
`sudo systemctl restart apache2`
Once this is done you should get a response when you visit https://[mydomain]/notification