generated from mirzaev/pot-php
50 lines
2.6 KiB
Markdown
Executable File
50 lines
2.6 KiB
Markdown
Executable File
# Pechatalka
|
|
Site and chat-robot constructor for the Svoboda typography
|
|
|
|
# Installation
|
|
Before process any command think about **what it does** and whether the **paths** are specified correctly<br>
|
|
|
|
## NGINX
|
|
### Create the NGINX server
|
|
You can copy an example of the server file from here: `/examples/nginx/pechatalka.conf`<br>
|
|
<small><i>I prefer to rename nginx config files to domain names. For example: `pechatalka.kodorvan.tech`</i></small><br>
|
|
|
|
<i>The file will be half commented out specifically to start the server for generating the TLS/SSL certificate</i><br>
|
|
|
|
1. `cd /examples/nginx`<br>
|
|
2. `sudo cp pechatalka.conf /etc/nginx/sites-avaiable/pechatalka.conf`<br>
|
|
3. `sudo nvim /etc/nginx/sites-avaiable/pechatalka.conf`<br>
|
|
<small>3.1 <i>Customize the file according to your requirements</i></small><br>
|
|
4. `sudo ln -s /etc/nginx/sites-avaiable/pechatalka.conf /etc/nginx/sites-enabled/pechatalka.conf`<br>
|
|
5. `sudo nginx -t`<br>
|
|
<small>5.1 <i>Make sure that <b>NGINX does not throw errors</b>, otherwise proceed to the instructions for generate a TLS/SSL certificate</i></small><br>
|
|
6. `sudo service nginx restart`<br>
|
|
|
|
### Add mime-type recognition for javascript modules
|
|
<small>Edit the file: `/etc/nginx/mime.types`</small><br>
|
|
**From:** `application/javascript js;`<br>
|
|
**To:** `application/javascript js mjs;`
|
|
|
|
### Generate a TLS/SSL sertificate (via [certbot](http://certbot.eff.org/) for [ubuntu](https://ubuntu.com/))
|
|
1. `sudo apt install certbot python3-certbot-nginx`<br>
|
|
2. `sudo certbot certonly --nginx`<br>
|
|
<small><i>The **domain** must already be **bound** to the **IP-address** of the server by `CNAME`, `A` or `AAAA` record</i></small><br>
|
|
3. Uncomment and reconfigure the nginx server file
|
|
4. `sudo nginx -t`<br>
|
|
<small>4.1 <i>Make sure that <b>NGINX does not throw errors</b></i></small><br>
|
|
5. `sudo service nginx restart`
|
|
|
|
### Set up firewall rules for HTTP and HTTPS requests (for [ubuntu](https://ubuntu.com/))
|
|
1. `sudo ufw allow "NGINX Full"`<br>
|
|
<small>1.1. <i>Make sure that the <b>port for SSH connection</b> is open</i></small><br>
|
|
2. `sudo ufw allow 22`<br>
|
|
3. `sudo ufw enable`
|
|
|
|
## SystemD (or any alternative you like)
|
|
You can copy an example of the systemd file from here: `/examples/systemd/arming.service`<br>
|
|
1. `cd examples/systemd`<br>
|
|
2. `sudo cp pechatalka.service /etc/systemd/system/pechatalka.service && sudo chmod +x /etc/systemd/system/pechatalka.service`<br>
|
|
3. `sudo nvim /etc/systemd/system/pechatalka.service`<br>
|
|
<small>3.1 <i>Customize the file according to your requirements</i></small><br>
|
|
4. `sudo systemctl daemon-reload`<br>
|
|
3. `sudo systemctl enable pechatalka`<br> |