annotate docs/apache/install.md @ 0:b51518614818 default tip

New Files
author Pluto <meokcin@gmail.com>
date Tue, 03 Sep 2024 15:57:25 +0800
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
1 # HowTo install the selfhost api variant on Apache
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
2
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
3 First you want to install the apache2.
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
4 ```bash
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
5 sudo apt-get install apache2
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
6 ```
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
7 After install all of the relevent apache modules:
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
8 ```bash
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
9 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
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
10 ```
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
11 Then install certbot for free ssl certs :
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
12 ```bash
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
13 sudo apt-get install -y certbot
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
14 ```
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
15 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/apache/000-default-le-ssl.conf).
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
16
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
17 Then generate a ssl certificate for the website with certbot.
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
18 ```bash
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
19 sudo certbot -d [PUBLIC_ACCESSIBLE_API_DOMAIN]
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
20 ```
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
21 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
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
22 ```
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
23 sudo apache2ctl -M
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
24 Loaded Modules:
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
25 core_module (static)
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
26 so_module (static)
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
27 watchdog_module (static)
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
28 http_module (static)
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
29 log_config_module (static)
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
30 logio_module (static)
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
31 version_module (static)
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
32 unixd_module (static)
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
33 access_compat_module (shared)
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
34 alias_module (shared)
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
35 auth_basic_module (shared)
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
36 authn_core_module (shared)
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
37 authn_file_module (shared)
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
38 authz_core_module (shared)
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
39 authz_host_module (shared)
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
40 authz_user_module (shared)
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
41 autoindex_module (shared)
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
42 deflate_module (shared)
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
43 dir_module (shared)
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
44 env_module (shared)
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
45 filter_module (shared)
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
46 http2_module (shared)
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
47 mime_module (shared)
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
48 mpm_prefork_module (shared)
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
49 negotiation_module (shared)
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
50 php7_module (shared)
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
51 proxy_module (shared)
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
52 proxy_fcgi_module (shared)
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
53 reqtimeout_module (shared)
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
54 rewrite_module (shared)
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
55 setenvif_module (shared)
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
56 socache_shmcb_module (shared)
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
57 ssl_module (shared)
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
58 status_module (shared)
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
59 ```
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
60
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
61 Then clone this repo if you've not done this already and `cd` into the root of the project:
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
62 ```bash
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
63 git clone https://gitlab.simonmicro.de/simonmicro/pritunl-fake-api.git
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
64 cd ./pritunl-fake-api
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
65 ```
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
66 After this is done copy over the API server files to the server and set permissions
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
67 ```bash
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
68 sudo cp -R ./www/* /var/html/
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
69 sudo chown www-data:www-data -R /var/www/html
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
70 sudo chmod -R 774 /var/www/html/
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
71 ```
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
72 Then restart apache2 to make sure all of the configuration is loaded
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
73 ```bash
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
74 sudo systemctl restart apache2
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
75 ```
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
76 Once this is done you should get a response when you visit `https://[PUBLIC_ACCESSIBLE_API_DOMAIN]/notification`!