Come configurare Monit con Domoticz

sudo nano /etc/monit/conf.d/domoticz

Copiate e incollate:

check process domoticz with pidfile /var/run/domoticz.pid
start program = "/etc/init.d/domoticz.sh start"
stop  program = "/etc/init.d/domoticz.sh stop"
if failed
url http://127.0.0.1:8080/json.htm?type=command&param=getversion
and content = '"status" : "OK"'
for 2 cycles
then restart
if 5 restarts within 5 cycles then exec "/sbin/reboot"

E poi riavviate Monit con:

sudo monit reload

Come configurare Monit con Plex

sudo nano /etc/monit/conf.d/plex

Incollate questo (modificando le porte nel caso vi servissero, ma la 32400 dovrebbe andar bene):

check process Plex with pidfile "/var/lib/plexmediaserver/Library/Application\ Support/Plex\ Media\ Server/plexmediaserver.pid"
    start program = "/usr/sbin/service plexmediaserver start" with timeout 60 seconds
    stop program  = "/usr/sbin/service plexmediaserver stop"
    if failed host 127.0.0.1 port 32400 with timeout 30 seconds for 5 cycles then restart
    #if failed port 32401 with timeout 30 seconds for 5 cycles then restart
    #if failed port 32469 with timeout 30 seconds for 5 cycles then restart
    #if failed port 1909 with timeout 30 seconds for 5 cycles then restart
    #if failed url http://127.0.0.1:32400/web/index.html with timeout 30 seconds for 5 cycles then restart

E poi riavviate Monit con:

sudo monit reload

Come configurare Monit con Transmission

sudo /etc/monit/conf.d/transmission

Copiate e incollate:

check process Transmission matching "transmission-daemon"
    start program = "/etc/init.d/transmission-daemon start"
    stop program  = "/etc/init.d/transmission-daemon stop"
    if failed host 127.0.0.1 port 9091 type TCP for 2 cycles then restart
    if 2 restarts within 3 cycles then unmonitor

E poi riavviate Monit con:

sudo monit reload

Come configurare Monit con Samba

Se avete precedentemente installato Monit e avete capito le sue infinite possibilità e volete monitorare il vostro server SMB, ecco come configurarlo perché controlli e nel caso riavvii Samba:

sudo nano /etc/monit/conf.d/smbmonitor

E incollate:

check process Samba with pidfile "/var/run/samba/smbd.pid"
start program = "/etc/init.d/smbd start"
stop program = "/etc/init.d/smbd stop"
if failed host 127.0.0.1 port 139 type tcp for 2 cycles then restart
if 2 restarts within 3 cycles then unmonitor

Poi riavviate Monit con sudo monit reload e andate da browser alla porta 2812 (nel caso non l’abbiate cambiata).

Come gestire cartelle con apostrofi

Nel caso la vostra cartella abbia un apostrofo, il terminale bash (o quello che sia) potrebbe riscontrarvi qualche errore.

Mettete tutto tra parentesi, ad esempio: cd '/cartella(con)/anche/parentesi' per entrare dentro quella cartella.

Come provare a difendersi da un attacco DDoS

Parto con un po’ di presupposti perché ovviamente l’argomento è molto vasto e non sarebbe affrontabile in un semplice articolo. I comandi che andrò ad elencarvi dipendono ovviamente da cosa state subendo e sopratutto se avete accesso al vostro server. Ma tenendo conto che avete accesso ma semplicemente siete inondati di richieste, di traffico flood o altre prove di connessioni, richieste di login o comunque qualcosa sulle porte o sulle connessioni, ecco quanto.

Per visualizzare le connessioni in ingresso:

sudo netstat -plan|grep :80|awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort -nk 1

Nel caso avete https e la porta 443:

sudo netstat -plan|grep :443|awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort -nk 1

Visualizzare l’elenco completo dell’iptables:

sudo iptables -L --line-numbers

Se volete cancellare ad esempio la seconda regola fate così:

sudo iptables -D INPUT 2

Oppure se volete impostare un limite alle richieste:

sudo iptables -A INPUT -p tcp --syn -m limit --limit 5/s --limit-burst 10 -j DROP

Nel caso anche questo:

sudo iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST SYN -m limit --limit 1/s -j DROP

Mentre se in tutto questo avete notato che c’è qualche IP che vi fa migliaia di richieste, ecco come impedirglielo:

iptables -A INPUT -s 8.8.8.8 -j DROP

Le regole nell’iptables vengono a ogni riavvio resettate, quindi se volete salvarle dovete specificarlo.

Come disabilitare IPv6 su Avahi

Come è ben noto IPv6 non è implementato praticamente da nessuna parte (ancora) e nelle reti pubbliche viene impacchettato nella versione 4.

Spesso da più problemi che altro… quindi, perché non disattivarlo?

sudo nano /etc/avahi/avahi-daemon.conf

E alla riga use-ipv6=yes mettete un bel no.

Per gli altri parametri: http://manpages.ubuntu.com/manpages/zesty/man5/avahi-daemon.conf.5.html

Come montare automaticamente un server FTP in una cartella

Se volete montare un server FTP e che sia accessibile come un normale drive in una cartella da voi prefissata, installate curlftpfs:

sudo apt-get install curlftpfs

Create la cartella (potete anche metterla in /media volendo), ad esempio (modificando user):

sudo mkdir /home/movies
sudo chmod 775 /home/movies
sudo chown -R user:user /home/movies

Aggiungete al fondo di questo file:

sudo nano /etc/fstab

Modificando user, password e indirizzo IP:

curlftpfs#user:password@192.168.1.1 /home/movies fuse rw,uid=1000,gid=1000,umask=002,user,suid,allow_other,exec,auto,utf8,_netdev  0   0

Se volete tutti i permessi mettete umask=000.

Come creare un server per la Time Machine con Ubuntu

Io vi consiglio Ubuntu Server 17.04 e durante l’installazione mettete la spunta a LAMP server, Samba file server e OpenSSH server.

Fate gli aggiornamenti e installate:

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

Se usate un hard disk esterno create la cartella e montatelo:

sudo mkdir /media/usb
sudo mount -t hfsplus -o force,rw /dev/sdb /media/usb

Cambiate i permessi e l’utente (presupponendo che il vostro username sia xserve):

sudo chmod -R 775 /media/usb
sudo chown -R xserve:xserve /media/usb

Ora andiamo a configurarlo:

sudo nano /etc/netatalk/AppleVolumes.default

E al fondo alla penultima riga cambiatela con:

/media/usb "Xserve" options:tm allow:xserve

Poi inserite questo per vedere l’icona dei famosi Xserve:

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

E incollate:

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

Riavviate tutto con:

sudo service avahi-daemon restart
sudo service netatalk restart

Ora connettetevi da macOS (qualunque esso sia), dalle impostazioni selezionate il disco Xserve e il gioco è fatto, potete utilizzarlo come Time Machine facilmente!

Ovviamente il vostro server Ubuntu non deve per forza essere fisico e sempre acceso. Potete benissimo usare una macchina virtuale o un semplice Raspberry Pi.

Come montare un hard disk EXT4

Ovviamente se utilizzate una distro nuova, vi consiglio di optare per l’ultima versione (anche se la 3 è ancora molto usata) per il vostro file system. Iniziamo! Copiate l’UUID del vostro drive che trovate con:

sudo blkid

Incollatelo al fondo di sudo nano /etc/fstab questo file, così:

UUID=0123456789abc /media/pendrive ext4 defaults 0 2

Poi eseguite:

sudo mount -a

E voilà, anche a ogni riavvio verrà automaticamente montato!

Come eseguire FlexGet ogni ora

Se volete che FlexGet venga controllato ed eseguito ogni ora, dovete ovviamente impostarglielo per far in modo che sia automatizzato senza il vostro controllo. Andremo ad utilizzare il semplice crontab.

Prima di tutto trovate dove l’avete installato con:

which flexget

Copiate il percorso ed eseguite:

sudo crontab -e

E al fondo incollate (nel caso il percorso sia quello):

@hourly /usr/local/bin/flexget --cron execute

Nel caso vogliate cambiare la periodicità, vi basterà sostituire hourly con quella desiderata (ad esempio ogni mezz’ora, ecco come specificare anche il file di configurazione).

30 * * * * /usr/local/bin/flexget -c /home/pi/.flexget/config.yml --cron execute

Come cambiare root directory ad Apache

Se riscontrate dei problemi con Apache e volete spostare le cartelle in cui risiedono i file, per cambiarlo dovete ovviamente specificarglielo.

Spostatevi nella cartella in cui avete tutte le configurazioni:

cd /etc/apache2/sites-available/

Selezionate quella che vi interessa (nel caso usiate quella di default dovrebbe essere questa):

sudo nano default-ssl.conf

E modificate la riga con la cartella che preferite

DocumentRoot /var/www/wordpress

Poi riavviate Apache con:

sudo service apache2 stop
sudo service apache2 start

Come installare Samba su Ubuntu

Molto semplicemente aprite il terminale ed eseguite i seguenti comandi:

sudo su
apt-get update
apt-get install samba
smbpasswd -a user

Inserite la password (ovviamente dovrete ricordarvela) due volte e voilà.

Ora andate a connettervi con il vostro ip a smb://ubuntu.local (nel caso non abbiate cambiato l’hostname alla macchina).