Come installare nginx su Raspberry Pi

Prima di tutto dovete fare una cosa importantissima, rimuovete Apache:

sudo apt-get remove apache2

Ora che l’avete rimosso e potete iniziare a divertirvi seriamente, installate nginx:

sudo apt-get install nginx

Finito. Ecco sì, finito! Avrà già configurato la cartella che usavate in precedenza e tutto quanto dovrebbe funzionarvi alla perfezione (ovviamente meglio di prima).

Nel caso, configurate quel che vi manca da qua:

sudo nano /etc/nginx/sites-available/default

Posso garantirvi personalmente, che non sentirete la mancanza. E anzi, vi domanderete perché non l’avete fatto prima!

Come installare Headphones su Raspberry Pi

Penso che non abbia bisogno di presentazioni Headphones, allora iniziamo:

sudo git clone https://github.com/rembo10/headphones.git /opt/headphones

Ora create l’utente (nel caso vogliate tenere le cose separate):

sudo touch /etc/default/headphones
sudo adduser --system --no-create-home headphones
sudo chown headphones:nogroup -R /opt/headphones

Per avviare il processo a ogni riavvio del vostro Raspberry Pi:

sudo ln -s /opt/headphones/init-scripts/init.ubuntu /etc/init.d/headphones
sudo update-rc.d headphones defaults
sudo update-rc.d headphones enable

Avviatelo e aspettate che crei il file di configurazione (ci metterà qualche secondo):

sudo service headphones start

Poi stoppatelo con sudo service headphones stop e modificate questo file di configurazione:

sudo nano /opt/headphones/config.ini

Cambiano il campo http_host da localhost a 0.0.0.0 (serve per averlo visibile in tutta la vostra rete locale). Ora quindi andate su http://raspberrypi.local:8181 e voilà.

Come gestire Homebridge con systemd

Se volete gestire Homebridge come servizio e far si che a ogni riavvio venga gestito direttamente dal sistema operativo, senza il supporto di screen come vi avevo fatto vedere qua, seguite questa semplice guida!

Prima di tutto trovate il percorso di Homebridge con:

which homebridge

Poi modificate sudo nano /etc/default/homebridge e incollate:

# Defaults / Configuration options for homebridge
# The following settings tells homebridge where to find the config.json file and where to persist the data (i.e. pairing and others)
HOMEBRIDGE_OPTS=-U /var/homebridge

# If you uncomment the following line, homebridge will log more 
# You can display this via systemd's journalctl: journalctl -f -u homebridge
# DEBUG=*

Poi sudo nano /etc/systemd/system/homebridge.service e incollate (cambiando ad ExecStart il percorso che avete trovato precedentemente con il which:

[Unit]
Description=Node.js HomeKit Server 
After=syslog.target network-online.target

[Service]
Type=simple
User=homebridge
EnvironmentFile=/etc/default/homebridge
ExecStart=/usr/bin/homebridge $HOMEBRIDGE_OPTS
Restart=on-failure
RestartSec=10
KillMode=process

[Install]
WantedBy=multi-user.target

Ora create le cartelle con i permessi giusti e abilitate il servizio:

sudo mkdir /var/homebridge
sudo cp ~/.homebridge/config.json /var/homebridge/
sudo cp -r ~/.homebridge/persist /var/homebridge

sudo chmod -R 0777 /var/homebridge
sudo useradd --system homebridge
sudo chown -R homebridge:homebridge /var/homebridge

sudo systemctl daemon-reload
sudo systemctl enable homebridge
sudo service homebridge start

E controllate se funziona con: sudo service homebridge status.

Fonte: https://timleland.com/setup-homebridge-to-start-on-bootup/

Come installare LazyLibrarian su Raspberry Pi

Se volete installare LazyLibrarian su Raspberry Pi non vi basta che eseguire questi due semplici comandi:

sudo git clone https://github.com/DobyTang/LazyLibrarian /opt/lazylibrarian
python /opt/lazylibrarian/LazyLibrarian.py -d

Nel caso vogliate farlo andare in background avviate il daemon togliendo la -d, quindi eseguite: python /opt/lazylibrarian/LazyLibrarian.py -daemon

Se volete che si avvii a ogni riavvio e che parta come servizio, quindi gestibile semplicemente con un sudo service lazylibrarian start fate ancora questi due passaggi:

sudo cp /opt/lazylibrarian/init/lazylibrarian.default /etc/default/lazylibrarian
sudo cp /opt/lazylibrarian/init/lazylibrarian.service /etc/systemd/system/lazylibrarian.service
sudo cp /opt/lazylibrarian/init/lazylibrarian.initd /etc/init.d/lazylibrarian

Ora aprite questo file:

sudo nano /etc/default/lazylibrarian

E aggiungete all’inizio del file USER=pi, salvate e aggiornate:

sudo update-rc.d lazylibrarian defaults
sudo systemctl daemon-reload
sudo systemctl enable lazylibrarian

Ora andate su http://raspberrypi.local:5299 e voilà, già fatto!

Come creare una Time Capsule con Raspberry Pi

Se non volete spendere più di 300 euro per una Time Capsule della Apple e volete realizzare la vostra Time Machine personale, seguite questi semplici passaggi (vi consiglio di partire da una versione di Raspbian nuova e pulita):

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install netatalk libc6-dev avahi-daemon libnss-mdns

Ora aprite questo file:

sudo nano /etc/netatalk/AppleVolumes.default

E al fondo cambiate questa riga (potete anche cambiare percorso nel caso abbiate un hard disk attaccato o una pendrive) con:

/home/pi "Time Capsule" options:tm allow:pi

Ora modificate questo file:

sudo nano /etc/avahi/services/afpd.service

Cancellate tutto e incollate:

<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name replace-wildcards="yes">Time Capsule</name>
<service>
<type>_afpovertcp._tcp</type>
<port>548</port>
</service>
<service>
<type>_device-info._tcp</type>
<port>0</port>
<txt-record>model=TimeCapsule8,119</txt-record>
</service>
</service-group>

Riavviate i servizi e via:

sudo service avahi-daemon restart
sudo service netatalk restart

E… voilà. Davvero! Già finito. Aprite il Finder su macOS e lo vedrete già a lato (Avahi avrà mandato in broadcast dei pacchetti di benvenuto). Ora potete andare sulle impostazioni e configurare il vostro backup!

Come fare uno speedtest alla microSD del Raspberry Pi

Per testare la velocità di scrittura eseguite:

sync; dd if=/dev/zero of=~/test.tmp bs=500K count=1024

Per la lettura:

sync; echo 3 | sudo tee /proc/sys/vm/drop_caches
sync; time dd if=~/test.tmp of=/dev/null bs=500K count=1024

Poi ovviamente cancellate il file temporaneo che ha usato per farlo. Quanto raggiungete voi? 22 MB/s dovrebbe essere una buona media visto il bus condiviso.

Come installare CouchPotato su Raspberry Pi

sudo git clone http://github.com/RuudBurger/CouchPotatoServer.git /opt/couchpotato
sudo chmod -R 755 /opt/couchpotato
sudo chown -R pi:pi /opt/couchpotato
python /opt/couchpotato/CouchPotato.py

Ora andate su http://raspberrypi.local:5050/wizard/ e vedete se funziona! Poi stoppatelo con CTRL+C e andiamo avanti:

sudo cp /opt/couchpotato/init/ubuntu /etc/init.d/couchpotato
sudo cp /opt/couchpotato/init/ubuntu.default /etc/default/couchpotato
sudo cp /opt/couchpotato/init/couchpotato.service /etc/systemd/system/couchpotato.service
sudo nano /etc/default/couchpotato

Cancellate tutto e incollate:

CP_USER=pi
CP_HOME=/opt/couchpotato
CP_DATA=/var/opt/couchpotato
CP_PIDFILE=/var/run/couchpotato/couchpotato.pid
PYTHON_BIN=/usr/bin/python
sudo nano /etc/systemd/system/couchpotato.service

Cambiate queste righe in:

ExecStart=/opt/couchpotato/CouchPotato.py
Type=simple
User=pi
Group=pi
sudo chmod +x /etc/init.d/couchpotato
sudo update-rc.d couchpotato defaults
sudo systemctl daemon-reload
sudo systemctl enable couchpotato

E ora avviatelo con: sudo service couchpotato start. Andate da browser all’indirizzo di prima e benvenuti!

Come dare più corrente tramite USB dal Raspberry Pi

Se volete fornire 1.2A invece di 600mA (che è la corrente erogata dal circuito direttamente) modificate questo file:

sudo nano /boot/config.txt

Aggiungendo in fondo questo:

max_usb_current=1

E riavviate! È sicuro (nonostante possiate dubitarne) in termini di sicurezza elettrica vera e propria. Ovvio che lo è, se usate un trasformatore decente e non uno di quelli cinesi. Online ho trovato questo:

All that max_usb_current=1 does is to set GPIO38 high, which in turn turns on a FET, which connects a second 39K resistor in parallel to an existing one, on pin 5 of U13, the AP2553W6 USB power manager, lifting the current limit from 0.6A to double that (1.2A), see no possible scenario there why the PI resets because of that, except in case the gate of the FET Q4 is somehow shorted to GND. Which could be caused by a production fault. Inspect Q4, as look if there is solder shorting pins together. Also R6 (resistor mounted between gate of Q4 and GND) should be 100K not 0 Ohm. U13, Q4 and R6 should be near the USB ports.

Fonte: https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=100244

Come far coesistere AFP e SMB su Raspberry Pi

AFP e SMB detti anche protocollo di rete di Apple e Samba rispettivamente, risultano essere incompatibili. Online sembra che sia impossibile farli funzionare sullo stesso IP o con lo stesso hostname.

Ma a quanto pare (dopo varie sperimentazioni) potete installarvi semplicemente Avahi e configurare due servizi. Ovviamente dovrete aver già configurato entrambi i protocolli e averli attivi (quindi esposti a tutta la rete locale).

Prima di tutto spostatevi dentro la cartella di Avahi:

cd /etc/avahi/services

Che dico, l’avete installato vero? Nel caso:

sudo apt-get install avahi-daemon

Ora create due file:

sudo touch afpd.service smb.service

Nel primo:

sudo nano afpd.service

Incollate:

<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name replace-wildcards="yes">Time Capsule</name>
<service>
<type>_afpovertcp._tcp</type>
<port>548</port>
</service>
<service>
<type>_device-info._tcp</type>
<port>0</port>
<txt-record>model=TimeCapsule8,119</txt-record>
</service>
</service-group>

E nel secondo:

sudo nano smb.service

Incollate questo:

<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name replace-wildcards="yes">%h</name>
<service>
<type>_smb._tcp</type>
<port>445</port>
</service>
<service>
<type>_device-info._tcp</type>
<port>0</port>
<txt-record>model=Xserve</txt-record>
</service>
</service-group>

Ora tornate nel Finder di macOS e vi ritroverete questi due bei device distinti al quale potrete connettervi con i rispettivi account:

Icone di sistema su macOS

Ovviamente le icone potete cambiarle, semplicemente trovavo comodo poter usufruire di un file server e di una Time Machine in rete, a costo praticamente nullo. Alla prossima!

Risparmio energetico di un hard disk su Raspberry Pi

Dato che probabilmente al vostro bel Pi non attaccherete un SSD (nel caso, buon per voi) vorrete che risparmi energia e non sia sempre a ruotare (l’hard disk ndr). Procediamo con la configurazione.

Prima di tutto installate:

sudo apt-get install hdparm

Identificate l’ID (non UUID) del vostro hard disk con:

sudo ls -la /dev/disk/by-id

Copiatelo e qua dentro:

sudo nano /etc/hdparm.conf

Andrete ad incollare questo al fondo:

/dev/disk/by-id/id-copiato-precedentemente {
spindown_time = 60
}

Con ad esempio dopo 5 minuti di riposo andrà in stop (vanno a multipli di 5, cercate su Stack nel caso vogliate capirci meglio), nel caso vogliate aumentarlo… aumentatelo.

Come partizionare un hard disk o pendrive su Raspberry Pi

Prima di tutto dovete identificate il percorso del vostro drive:

sudo blkid

Di norma dovrebbe essere /dev/sda, /dev/sda1 oppure /dev/sdb o /dev/sdb1.

Io vi vi consiglio di formattarlo in EXT4 perché è più ben gestibile da Debian/Ubuntu. Se invece volete formattarlo in FAT32 o HFS+ scelta vostra, spesso può dar problemi (HFS+ se gli viene a mancare la corrente ha bisogno di essere riparato e fidatevi, non è una bella procedura).

Procediamo allora (cambiate il percorso, ovviamente e ogni volta che ve lo richiede rispondete con Yes e Ignore):

sudo parted /dev/sda mklabel gpt
sudo parted -a optimal /dev/sda mkpart Primary 0% 100%
sudo mkfs.ext4 /dev/sda1

Ed ecco fatto (una parola, dipende dalla grandezza del vostro hard disk o pendrive ma dovrebbe metterci un po’ di tempo quantificabile in minuti).

Come disabilitare IPv6 su Raspberry Pi

Spesso può dare problemi con script o programmi vari, e dato che non è necessario utilizzarlo (se non per scopi futuri) ecco come disattivarlo.

Modificate il file:

sudo nano /etc/sysctl.conf

Aggiungendo alla fine:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
net.ipv6.conf.eth0.disable_ipv6 = 1

Salvate e applicate le modifiche con:

sudo sysctl -p

Nel caso con ifconfig ci sia ancora l’indirizzo IPv6, riavviate completamente con un bel sudo reboot.

Se volete disabilitarlo anche su Avahi, seguite questa guida.

Come installare SickRage su Raspberry Pi

Penso non debba essere presentato SickRage, se siete qua è perché lo conoscete già.

Prima di tutto spostetevi nella cartella e clonate il progetto:

sudo git clone https://github.com/SiCKRAGE/SickRage.git /opt/sickrage
sudo chmod -R 777 /opt/sickrage

Modificate il service:

sudo nano /etc/systemd/system/sickrage.service

E incollate dentro:

[Unit]
Description=SickRage Daemon
After=network-online.target
Requires=network-online.target

[Service]
Type=forking
GuessMainPID=no
ExecStart=/usr/bin/python /opt/sickrage/SickBeard.py -q --daemon --nolaunch --datadir=/opt/sickrage
Restart=on-failure
RestartSec=5
StartLimitInterval=60s
StartLimitBurst=3

[Install]
WantedBy=multi-user.target

Attivate il servizio e avviatelo:

sudo systemctl enable sickrage.service

sudo cp /opt/sickrage/runscripts/init.debian /etc/init.d/sickrage
sudo chown root:root /etc/init.d/sickrage
sudo chmod 644 /etc/init.d/sickrage
sudo update-rc.d sickrage defaults

sudo service sickrage start

Nel caso non andasse al primo colpo (dovrebbe ragionarci un po’ su al primo avvio), avviatelo manualmente:

sudo /opt/sickrage/SickBeard.py -q --daemon --nolaunch --datadir=/opt/sickrage

Fonte https://github.com/SiCKRAGE/SickRage

Come ripristinare le Repository di default su Raspberry Pi

Se avete combinato dei pasticci e volete cancellare tutte le repository che avete precedentemente inserito (magari le avete aggiunte ventordici mesi fa), ecco come ripristinarle a quelle di default su Raspian.

Dentro il file:

/etc/apt/sources.list

Deve solo esserci:

deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://archive.raspbian.org/raspbian/ jessie main contrib non-free rpi

Mentre dentro la cartella:

/etc/apt/sources.list.d

Deve esserci solo questo file:

raspi.list

Con all’interno solo:

deb http://archive.raspberrypi.org/debian/ jessie main ui
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://archive.raspberrypi.org/debian/ jessie main ui

Spero di esservi stato utile, alla prossima!

Come installare FlexGet su Raspberry Pi

Conoscete FlexGet vero? Ecco ora andiamo a installarlo:

sudo apt-get install python-dev python-setuptools

Poi procediamo così:

sudo easy_install pip
sudo pip install --upgrade guessit
sudo pip install flexget
sudo pip install transmissionrpc

sudo mkdir /home/pi/.flexget
sudo nano /home/pi/.flexget/config.yml

E controllate che sia tutto funzionante con:

sudo flexget --test execute

Come installare Ghost su Raspberry Pi

Non sto neanche a introdurvi Ghost perché probabilmente se siete qua è perché lo conoscete già.

Andiamo subito al dunque (presupponendo che abbiate già installato un web server e Node js). Loggatevi tramite SSH al Raspberry ed eseguite i comandi:

cd /home/pi
curl -L https://ghost.org/zip/ghost-latest.zip -o ghost.zip
unzip -uo ghost.zip -d ghost
cd ghost/
npm install --production

Modificate il file di configurazione con il vostro IP (invece di 127.0.0.1) in modo da poter accedere anche dal vostro computer (ma solamente nella rete locale):

sudo nano config.js

Ed eseguite Ghost con:

npm start

Voilà, create l’account amministratore ed ecco a voi il vostro nuovo blog pronto per essere usato!

Semplice no?