Owncloud 9 Apache Mysql su Raspberry Pi 3 e Raspbian

 

Owncloud 9 Apache Mysql su Raspberry Pi 3 e Raspbian

 

Owncloud 9 Apache Mysql su Raspberry Pi 3 e Raspbian. Io su Raspberry Pi 3, ho un server Webdav e mi trovo bene, qua la guida. ma ho voluto provare Owncloud, poichè è molto più personalizzabile, e ti permette di condividere link, con password e data di scadenza. Io ho utilizzato come disco esterno una pen drive da 128G, formattata in NTFS, ma si può utilizzare anche un hard disk esterno, possibilmente alimentato. 

sudo mkdir /media/usb-hdd

identificare la chiavetta con:

sudo tail -f /var/log/messages

oppure:

sudo fdisk -l

conoscere UUID per procedere con il mount automatico:

sudo blkid /dev/sda1

il comando sopra restituirà qualcosa del genere:

/dev/sda1: UUID="10C67902162A661E" TYPE="ntfs" PARTUUID="eaf9ab2e-01"

quindi configurare fstab:

sudo nano /etc/fstab

che dovrebbe essere come sotto:

UUID=10C67902162A661E /media/usb-hdd/ ntfs-3g permissions,defaults,auto

poi:

sudo reboot

 

Installazione di Owncloud ed i servizi necessari:

 

wget -nv https://download.owncloud.org/download/repositories/stable/Debian_8.0/Release.key -O Release.key
sudo apt-key add - < Release.key
sudo sh -c "echo 'deb https://download.owncloud.org/download/repositories/stable/Debian_8.0/ /' >> /etc/apt/sources.list.d/owncloud.list"
sudo apt-get update && sudo apt-get install owncloud

verrà chiesto di scegliere una password per mysql.

 

Configurazione Mysql:

 

sudo mysql -u root -p

inserire la password di mysql, e poi i 4 comandi sotto, scegliendo Utente e Password per l'utente owncloud:

CREATE DATABASE owncloud;
GRANT ALL PRIVILEGES ON owncloud.* TO USER@localhost IDENTIFIED BY 'PASSWORD';
FLUSH PRIVILEGES;
exit

riavviare mysql:

sudo service mysql restart

 

Web Server Apache2 con SSL:

 

sudo openssl genrsa -out server.key 4096
sudo openssl req -new -key server.key -out server.csr

ci saranno alcune voci da riempire, ma quella più importante è COMMON NAME, che io ho fatto puntare al mio hostname DynDNS per l'accesso da remoto:

Owncloud 9 Apache Mysql su Raspberry Pi 3 e Raspbian

Owncloud 9 Apache Mysql su Raspberry Pi 3 e Raspbian

 

sudo openssl x509 -req -days 1825 -in server.csr -signkey server.key -out server.crt -sha256
sudo chmod 400 server.key
sudo mv server.key /root/server.key
sudo mv server.crt /root/server.crt
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/000-default.conf_bak
sudo nano /etc/apache2/sites-available/000-default.conf

e modificare DocumentRoot come sotto:

DocumentRoot /var/www/owncloud

poi ancora:

sudo rm -rf /var/www/html/
sudo nano /etc/apache2/sites-available/default-ssl.conf

e modificare le voci DocumentRoot, SSLCertificateFile, SSLCertificateKeyFile, come sotto:

DocumentRoot /var/www/owncloud
SSLCertificateFile /root/server.crt
SSLCertificateKeyFile /root/server.key

abilitare la crittografia:

sudo a2ensite default-ssl.conf
sudo service apache2 reload
sudo a2enmod ssl
sudo service apache2 restart

alcune modifiche necessarie:

sudo nano /etc/php5/apache2/php.ini

fare una modifica al file php.ini, nella sezione File Uploads, portando upload_max_filesize = 5000.

sudo sed -i 's/AllowOverride None/AllowOverride All/'  /etc/apache2/apache2.conf
sudo /etc/init.d/apache2 restart

creazione della cartella di storage e relativi permessi:

sudo mkdir -p /media/usb-hdd/owncloud/dati
sudo chown -R www-data:www-data /media/usb-hdd/owncloud/dati
sudo chmod 0770 /media/usb-hdd/owncloud/dati
sudo reboot

come ultimo ritocco, aumentare la capacità di upload, andando a modificare il file .htacces, ed installare fail2ban:

sudo nano /var/www/owncloud/.htaccess

portando: php_value upload_max_filesize, e php_value post_max_size a 5000M

sudo apt-get install fail2ban

Se tutto è andato bene andare all'indirizzo https://ip_del_raspberry/owncloud ed apparirà la pagina iniziale, dove si dovrà scegliere nome utente e password per l'accesso, ed inserire il nome del database ed user e password dell'utente owncloud.

Owncloud 9 Apache Mysql su Raspberry Pi 3 e Raspbian

 

enjoy 😉

 

Telefonare e Ricevere Gratis nel mondo con Asterisk iPhone e Vpn

 

      

 

Telefonare e Ricevere Gratis nel mondo con Asterisk iPhone e Vpn. Si può fare! Se si possiede un PBX Asterisk in casa o in ufficio, ed è giustamente configurato, si può decidere di essere sempre raggiungibile anche sul cellulare. Ci sono diversi modi per fare questo, basta creare una estensione in FreePBX, o mettere il numero di cellulare in un gruppo di squillo, ecc. ecc. Fino a che ci si trova all'interno della casa o dell'ufficio collegati alla propria rete locale, non ci sono problemi nel ricevere telefonate o effettuarle, passando dal centralino virtuale, il "problema" invece si pone quando ci si trova all'esterno e quindi di conseguenza non siamo più un interno telefonico. Anche in questo caso ci sono diverse soluzioni, per poter chiamare o ricevere le chiamate, una su tutte, si potrebbe configuare Asterisk/FreePBX dopo qualche squillo di girarci la chiamata sul telefono ecc. ecc, oppure usare un client voip opportunamente configurato. Ma secondo me invece il modo migliore è quello di essere sempre o quando si ha la necessità, connessi alla propria rete locale. Sembra difficile, ma in realtà è molto più semplice di quanto si pensi. Quello di cui si ha bisogno, oltre ad un minimo di conoscenza, sono:

  1. Una estensione configurata su FreePBX
  2. Un client Voip che supporti la VPN, come Bria iPhone
  3. Una VPN

 

Per quanto riguarda la configurazione di una Estensione su FreePBX ci sono molte guide sul web, ed anche in questo blog. Per quanto riguarda invece la VPN, bisogna avere un router (consigliato) con cui poterla creare, oppure un firewall. A livello domestico/ufficio si potrebbe prendere in considerazione l'acquisto di un router, per esempio un Linksys E1200-EZ v2, su cui poi installare DD-WRT, come ho fatto io. Infine serve acquistare per 8€ circa l'app per telefoni apple o android di Bria. Per quanto riguarda la configurazione è molto semplice:

Telefonare e Ricevere Gratis nel mondo con Asterisk iPhone e Vpn Telefonare e Ricevere Gratis nel mondo con Asterisk iPhone e Vpn Telefonare e Ricevere Gratis nel mondo con Asterisk iPhone e Vpn


Quindi se ci si trova lontani da casa, in Italia, basta collegarsi col proprio piano dati telefonico, alla VPN, per poi poter essere un interno e quindi chiamare e ricevere le chiamate. Se si è in vacanza all'estero, si può approfittare degli hotspot pubblici o dell'albergo per poter avviare la VPN, e poi fare una chiamata Gratis come se ci si trovasse a casa propria. Telefonare e Ricevere Gratis nel mondo con Asterisk iPhone e Vpn

enjoy 😉

 

Wireshark abilitare interfacce di rete

 

wireshark abilitare interfacce di rete

 

Wireshark abilitare interfacce di rete. In questa guida verranno descritti i passaggi per abilitare le interfacce di rete in  wireshark Dopo avere avviato il programma bisogna andare in Capture-Options per scegliere l'interfaccia di rete per lo sniffing, ma di default queste non compaiono su Debian. Per abilitarle:

sudo apt-get install wireshark libcap2-bin
sudo groupadd wireshark
sudo usermod -a -G wireshark $USER
sudo chgrp wireshark /usr/bin/dumpcap
sudo chmod 755 /usr/bin/dumpcap
sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap

a questo punto saranno visibili nel menu Capture-Options.

enjoy 😉

 

Creare una Debian Jessie Live persistente con firmware non-free

 

Creare una Debian Jessie Live persistente con firmware non-free

 

Guida su come creare una Debian Jessie Live persistente con firmware non-free, alla Debian way. Possedere una chiavetta usb con la propria distribuzione preferita può ritornare utile, sia come OS di riserva, live o installabile, sia come strumento di lavoro. Per avere un buon strumento di lavoro, bisogna però avere tutti i propri programmi preferiti, e per ottenere ciò bisogna creare una Debian Live in modalità persistente. Con la modalità persistente, si può installare tutto quello che serve e portarsi dietro i documenti preferiti,  ed addirittura la distribuzione può essere aggiornata, senza paura che al riavvio le modifiche vadano perse. Quello che serve come prima cosa è scaricare la Debian Live iso-hybrid, scegliendo anche il proprio Desktop Environment, ed alcuni pacchetti:

 

# apt-get install mbr syslinux p7zip

 

la mia chiavetta di 8G viene identificata come /dev/sdb, quindi la guida utilizzerà questa sintassi:

Inserire la chiavetta usb e verificare come viene identificata, la mia come /dev/sdb con 2 partizioni:

# fdisk -l
# umount /dev/sdb1
# umount /dev/sdb2

 

Formattazione:

# dd count=1 bs=512 if=/dev/zero of=/dev/sdb

 

Creazione tabella delle partizioni e di 2 partizioni, una in fat32 l'altra in ext4:

# parted /dev/sdb
(parted) mklabel msdos                                          
(parted) mkpart primary fat32 1 1536M                                  
(parted) mkpart primary ext4 1536 8G
(parted) set 1 boot on                                                   
(parted) q

 

Creazione filesystem:

# /sbin/mkdosfs -n live /dev/sdb1
# /sbin/mkfs.ext4 -L persistence /dev/sdb2
# mkdir /mnt/live
# mkdir /mnt/persistence
# mount /dev/sdb1 /mnt/live
# mount /dev/sdb2 /mnt/persistence
# cd /mnt/live
# 7z x /percorso_iso_scariicata/debian-live-8.2.0-amd64-mate-desktop+nonfree.iso

 

Modificare il file live.cfg inserendo le opzioni persistence e noeject:

# nano isolinux/live.cfg

dove la prima parte deve essere come sotto:

label live-amd64
        menu label ^Live (amd64)
        menu default
        linux /live/vmlinuz
        initrd /live/initrd.img
        append boot=live components persistence noeject quiet splash

 

Creazione del dispositivo usb bootable e della seconda partizione persistente:

# /sbin/install-mbr /dev/sdb
# syslinux -i /dev/sdb1
# mv isolinux syslinux
# mv syslinux/isolinux.cfg syslinux/syslinux.cfg
# mv syslinux/isolinux.bin syslinux/syslinux.bin
# cd /mnt/persistence
# echo / union > persistence.conf
# cd ..
# umount /mnt/live
# umount /mnt/persistence

A questo punto si può riavviare e provare la Debian Jessie Live persistente con firmware non-free. La prima cosa da fare volendo è quella di aggiornare il sistema per poi installare i propri programmi preferiti:

# apt-get update && apt-get upgrade -y

Utente e password di default sono: username=user password=live

 

enjoy 😉

 

Server Cloud WebDav su Raspberry pi 2 e Debian Jessie

Server WebDav su Raspberry pi 2

 

Per avere un proprio Server Cloud WebDav su Raspberry pi 2 e Debian Jessie, da utilizzare sia in locale che da remoto, alla stregua di Dropbox, Box.com, OneDrive ecc ecc, i passi da seguire sono i seguenti:

sudo apt-get install apache2
sudo a2enmod dav_fs
sudo a2enmod auth_digest
sudo service apache2 restart
sudo mkdir -p /webdav
sudo chown www-data /webdav
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/000-default.conf_bak
sudo nano /etc/apache2/sites-available/000-default.conf

che deve essere come sotto, inserendo al posto delle xxx.xxx.x.x, l' IP del Raspberry:

<VirtualHost xxx.xxx.x.x:80>
        ServerAdmin webmaster@localhost

        DocumentRoot /webdav
        <Directory /webdav>
                Options Indexes MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        Alias /webdav /webdav

        <Location /webdav>
           DAV On
           AuthType Basic
           AuthName "webdav"
           AuthUserFile /webdav/passwd.dav
           Require valid-user
       </Location>
</VirtualHost>

 

sudo service apache2 restart
sudo htpasswd -c /webdav/passwd.dav nome_utente_Raspberry

per chi deve accedere da Windows al server WebDav:

sudo htpasswd /webdav/passwd.dav xxx.xxx.x.x\\nome_utente_Raspberry

poi:

sudo chown root:www-data /webdav/passwd.dav
sudo chmod 640 /webdav/passwd.dav
sudo service apache2 restart

Il server sarà raggiungibile all'indirizzo https://ip_server/webdav

Adesso un minimo di protezione per il nostro server cloud installando Fail2ban, così da bloccare dopo 3 tentativi l'IP di che tenta di accedere senza le giuste credenziali:

sudo apt-get install fail2ban
sudo nano /etc/fail2ban/jail.local

ed inserire:

[apache]
enabled  = true
port     = https,https
filter   = apache-auth
logpath  = /var/log/apache*/*error.log
maxretry = 6

[apache-noscript]
enabled  = true
port     = https,https
filter   = apache-noscript
logpath  = /var/log/apache*/*error.log
maxretry = 6

[apache-overflows]
enabled  = true
port     = https,https
filter   = apache-overflows
logpath  = /var/log/apache*/*error.log
maxretry = 2

[apache-nohome]
enabled  = true
port     = https,https
filter   = apache-nohome
logpath  = /var/log/apache*/*error.log
maxretry = 2

riavviare fail2ban:

sudo service fail2ban restart

adesso siamo pronti ad utilizzare il nostro server cloud.

 

enjoy 😉

 

Generare codice QR per rete wifi da terminale

 

codice-qr

 

 

Per generare un codice QR della propria rete wifi ospiti, si può usare il terminale con l'aiuto di qrencode e zenity.

 

# apt-get install qrencode zenity

 

per creare il codice QR wifi:

 

$ qrencode -s 5 -o code-qr-wifi.png "WIFI:S:$(zenity --entry --text="Nome Rete (SSID)" --title="Creazione QR Wifi");T:WPA2;P:$(zenity --password --title="Password Wifi");;"

 

Qual'è il nome/password della mia rete ospiti?

 

enjoy 😉

 

 

Vsftpd su Debian Wheezy

 

 

Vsftpd (acronimo di Very Secure FTP Daemon) è quello che uso come servizio ftp, semplice, leggero, sicuro e veloce da configurare.

 

$ sudo apt-get install vsftpd

 

subito dopo mettere mano al file di configurazione:

 

$ sudo nano /etc/vsftpd.conf

 

per una configurazione base i punti più importanti da decommentare sono:

.

  1. local_enable=YES

    Abilita/disabilita l'accesso agli utenti locali.

  2. write_enable=YES

    Abilita/disabilita agli utenti l'accesso in scrittura.

  3. xferlog_enable=YES

    Attiva i log su tutte le operazioni di scaricamento e caricamento file.

  4. xferlog_file=/var/log/vsftpd.log

    Specifica il percorso per i file di log.

  5. ftpd_banner=

    Imposta un messaggio di benvenuto visualizzato all'accesso al server FTP.

 

Per fermare/avviare/riavviare il servizio digitare i seguenti comandi:

 

$ sudo /etc/init.d/vsftpd stop
$ sudo /etc/init.d/vsftpd start
$ sudo /etc/init.d/vsftpd restart

 

per testare:

 

$ ftp 192.168.x.x

 

enjoy 😉

 

Mostrare data futura da terminale

 

Dopo aver mostrato come fare per avere una data precedente usando il terminale, ed una data falsa di sistema, per completezza adesso mostrerò come ottenere una data futura:

 


$ date --date='10 seconds'

$ date --date="1 days"

$ date --date="tomorrow"

$ date --date="1 week"

$ date --date="1 month"

$ date --date="1 year"

$ date --date="this Wednesday"

$ date --date="next day"

 

enjoy 😉

Mostrare una data precedente da terminale

 

Tempo fa avevo scritto come falsificare la data di sistema usando datefudge, invece adesso mostro alcuni esempi di come usare "date" e far apparire nel terminale qualunque data precedente.



$ date --date='10 seconds ago'

$ date --date="1 days ago"

$ date --date="yesterday"

$ date --date="1 month ago"

$ date --date="1 year ago"

$ date --date="100 day ago"

 

enjoy 😉

Nascondere un archivio in una foto usando cat

 

Questo è un piccolo trucchetto utile per "nascondere" un archivio in una foto. Per ottenere ciò bisogna ricorrere a cat:

 

$ cat foto_originale.jpg archivio_segreto.rar > foto_falsa.jpg

 

a questo punto l'archivio è all'interno di foto_falsa.jpg, adesso per visualizzare i files nell'archivio, basta cambiare l'estensione in  foto_falsa.rar  e decomprimere. Se invece si volesse nascondere un file di testo in una foto come veicolo per una comunicazione segretissima, allora si può sempre utilizzare la steganografia ed installare steghide, un ottimo metodo 😉

 

enjoy 😉