Installare Owncloud su una VM Ubuntu 14.04

Iniziamo con l'installare i pacchetti necessari nella nostra VM aggiungendo l'apposito repository:

sudo sh -c "echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/community/xUbuntu_14.10/ /' >> /etc/apt/sources.list.d/owncloud.list"

Aggiungiamo la chiave del repository appena inserito in modo tale che non vi siano errori di sicurezza:

wget http://download.opensuse.org/repositories/isv:ownCloud:community/xUbuntu_14.10/Release.key
sudo apt-key add - < Release.key

Aggiorniamo i pacchetti di installazione a disposizione e installiamo l'ultima versione di OwnCloud disponibile per la nostra distribuzione preferita:

sudo apt-get update
sudo apt-get install owncloud

Aggiorniamo la configurazione di Apache a seconda che si desideri utilizzare http o https (consigliato quest'ultimo):

vi /etc/apache2/sites-available/default-ssl.conf

e modifichiamo la root directory in questo modo:

DocumentRoot /var/www/owncloud

aggiungiamo i seguenti parametri:

Alias /owncloud /var/www/owncloud
<Directory /var/www/owncloud/>
AllowOverride All
</Directory>

salviamo e diamo un restart del servizio Apache.

E' opportuno configurare anche un certificato SSL al posto di quello self-signed che vi darà sicuramente errori di sicurezza non appena contatterete tramite browser il vostro nuovo server OwnCloud.

Ad ogni modo ora se contattate la vostra URL https://myIPaddress vi sarà chiesto di configurare un primo account di amministrazione, che diventerà l'utente master del vostro OwnCloud.

IMPORTANTE: selezionate anche il tipo di database da utilizzare. Di default è selezionato SQLite, ma è molto meglio utilizzare un db più robusto come MySQL.

Se in prima istanza avete lasciato selezionato SQLite, e desiderate migrare a MySQL, seguite queste istruzioni.

Iniziamo con il creare un nuovo database nel nostro server MySQL:

mysql -u root -p

inseriamo la password di root del nostro server MySQL e poi

CREATE DATABASE new_database_name;

aggiungiamo un utente dedicato per il nuovo db:

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

e diamo i permessi al nuovo db

GRANT ALL PRIVILEGES ON new_database_name . * TO 'username'@'localhost';
FLUSH PRIVILEGES;
quit

Ora spostiamoci nella root di OwnCloud

cd /var/www/owncloud

e diamo il seguente comando:

sudo -u www-data php occ db:convert-type --all-apps mysql username 127.0.0.1 new_database_name

che migrerà i dati da SQLite a MySQL, occupandosi anche di aggiornare il file config.php dell'OwnCloud.

Ora è necessario ottimizzare la nostra installazione: se ci spostiamo nella sezione Admin, il software farà un rapido check dell'attuale status del sistema e ci consiglierà alcune operazioni per migliorarne sicurezza e performances.

1) Attiviamo come prima cosa la cache php per incrementare le prestazioni generali dell'applicazione OwnCloud.
Verifichiamo quale versione di PHP abbiamo installata sul nostro server con il comando:

php -v

- se abbiamo installata la versione PHP 5.4, allora installiamo il pacchetto APC:

apt-get install php-apc

- se abbiamo installata la versione PHP 5.5, non abbiamo necessità di installare un pacchetto aggiuntivo in quanto questa versione di PHP include già OPCache, che ha sostituito APC.
Verifichiamo quale versione di APCu abbiamo installata:

dpkg -s php5-apcu

Se la versione è inferiore alla 4.0.6 (che OwnCloud preferisce) dobbiamo "forzare" l'installazione, rimuovendo prima la versione installata (normalmente la 4.0.2):

apt-get remove php5-apcu

Ora procediamo con l'installazione del nuovo pacchetto APCu. Troviamo un elenco dei file a disposizione a questo indirizzo: http://mirrors.kernel.org/ubuntu/pool/universe/p/php-apcu/

cd /tmp
sudo wget http://mirrors.kernel.org/ubuntu/pool/universe/p/php-apcu/php5-apcu_4.0.6-1_amd64.deb
sudo dpkg -i php5-apcu_4.0.6-1_amd64.deb
sudo rm php5-apcu_4.0.6-1_amd64.deb

Ora inseriamo l'istruzione di utilizzare la cache per il nostro OwnCloud, editando il file config.php:

vi /var/www/owncloud/config/config.php

e aggiungiamo la seguente riga:

'memcache.local' => '\OC\Memcache\APCu',

Per evitare che il browser ci restituisca una pagina bianca, occorre anche modificare il file php.ini dell'applicazione:

vi /etc/php5/cli/php.ini

e aggiungiamo questa riga al fondo del file:

apc.enable_cli=1

salviamo e riavviamo Apache:

/etc/init.d/apache2 restart

2) Abilitiamo lo Strict-Transport-Security per rendere più sicura la nostra installazione OwnCloud, aggiungendo questa riga nella configurazione del virtual host di Apache:


ServerName cloud.owncloud.com
Header always add Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"

3) Abilitiamo il modulo "header" e "ssl" e riavviamo Apache:

a2enmod headers
a2enmod ssl
/etc/init.d/apache2 restart