User:Pedro Sá Couto/Prototyping 5th/Flask App/Raspberry Pi into NGINX server: Difference between revisions
(Blanked the page) Tag: Blanking |
No edit summary |
||
(13 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
=RASPI CONFIG= | |||
===01 Format SDcard to FAT32=== | |||
===02 Flash SDcard with Linux ISO=== | |||
:Raspbian Buster Light, https://www.raspberrypi.org/downloads/raspbian/ | |||
::you can use dd or a mounter like etcher https://www.balena.io/etcher/ | |||
===03 Default login=== | |||
:Login: pi | |||
:Password: raspberry | |||
===04 SSH config=== | |||
<pre style="color: silver; background: black;"> | |||
$ cd /boot | |||
$ sudo touch ssh | |||
$ sudo reboot | |||
</pre> | |||
===05 Change hostname=== | |||
<pre style="color: silver; background: black;"> | |||
$ sudo raspi-config | |||
</pre> | |||
:Item no. 2 on the menu: Network Options | |||
===06 Add new user=== | |||
<pre style="color: silver; background: black;"> | |||
$ sudo adduser <username> | |||
</pre> | |||
===07 Add new user to sudo=== | |||
<pre style="color: silver; background: black;"> | |||
$ sudo adduser <username> sudo | |||
</pre> | |||
===08 Change su/root password=== | |||
<pre style="color: silver; background: black;"> | |||
$ sudo passwd root | |||
</pre> | |||
===09 Setting locale=== | |||
<pre style="color: silver; background: black;"> | |||
$ su | |||
$ echo "LC_ALL=en_US.UTF-8" >> /etc/environment | |||
$ echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen | |||
$ echo "LANG=en_US.UTF-8" > /etc/locale.conf | |||
$ locale-gen en_US.UTF-8 | |||
</pre> | |||
===10 Setting locale=== | |||
:https://www.raspberrypi-spy.co.uk/2019/02/setting-up-ssh-keys-on-the-raspberry-pi/ | |||
<pre style="color: silver; background: black;"> | |||
$ cd ~ | |||
$ mkdir .ssh | |||
$ cd .ssh | |||
$ touch authorized_keys | |||
$ touch config | |||
$ chmod 700 ~/.ssh | |||
$ chmod 600 ~/.ssh/authorized_keys | |||
$ cd ~/.ssh | |||
$ ssh-keygen | |||
$ cat id_rsa.pub >> authorized_keys | |||
$ sudo apt-get install putty-tools | |||
$ puttygen id_rsa -o id_rsa.ppk | |||
</pre> | |||
===11 Get the public key onto RPI=== | |||
:Copy the contents of '''id_rsa.pub''' from you machine | |||
<pre style="color: silver; background: black;"> | |||
$ cat <path to id_rsa.pub> | |||
</pre> | |||
:Paste and save them into authorized_keys file on RPi | |||
<pre style="color: silver; background: black;"> | |||
$ cd ~/.ssh | |||
$ sudo nano authorized_keys | |||
</pre> | |||
===12 Set static IP address=== | |||
:Check gateway | |||
<pre style="color: silver; background: black;"> | |||
$ sudo route -n | |||
</pre> | |||
:Open etc config | |||
<pre style="color: silver; background: black;"> | |||
$ sudo vim /etc/dhcpcd.conf | |||
</pre> | |||
:Paste these lines in the top | |||
<pre> | |||
#Static IP text block | |||
interface eth0 | |||
static ip_address=192.168.1.75 | |||
static routers=192.168.1.1 | |||
static domain_name_servers=8.8.8.8 8.8.4.4 | |||
</pre> | |||
===13 Setup fast ssh on your machine=== | |||
<pre style="color: silver; background: black;"> | |||
$ cd ~/.ssh | |||
$ nano config | |||
</pre> | |||
<pre> | |||
Host nginxhost | |||
User <username> | |||
Hostname 192.168.1.75 | |||
Port 22 | |||
Identityfile /path/to/.ssh/id_rsa | |||
Serveraliveinterval 30 | |||
</pre> | |||
===14 Disable pwd and root login=== | |||
:Uncomment PasswordAuthentication and set it to no | |||
:Uncomment PermitRootLogin prohibit-password | |||
<pre style="color: silver; background: black;"> | |||
$ sudo nano /etc/ssh/sshd_config | |||
</pre> | |||
:Reload SSH | |||
<pre style="color: silver; background: black;"> | |||
$ sudo /etc/init.d/ssh restart | |||
</pre> | |||
:Reboot RPi | |||
<pre style="color: silver; background: black;"> | |||
$ sudo reboot | |||
</pre> | |||
===15 Remove pi user=== | |||
<pre style="color: silver; background: black;"> | |||
$ sudo pkill -u pi | |||
$ sudo deluser pi | |||
</pre> | |||
=NGINX CONFIG= | |||
===01 Install NGINX=== | |||
<pre style="color: silver; background: black;"> | |||
$ sudo apt install nginx | |||
</pre> | |||
===02 Switch to root=== | |||
<pre style="color: silver; background: black;"> | |||
$ su | |||
</pre> | |||
===03 Create a non-default mini static website=== | |||
<pre style="color: silver; background: black;"> | |||
# mkdir /var/www/<name> | |||
# echo "OHAI" > /var/www/<name>/index.html | |||
</pre> | |||
===04 Disable nginx default site=== | |||
<pre style="color: silver; background: black;"> | |||
# rm /etc/nginx/sites-enabled/default | |||
</pre> | |||
===05 Create new nginx site config /etc/nginx/sites-available/<name>=== | |||
<pre style="color: silver; background: black;"> | |||
# cd /etc/nginx/sites-available | |||
# nano <name> | |||
</pre> | |||
:Add this to the file | |||
<pre> | |||
server { | |||
listen 80; | |||
root /var/www/<name>; | |||
index index.html; | |||
server_name <name>; | |||
} | |||
</pre> | |||
===06 Enable site=== | |||
<pre style="color: silver; background: black;"> | |||
# ln -s /etc/nginx/sites-available/partyvan /etc/nginx/sites-enabled/ | |||
# service nginx reload | |||
</pre> |
Latest revision as of 22:58, 29 March 2020
RASPI CONFIG
01 Format SDcard to FAT32
02 Flash SDcard with Linux ISO
- Raspbian Buster Light, https://www.raspberrypi.org/downloads/raspbian/
- you can use dd or a mounter like etcher https://www.balena.io/etcher/
03 Default login
- Login: pi
- Password: raspberry
04 SSH config
$ cd /boot $ sudo touch ssh $ sudo reboot
05 Change hostname
$ sudo raspi-config
- Item no. 2 on the menu: Network Options
06 Add new user
$ sudo adduser <username>
07 Add new user to sudo
$ sudo adduser <username> sudo
08 Change su/root password
$ sudo passwd root
09 Setting locale
$ su $ echo "LC_ALL=en_US.UTF-8" >> /etc/environment $ echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen $ echo "LANG=en_US.UTF-8" > /etc/locale.conf $ locale-gen en_US.UTF-8
10 Setting locale
$ cd ~ $ mkdir .ssh $ cd .ssh $ touch authorized_keys $ touch config $ chmod 700 ~/.ssh $ chmod 600 ~/.ssh/authorized_keys $ cd ~/.ssh $ ssh-keygen $ cat id_rsa.pub >> authorized_keys $ sudo apt-get install putty-tools $ puttygen id_rsa -o id_rsa.ppk
11 Get the public key onto RPI
- Copy the contents of id_rsa.pub from you machine
$ cat <path to id_rsa.pub>
- Paste and save them into authorized_keys file on RPi
$ cd ~/.ssh $ sudo nano authorized_keys
12 Set static IP address
- Check gateway
$ sudo route -n
- Open etc config
$ sudo vim /etc/dhcpcd.conf
- Paste these lines in the top
#Static IP text block interface eth0 static ip_address=192.168.1.75 static routers=192.168.1.1 static domain_name_servers=8.8.8.8 8.8.4.4
13 Setup fast ssh on your machine
$ cd ~/.ssh $ nano config
Host nginxhost User <username> Hostname 192.168.1.75 Port 22 Identityfile /path/to/.ssh/id_rsa Serveraliveinterval 30
14 Disable pwd and root login
- Uncomment PasswordAuthentication and set it to no
- Uncomment PermitRootLogin prohibit-password
$ sudo nano /etc/ssh/sshd_config
- Reload SSH
$ sudo /etc/init.d/ssh restart
- Reboot RPi
$ sudo reboot
15 Remove pi user
$ sudo pkill -u pi $ sudo deluser pi
NGINX CONFIG
01 Install NGINX
$ sudo apt install nginx
02 Switch to root
$ su
03 Create a non-default mini static website
# mkdir /var/www/<name> # echo "OHAI" > /var/www/<name>/index.html
04 Disable nginx default site
# rm /etc/nginx/sites-enabled/default
05 Create new nginx site config /etc/nginx/sites-available/<name>
# cd /etc/nginx/sites-available # nano <name>
- Add this to the file
server { listen 80; root /var/www/<name>; index index.html; server_name <name>; }
06 Enable site
# ln -s /etc/nginx/sites-available/partyvan /etc/nginx/sites-enabled/ # service nginx reload