1. #### Instalacja systemu

   Pliki pobieramy z oficjalnej dystrybucji linuksa: https://www.raspberrypi.org/downloads/
   Obraz nagrywamy programem Etcher.

2. #### Pozwolenie na połączenie SSH

   W oknie terminala wpisujemy: `sudo raspi-config` A następnie wybieramy - Interfacing Options.
   Idziemy do SSH.
   Wybieramy Yes.
   Klikamy Ok.
   a na koniec Finish.
   Teraz możemy zalogowac sie do naszej maliny za pomocą SSH poprzez sieć lokalną.

3. #### Podstawowa konfiguracja Maliny

   Na początek należy wykonać aktualizację pakietów, więc w konsoli wpisujemy: `sudo apt-get update && sudo apt-get upgrade` `sudo apt update` `sudo apt upgrade`
   Instalacja GIT `sudo apt install -y git`
   Instalacja serwera Apache `sudo apt-get install apache2`
   Instalacja mod_rewrite do Apacha `sudo a2enmod rewrite` potem należy wykonać restart: `systemctl restart apache2`
   Bależy upewenić się że plik konfiguracyjny zawiera następujący wpis:
   `sudo nano /etc/apache2/apache2.conf`
   `<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All # Order allow,deny # Allow from all Require all granted </Directory>`
   instalacja PHP `sudo apt-get install php php-mbstring`
   instalacja biblioteki curl do PHP `sudo apt-get install php-curl` `sudo apt-get install -y php-zip` `sudo apt-get install php-gd` `sudo service apache2 restart` `sudo apt-get install php7.0-curl` `sudo service apache2 restart`
   instalacja biblioteki ZIP do PHP:
   Najpierw sprawdzamy wersję PHP `php --version`
   a następnie instalujemy odpowiednią bibliotekę `sudo apt-get install php7.x-zip` `sudo service apache2 restart` Jeżeli zmianiamy coś w ustawienicha php należy edytować plik php.ini, np. memory_limit na 500M `sudo nano /etc/php/7.4/apache2/php.ini`
   Na koniec zmieniamy uprawnienia do katalogów: `sudo chown -R pi:www-data /var/www/html/` `sudo chmod -R 770 /var/www/html/`

4. #### Konfiguracja dostępu do maliny / zmiana adresu IP, sieć bezprzewodowa

   Zmiana adresu IP:
   `sudo nano /etc/dhcpcd.conf`
   należy dodać lub zmienić następujące wpisy dla właściwych interfejsów eth0 lub wlan0
   dla eth0 `static ip_address=192.168.1.101/24 static routers=192.168.1.1 static domain_name_servers=192.168.1.1`
   dla wlan0 (sieć bezprzewodowa) `static ip_address=192.168.0.201/24 static routers=192.168.1.1 static domain_name_servers=192.168.1.1`
   Edycja połączenia z siecią bezprzewodową: `sudo nano /etc/wpa_supplicant/wpa_supplicant.conf`
   Dodajemy lub modyfikujemy wpis: `network={ ssid="NAZWA_SIECI" psk="HASŁO" key_mgmt=WPA_PSK }`
   ? Klucz key_mgmt=WPA_PSK nie jest wymagany

5. #### Dodatkowe ustawienia

   Instalacja TightVnc o ile jest potrzebna.
   Skrypt i opis pochodzi ze strony: https://webinsider.pl/raspberry-pi-vnc-czyli-pulpit-zdalny/
   W konsoli wpisujemy `sudo apt-get install tightvncserver -y`
   Następnie tworzymy skrypt do automatycznego uruchamiania
   W konsoli wpisujemy `sudo nano /etc/init.d/tightvncserver`
   A następnie wklejamy tam poniższy kod: `#!/bin/sh ### BEGIN INIT INFO # Provides: tightvncserver # Required-Start: $local_fs # Required-Stop: $local_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start/stop tightvncserver ### END INIT INFO # More details see: # http://www.penguintutor.com/linux/tightvnc ### Customize this entry # Set the USER variable to the name of the user to start tightvncserver under export USER=\'pi\' ### End customization required eval cd ~$USER case "$1" in start) su $USER -c \'/usr/bin/tightvncserver :1\' echo "Starting TightVNC server for $USER " ;; stop) pkill Xtightvnc echo "Tightvncserver stopped" ;; *) echo "Usage: /etc/init.d/tightvncserver {start|stop}" exit 1 ;; esac exit 0` Nalezy pamiętać o podmianie na nazego użytkownika (zapewne pi):
   export USER=pi
   Zamiast kulfon” wpiszcie tam własną nazwę użytkownika.
   Następnie w konsoli wpisujemy: `sudo chmod 755 /etc/init.d/tightvncserver` `sudo update-rc.d tightvncserver defaults`
   i uruchamiamy serwer: `/usr/bin/tightvncserver`