Logo Nextcloud con Ubuntu

Installare Nextcloud 12 su Ubuntu 16

In questa guida vi spiegherò dettagliatamente come installare e configurare Nextcloud 12 su un computer con Ubuntu 16.04 o superiori.

Per saperne di più su Nextcloud vi invito a vedere il precedente articolo Nextcloud – Il Cloud personale e open source.

Prerequisiti

  • Una macchina fisica o virtuale con Ubuntu 16.04 o superiori (probabilmente è compatibile anche Ubuntu 15.04-15.10 ma non l’ho testato), con almeno 128MB di ram (512MB consigliati) e spazio disco sufficiente per contenere i vostri files.
  • WinSCP o FileZilla, vi saranno molto utili per la creazione e modifica dei file di testo. In alternativa è possibile editare i files dalla riga di comando con nano o vim.
  • Circa 30 minuti del vostro tempo, o anche 20, dipende dalla velocità.

Tutti i comandi qui inseriti possono essere utilizzati come root oppure come un altro utente non amministratore ma con il prefisso sudo davanti al comando.

Installazione dei pacchetti

Utilizzate il seguente comando per installare i pacchetti necessari.

apt-get install apache2 ffmpeg libapache2-mod-php7.0 mariadb-server php-apcu php-imagick php7.0 php7.0-bz2 php7.0-cli php7.0-common php7.0-curl php7.0-gd php7.0-intl php7.0-json php7.0-mbstring php7.0-mcrypt php7.0-mysql php7.0-xml php7.0-zip php7.0-gd zip

Configurazione di Apache

Eseguiamo i seguenti comandi dalla shell per abilitare i relativi moduli di Apache:

  • a2enmod rewrite
  • a2enmod headers
  • a2enmod env
  • a2enmod dir
  • a2enmod mime
  • a2enmod ssl

Da WinSCP o FileZilla posizioniamoci in /etc/apache2/sites-available e creiamo un nuovo file con un nome a piacere, ad esempio nextcloud.conf.

Apriamo il file con il blocco note di Windows (io consiglio Notepad++) e all’interno inseriamo il contenuto del seguente file: nextcloud_virtualhost.

Per abilitare il virtual host appena creato diamo il seguente comando

ln -s /etc/apache2/sites-available/nextcloud.conf /etc/apache2/sites-enabled/

Infine rimuoviamo il virtual host già presente (quello inserito durante l’installazione di apache) con il comando

rm /etc/apache2/sites-enabled/000-default.conf

Una volta finito, riavviamo Apache con il seguente comando:
service apache2 restart

Configurazione di MySQL

Per prima cosa eseguiamo il comando mysql_secure_installation. Per le istruzioni su come rispondere alle domande, vedete l’articolo Come installare LAMP su Ubuntu 16.

Digitiamo il seguente comando per entrare nella console di MySQL:

mysql -uroot -p

Quindi i seguenti comandi per creare un utente con relativo database, assegnando i permessi del db all’utente.

Sostituite il nome e la password con quelli a vostra scelta
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
CREATE DATABASE IF NOT EXISTS nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT ALL PRIVILEGES ON nextcloud.* TO 'username'@'localhost';

Successivamente, con WinSCP o FileZilla apriamo il file /etc/mysql/mariadb.conf.d/50-server.cnf.

Subito sotto la parola [mysqld] inseriamo la riga

transaction-isolation = READ-COMMITTED
innodb_large_prefix=on
innodb_file_format=barracuda
innodb_file_per_table=true

Il risultato dovrebbe essere simile a questo:

Configurazione di MySQL per Nextcloud 12
Configurazione di MySQL per Nextcloud 12

Quindi riavviamo il servizio MySQL con il comando

service mysql restart

Successivamente apriamo una shell MySQL con il comando mysql -uroot -p e diamo il comando

SHOW VARIABLES LIKE 'tx_isolation';

Se il risultato è come questo, allora la modifica è stata eseguita.

Variabile tx_isolation MariaDB

Configurazione di Nextcloud

Prima di configurare Nextcloud, scarichiamolo dal sito ufficiale:

wget https://download.nextcloud.com/server/releases/nextcloud-12.0.0.zip

Quindi scompattiamolo in /var/www

unzip nextcloud-12.0.0.zip -d /var/www

Con WinSCP o Filezilla creiamo il file /root/script_nextcloud.sh e all’interno inseriamo il seguente contenuto: nextcloud_permissions.

Questo script ci servirà per impostare correttamente i permessi sulla cartella /var/www/nextcloud e creerà anche alcune cartelle mancanti.

Nel caso il percorso della cartella dovesse essere diverso da quello nello script, dovrete modificarlo.

Diamo il comando per rendere eseguibile lo script ed eseguiamolo:

chmod +x /root/script_nextcloud.sh

/root/script_nextcloud.sh

Bene, a questo punto digitando http://<indirizzo_ip> dovreste già vedere il wizard di Nextcloud.

Wizard di configurazione

Ora vi illustrerò come eseguire la prima configurazione iniziale di Nextcloud 12.

1. Creazione dell’utente amministratore

Come potete vedere la prima parte serve a definire il nome e la password dell’utente amministratore.

Io vi consiglio di usare una password molto robusta, di almeno 12 caratteri con lettere maiuscole, minuscole, numeri e simboli.

2.  Definizione della cartella dei dati

In questo campo è necessario definire dove i nostri dati che andremmo a caricare saranno salvati.
Di default Nextcloud ci propone una directory, ma la documentazione ufficiale consiglia di non usare quel percorso per motivi di sicurezza.

Io vi consiglio di usare un percorso come /opt/nextcloud/data.

Se desiderate utilizzare un percorso diverso da quello consigliato, dovrete creare a mano la cartella con i seguenti comandi:

mkdir /opt/nextcloud/data
chown -R www-data:www-data /opt/nextcloud/data

3. Definizione della connessione al database

Nelle 4 caselle come mostrato nell’immagine dovrete inserire in questo ordine lo username di MariaDB creato in precedenza, la relativa password e il nome del database. Nell’ultimo campo potete lasciare localhost.

Quando avrete inserito tutti i dati cliccate sul tasto Termina configurazione.

Ecco, avete finito l’installazione!

Vi attenderà la seguente pagina di benvenuto:

Fine dell'installazione. Schermata iniziale

Se avete problemi vi invito a scrivere un commento.

Articolo pubblicato il 20/07/2017

Quanto è stato utile questo post?

Clicca su una stella per votare!

Mi dispiace che questo post non ti sia stato utile!

Permettimi di migliorare questo post!

Dimmi come posso migliorare questo post!

11 comments

  1. Non funziona….quando provo a connettermi mi dice pagina non trovata. Ho eseguito tutti i passaggi… potrebbe essere un problema di apache2?!?!

  2. Ciao, articolo interessantissimo e soprattutto ben spiegato, una difficoltà, quando arrivo a lanciare il comando /root/script_nextcloud.sh, il terminale mi restituisce questo messaggio:

    Creating possible missing Directories
    chmod Files and Directories
    chown Directories
    chmod/chown .htaccess

    non capisco se l’output postato è corretto, io credo di no perchè dopo provo ad inserire l’indirizzo ip con https e mi da pagina non trovata invece se metto http mi appare la pagina di apache

  3. piuttosto che
    ln -s /etc/apache2/sites-available/nextcloud /etc/apache2/sites-enabled/
    andrebbe messo
    ln -s /etc/apache2/sites-available/nextcloud.conf /etc/apache2/sites-enabled/

  4. Ciao!
    Grazie per l articolo davvero semplice e funzionale. Nextcloud é davvero fantastico,l’ho installato su un piccolo raspberry pi3 b+ ma non riesco a configurare il mio hard disk esterno ssd come “storage” potresti aiutarmi?.
    Grazie.
    Carlo

Lascia un commento