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
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 😉