Select your language

Raspbian PI OS Buster
https://lemariva.com/blog/2020/08/raspberry-pi-4-ssd-no-microsd-required

* Bootimise probleemid
SSD on aeglane (ei boodi), remont loe https://www.raspberrypi.org/forums/viewtopic.php?t=245931 
Panin taas SD kaard sisse
$ sudo dmesg -C
ühendasin SSD (USB3.0)
$ dmesg
leidsin idVendor=aaaa, idProduct=bbbb
eemalda SSD ja mudi PC- s faili cmdline.txt la lisa kõige ette
usb-storage.quirks=aaaa:bbbb:u / salvesta ja pista PI taha

Hiir ja klaver ei tööta GUI-s ?
Lisasin /boot kataloogi ilma laiendita faili ssh
Nüüd on ok, saab üle ssh töötada -Gui ei ole minu rida.

Secure https://www.raspberrypi.org/documentation/configuration/security.md 
kasutajad / paroolid jms


Staatiline IP
Seadistada ruuteris fix IP vastavalt seadme MAC-le
või 
mudi faili
$ sudo nano /etc/dhcpcd.conf
lisa:
interface eth0
static ip_address=xxxx.xxx.xx.xx/24
static routers=fff.fff.f.f
static domain_name_servers=8.8.8.8 8.8.0.0

Keela wifi ja bluethoot https://raspberrytips.com/disable-wifi-raspberry-pi/ 
mudi faili
$ sudo nano /boot/config.txt
lisa text:
dtoverlay=disable-wifi
dtoverlay=disable-bt
salvesta
peata BT
systemctl disable hciuart
Kas wifi on maas:
$ ifconfig -a

* Uuendamine
$ sudo apt update
$ sudo apt full-upgrade
$ sudo apt clean

* Kui tekkib viga (Temporary failure resolving)  uuendamisel siis kontrolli
sudo nano  /etc/resolv.conf
lisa (muuda) failis rida: nameserver 8.8.8.8

* Installisin NGINX
sudo apt install nginx
serveri start: sudo /etc/init.d/nginx start

* Installi PHP
// https://www.raspberrypi.org/documentation/remote-access/web-server/nginx.md
...
sudo apt install php-fpm
sudo apt install php-xml // !!! muidu annab joomla errori
sudo apt install php-mysql

Muuda faili: sudo nano /etc/nginx/sites-enabled/default
index index.php index.html index.htm;
muuda: rida (siis avanevad ka subdir-id)
vale: try_files $uri $uri/ =404;
uus:  try_files $uri $uri/ /index.php?q=$uri&$args;
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.3-fpm.sock; /// vastavalt php versioonile
}
sudo /etc/init.d/nginx reload

/?/ uuenda php:
/?/ sudo apt-get purge php7.3-common

Pane niginx auto-startima bootimisel: sudo update-rc.d -f nginx defaults;

SSL certifikaat
https://certbot.eff.org/lets-encrypt/ubuntuxenial-nginx.html 
$ sudo certbot --nginx

* Nginx Reverse Proxy
$ cd /etc/nginx/sites-available/
$ sudo nano default
lisa faili midagi oma maitse järgi:
location /.../ {
proxy_pass http://192.x.x.2;
}
testi: 
$ sudo nginx -t
$ sudo /etc/init.d/nginx reload

* Insatalli MariaDB
$ sudo apt-get install mariadb-server
mysql_secure_installation
logi sisse: $ mysql -u root -p
Loo uus db: mysql>CREATE DATABASE database_name;
Loo uus kasutaja (mitte root) / passw: mysql>CREATE USER 'database_user'@'localhost' IDENTIFIED BY 'user_password';
Anna kasutajale (kõik) õigused: mysql>GRANT ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost';
mysql> FLUSH PRIVILEGES;

* Joomla lae alla ja paki lahti uusim versioon
$ sudo wget https://github.com/joomla/joomla-cms/releases/download/3.6.3/Joomla_3.6.3-Stable-Full_Package.zip
$ sudo unzip -x Joomla_3.6.3-Stable-Full_Package.zip
https://docs.joomla.org/Installing_Joomla_on_a_Raspberry_Pi

* conf file peab olema ligipääsetav ja kirjutatav
$ cd /var/www/html
$ sudo touch configuration.php
$ sudo chmod 777 configuration.php
hiljem tagasi: sudo chmod 755 configuration.php
muuda joomla failide omanik/grupp: sudo chown -R www-data.www-data /var/www/...../

* Joomla installimiseks ?
muuda faili:
/var/www/html/installation/sql/mysql/joomla.sql/
asenda failis kõik sünbolid InnoDB -> MyISAM ( nano editoris [Alt]+[r])

* Nginx turvalisus
- peida nginx versioon:
ava fail sudo nano /etc/nginx/nginx.conf
aktiveeri rida server_tokens off;
- peida php versioon
ava fail $  sudo nano /etc/php/7.3/cli/php.ini (vastavalt php versioonile)
muuda rida expose_php = off (enne oli On)

* No-IP DUC
$ cd /usr/local/src
$ sudo wget https://www.noip.com/client/linux/noip-duc-linux.tar.gz
$ sudo tar xzf noip-duc-linux.tar.gz
$ ls kontrolli versiooni nr
$ cd noip-2.1.9-1
$ sudo make
$ sudo make install
start service: $ sudo /usr/local/bin/noip2
kontrolli: $ sudo service noip2 -S
auto restart bootimisel:
$ sudo nano /etc/rc.local
lisa rida: /usr/local/bin/noip2
vahetult enne: exit 0

* GZIP compression
Joomla-NGINX Muuda faili:
$sudo nano /etc/nginx/nginx.conf
gzip on;
gzip_types      text/plain application/xml;
gzip_proxied    no-cache no-store private expired auth;
gzip_min_length 1000;
gunzip on;
$ sudo service nginx restart

* MQTT serveri install
$ sudo apt install -y mosquitto mosquitto-clients
autostartima:
$ sudo systemctl enable mosquitto.service
testi:
$ mosquitto -v
/* kui error siis: (vist ei tööta)
$ ps -ef | grep mosquitto 
$ sudo kill ..... [pid nr]
*/
$sudo /etc/init.d/mosquitto stop
muuda faili:
$ sudo nano /etc/mosquitto/mosquitto.conf
lisa faili lõppu:
listener 1883
allow_anonymous true
salvesta fail
$ sudo /etc/init.d/mosquitto start

* Node Red
https://nodered.org/docs/getting-started/raspberrypi 
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)​

$ node-red-start
lisa autostart:
$ sudo systemctl enable nodered.service
Flow importimiseks peavad target masinas olema samad Noded

*RPI-monitor
https://xavierberger.github.io/RPi-Monitor-docs/11_installation.html 

*PiVPN
https://www.electromaker.io/tutorial/blog/raspberry-pi-vpn-server 

*********************** kontrollimata ************

* Raspberry nginx Expires headers annab vea ??
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 30d;
add_header Pragma "public";
add_header Cache-Control "public"
}
sudo service nginx restart

* Nähtavus veebis
 google weebmaster on abiks
 valideerimisels root dir. panin HTML faili...

* varundamine - peab tõsiselt ettevõtma.
  ** Joomla varunduse saab tehtud Akeeba komponendida - ok
  ** Node-red varundus automaatselt nodes: "inject"-> "write file" (Filename: path /home/pi/.node-red/flows_raspberrypi.json) -> email
  ** Kõige lihtsam on kasutada "SD card copier" (kasutades VNC -d).
      Pista uus ssd vabasse USB3 porti, "Copy from (töötav OS) Copy to (uus SSd), checkbox "new partition  UUID" ja start.
      (Kingston, WD on ok, JMicron (nt. Lexar) NOT ok (töötab küll PI3 peal) ... 
      Või töötavad kõik aga vb. aitab vt. alguses * bootimise probleemid.
* Node-red-dasboard layout on sassis
      $ cd $HOME/.node-red/node_modules
      $ node-red-stop
      $ sudo rm -R node-red-dashboard
      $ node-red-start