Come installare ownCloud su Debian 12
ownCloud è una soluzione software per la creazione di servizi di file hosting come Google Drive e DropBox. È un software di file hosting gratuito e open source che ti consente di configurare un file hosting self-hosted sul tuo server. ownCloud offre l'applicazione server (il componente principale del software ownCloud) e applicazioni client che possono essere installate su più sistemi operativi come Linux, Windows, macOS, Android e iOS.
ownCloud è scritto principalmente in PHP, JavaScript e Go. Ti consente di sincronizzare facilmente gli eventi del calendario e di archiviare archivi, immagini e file. Ti permette anche di organizzare attività, rubriche, ecc. ownCloud è un'applicazione estensibile che ti permette di installare sopra un'applicazione aggiuntiva.
Segui questa guida per imparare passo dopo passo come installare il software ownCloud su Debian 12. Scopri come installare ownCloud tramite la riga di comando su LAMP Stack e proteggere ownCloud con i certificati SSL/TLS di Letsencrypt.
Prerequisiti
Per iniziare il processo, assicurati di avere quanto segue:
- Un server Debian 12.
- Un utente non root con utente amministratore.
- Un nome di dominio puntava all'indirizzo IP di un server.
Installazione delle dipendenze
Nella sezione seguente installerai le dipendenze del pacchetto necessarie a ownCloud. Di seguito sono riportati alcuni pacchetti che verranno installati:
- Server web Apache2.
- Server database MariaDB.
PHP 7.4 - L'attuale versione 8.x di PHP non è ancora supportata da ownCloud, quindi installerai PHP 7.4 tramite un repository di terze parti. - Server Redis.
- Pacchetti aggiuntivi come ImageMagick, Certbot, Pear ed estensioni PHP.
Innanzitutto, esegui il comando seguente per installare alcune dipendenze sul tuo sistema.
sudo apt install lsb-release ca-certificates curl -y
Ora esegui il comando seguente per aggiungere la chiave GPG PHP e il repository al tuo sistema Debian. Sfortunatamente, ownCloud non supporta ancora PHP 8.x e devi installare PHP 7.4 sulla tua macchina Debian tramite un repository di terze parti.
sudo curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg
sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
Successivamente, esegui il comando seguente per aggiornare e aggiornare il tuo repository Debian.
sudo apt update
Quindi installa le dipendenze per ownCloud eseguendo il seguente comando apt install. Con questo installerai LAMP Stack (Apache2, MariaDB e PHP 7.4), Certbot, Redis, estensioni PHP aggiuntive e ImageMagick.
sudo apt install apache2 mariadb-server imagemagick certbot python3-certbot-apache smbclient redis-server unzip rsync libapache2-mod-php7.4 php7.4 php7.4-intl php7.4-mysql php7.4-mbstring php7.4-imagick php7.4-igbinary php7.4-gmp php7.4-bcmath php7.4-curl php7.4-gd php7.4-zip php7.4-imap php7.4-ldap php7.4-bz2 php7.4-ssh2 php7.4-common php7.4-json php7.4-xml php7.4-dev php7.4-apcu php7.4-redis libsmbclient-dev php-pear php-phpseclib
Digitare y per procedere con l'installazione.
Una volta installate le dipendenze, verifica ciascuna di esse eseguendo il comando seguente.
Esegui il comando seguente per verificare il servizio apache2 e assicurarti che il servizio sia in esecuzione.
sudo systemctl is-enabled apache2
sudo systemctl status apache2
Il seguente output mostra che apache2 è abilitato e in esecuzione.
Verifica il servizio mariadb utilizzando il comando seguente.
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
L'output dovrebbe essere simile, un output abilitato conferma che mariadb è abilitato e l'output attivo (in esecuzione) conferma che mariadb è in esecuzione.
Ora verifica Redis utilizzando il seguente comando.
sudo systemctl is-enabled redis
sudo systemctl status redis
Il server Redis dovrebbe essere in esecuzione e abilitato come segue:
Successivamente, esegui il comando seguente per configurare la versione PHP predefinita sulla tua macchina Debian.
sudo update-alternatives --config php
Seleziona la versione PHP predefinita su PHP 7.2.
Esegui il comando seguente per configurare strumenti PHP aggiuntivi per utilizzare PHP 7.4.
sudo update-alternatives --set phar /usr/bin/phar7.4
sudo update-alternatives --set phar.phar /usr/bin/phar.phar7.4
sudo update-alternatives --set phpize /usr/bin/phpize7.4
sudo update-alternatives --set php-config /usr/bin/php-config7.4
Successivamente, verifica la versione PHP predefinita e alcune estensioni abilitate utilizzando il seguente comando.
php -v
php -m
L'output seguente conferma che PHP 7.2 è installato e diventa la versione PHP predefinita sulla tua macchina Debian.
Infine, controlla il percorso binario di Certbot e la sua versione utilizzando il seguente comando.
which certbot
certbot --version
Dovresti vedere che Certbot 2.1.0 è installato su /usr/bin/certbot.
Aggiornamento di PHP Pera
Dopo aver installato le dipendenze, il passaggio successivo è aggiornare il pacchetto Pear alla versione più recente, operazione che può essere eseguita tramite la riga di comando Pear.
Esegui il comando seguente per creare una nuova directory temporanea /tmp/pear/cache e aggiornare la versione di Pear a 1.10.13.
sudo mkdir -p /tmp/pear/cache
sudo pear upgrade --force --alldeps http://pear.php.net/get/PEAR-1.10.13
Durante l'installazione, dovresti avere un output come il seguente:
Successivamente, esegui i comandi pepper seguenti per svuotare la cache, aggiornare i canali e aggiornare tutti i pacchetti.
sudo pear clear-cache
sudo pear update-channels
sudo pear upgrade --force
sudo pear upgrade-all
Una volta terminato, verifica la versione PEAR utilizzando il seguente comando.
pear version
Dovresti vedere che Pears è aggiornato alla v1.10.13.
Configurazione del server MariaDB
Nella sezione seguente, creerai e proteggerai l'installazione del tuo MariaDB Server tramite l'utility mariadb-secure-installation. Quindi, creerai un nuovo database e un nuovo utente che verranno utilizzati da ownCloud.
Per proteggere il server MariaDB, esegui il seguente comando sul tuo terminale.
sudo mariadb-secure-installation
Durante il processo, ti verranno chieste informazioni su alcune configurazioni di MariaDB. Immettere Y per accettare la configurazione oppure n per rifiutarla. Di seguito sono riportate alcune delle configurazioni di MariaDB che ti verranno richieste:
- Passare all'autenticazione unix_socket?. Immettere n e premere ENTER. L'utente root predefinito di MariaDB è già protetto. facoltativamente, puoi anche abilitarlo digitando y per sì.
- Cambiare la password di root?. Inserisci y per confermare e impostare la tua nuova password root MariaDB.
- Rimuovere l'utente anonimo?. Immettere y per confermare.
- Non consentire l'accesso root da remoto? Immettere y per confermare. Se si utilizza l'utente root MariaDB sarà consentita solo la connessione locale.
- Rimuovere il database di test e accedervi?. Immettere y per confermare e rimuovere il "test" del database predefinito.
- Infine, inserisci nuovamente y per ricaricare tutti i privilegi delle tabelle sul tuo server MariaDB e applicare le nuove modifiche.
Dopo aver protetto MariaDB, creerai un nuovo database e un nuovo utente che verranno utilizzati da ownCloud. Per fare ciò, è necessario accedere al server MariaDB tramite il client mariadb.
Eseguire il comando seguente per accedere al server MariaDB. Inserisci la password root di MariaDB quando richiesto.
sudo mariadb -u root -p
Ora esegui le query MariaDB di seguito per creare un nuovo database e utente per ownCloud. In questo esempio, creerai un nuovo database owncloud, un utente owncloud, con la password password.
CREATE DATABASE owncloud;
CREATE USER IF NOT EXISTS 'owncloud'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON owncloud.* TO 'owncloud'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Infine, verifica i privilegi per l'utente owncloud eseguendo la seguente query.
SHOW GRANTS FOR 'owncloud'@'localhost';
Dovresti vedere che l'utente owncloud può accedere al database owncloud, che verrà utilizzato per la tua installazione ownCloud.
Ora digita quit per uscire dal server MariaDB.
Download del codice sorgente ownCloud
Dopo aver configurato il server MariaDB, scaricherai il codice sorgente ownCloud e configurerai la directory DocumentRoot per la tua installazione ownCloud con la relativa autorizzazione e proprietà.
Per prima cosa, cambia la tua directory di lavoro in /var/www.
cd /var/www
Quindi, esegui i seguenti comandi wget per scaricare il codice sorgente ownCloud e il file di checksum corrispondente sul tuo sistema.
wget https://download.owncloud.com/server/stable/owncloud-complete-latest.tar.bz2
wget https://download.owncloud.com/server/stable/owncloud-complete-latest.tar.bz2.sha256
Ora esegui il comando seguente per garantire l'integrità del tuo codice sorgente ownCloud. In caso di successo, dovresti ottenere l'output "owncloud-complete-latest.tar.bz2: OK".
sudo sha256sum -c owncloud-complete-latest.tar.bz2.sha256 < owncloud-complete-latest.tar.bz2
Successivamente, esegui il comando seguente per estrarre il codice sorgente ownCloud. L'origine ownCloud verrà estratta nella directory /var/www/owncloud, che verrà utilizzata anche come directory DocumentRoot.
tar -xf owncloud-complete-latest.tar.bz2
Infine, esegui il comando seguente per modificare la proprietà della directory /var/www/owncloud nell'utente www-data.
sudo chown -R www-data:www-data /var/www/owncloud
Configurazione dell'host virtuale Apache2
In questa sezione creerai una nuova configurazione di host virtuale che verrà utilizzata per eseguire ownCloud. Genererai anche certificati SSL/TLS da Letsencrypt tramite Certbot. Quindi, prima di iniziare, assicurati che il nome di dominio punti all'indirizzo IP del tuo server.
Per iniziare, esegui il comando seguente per abilitare alcuni moduli Apache2 che verranno utilizzati da ownCloud.
sudo a2enmod rewrite env dir mime unique_id headers ssl
Ora crea un nuovo file host virtuale /etc/apache2/sites-available/owncloud.conf utilizzando il seguente comando dell'editor nano.
sudo nano /etc/apache2/sites-available/owncloud.conf
Inserisci la seguente configurazione e assicurati di modificare il nome del dominio all'interno del parametro ServerName.
<VirtualHost *:80>
ServerName hwdomain.io
ServerAlias www.hwdomain.io
DocumentRoot /var/www/owncloud
ErrorLog ${APACHE_LOG_DIR}/hwdomain.io-error.log
CustomLog ${APACHE_LOG_DIR}/hwdomain.io-access.log combined
Alias /owncloud "/var/www/owncloud/"
<Directory /var/www/owncloud/>
Options +FollowSymlinks
AllowOverride All
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/owncloud
SetEnv HTTP_HOME /var/www/owncloud
</Directory>
</VirtualHost>
Salva il file e esci dall'editor quando hai finito.
Successivamente, esegui il comando a2ensite riportato di seguito per attivare il file host virtuale owncloud.conf e verifica la sintassi Apache2 tramite il comando apachectl. Se hai una sintassi corretta, dovresti ottenere l'output "Syntax OK".
sudo a2ensite owncloud.conf
sudo apachectl configtest
Ora esegui il comando systemctl riportato di seguito per riavviare il servizio apache2 e applicare le modifiche apportate.
sudo systemctl restart apache2
Infine, esegui il comando certbot di seguito per generare certificati SSL/TLS per il tuo nome di dominio ownCloud. Assicurati di modificare il nome di dominio e l'indirizzo e-mail nel comando seguente con le tue informazioni.
sudo certbot --apache --agree-tos --no-eff-email --redirect --hsts --staple-ocsp --email [email -d hwdomain.io
Una volta terminato il processo, i tuoi certificati SSL/TLS saranno disponibili nella directory /etc/letsencrypt/live/hwdomain.io. Inoltre, il file host virtuale owncloud.conf verrà automaticamente configurato con HTTPS.
Installazione di ownCloud tramite riga di comando
A questo punto, hai installato e configurato tutte le dipendenze necessarie per ownCloud. È possibile avviare la fase di installazione tramite un browser Web o una riga di comando. In questo esempio installerai ownCloud tramite la riga di comando.
Sposta la tua directory di lavoro in /var/www/owncloud.
cd /var/www/owncloud
Esegui il comando seguente per installare ownCloud tramite la riga di comando. Assicurati di modificare i dettagli del database MariaDB e il nuovo utente amministratore e la password per ownCloud.
sudo -u www-data /var/www/owncloud/occ maintenance:install \
--database "mysql" \
--database-name "owncloud" \
--database-user "owncloud"\
--database-pass "password" \
--admin-user "admin" \
--admin-pass "adminpassowncloud"
Una volta terminata l'installazione, dovresti ottenere il seguente output.
Successivamente, apri lo script ownCloud config.php utilizzando il seguente comando dell'editor nano.
sudo nano /var/www/owncloud/config/config.php
Aggiungi il tuo nome di dominio Cloud a Trusted_Domains come il seguente.
'trusted_domains' =>
array (
0 => 'localhost',
1 => 'hwdomain.io',
),
Salva e chiudi il file una volta terminato.
Ora apri il tuo browser web e visita il tuo nome di dominio Cloud, come http://hwdoamin.io/. Verrai reindirizzato a una connessione HTTPS sicura e otterrai la pagina di accesso di ownCloud.
Inserisci l'utente e la password dell'amministratore, quindi fai clic su Accedi.
Se tutto va bene, dovresti vedere la tua dashboard Cloud come la seguente.
Ottimizzazione delle prestazioni per ownCloud
Ora che hai installato ownCloud, nell'ultima sezione aggiungerai una nuova configurazione per migliorare la tua installazione di ownCloud. Creerai un nuovo crontab per ownCloud e integrerai Redis nella tua installazione ownCloud.
Crea un nuovo cron per ownCloud eseguendo il comando seguente.
sudo crontab -u www-data -e
Seleziona il tuo editor di testo preferito e inserisci la seguente configurazione. Con questo, eseguirai il comando "/usr/bin/php -f /var/www/owncloud/occ system:cron" ogni 15 minuti.
*/15 * * * * /usr/bin/php -f /var/www/owncloud/occ system:cron
Salva e chiudi il file quando hai finito.
Successivamente, apri nuovamente il file ownCloud config.php utilizzando il comando dell'editor nano.
sudo nano /var/www/owncloud/config/config.php
Aggiungi il tuo server Redis come memcache.locking come segue:
<?php>
....
....
'filelocking.enabled' => true,
'memcache.local' => '\OC\Memcache\APCu',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => [
'host' => 'localhost',
'port' => 6379,
],
....
....
);
Salvare ed uscire dal file una volta terminato.
Ora torna alla dashboard di ownCloud, fai clic sull'icona dell'utente e seleziona Impostazioni.
Fai clic sul menu Generale e controlla la sezione Avvisi di sicurezza e configurazione per ottenere consigli dettagliati per la tua installazione ownCloud.
Conclusione
Congratulazioni! Hai completato passo dopo passo l'installazione di ownCloud sul server Debian 12. Hai installato ownCloud con LAMP Stack (Apache2, MariaDB e PHP), protetto ownCloud con certificati SSL/TLS di Letsencrypt e integrato il server Redis nella tua installazione ownCloud.