Guida alle tecnologie

Installare ownCloud su Rocky Linux: guida completa

9 min read Server Aggiornato 22 Oct 2025
Installare ownCloud su Rocky Linux (guida completa)
Installare ownCloud su Rocky Linux (guida completa)

Questa guida mostra come installare e configurare ownCloud su Rocky Linux 8.x. Copre l’installazione della LAMP stack, Redis, SELinux, firewalld, la configurazione del virtual host Apache, la creazione del database MariaDB, la verifica del pacchetto ownCloud e la messa in produzione con cron. Segui i passaggi passo passo e i checklist per una installazione stabile e sicura.

Introduzione

ownCloud è una suite open source per creare servizi di file hosting self-hosted analoghi a Google Drive e Dropbox. Include un’applicazione server (componente principale) e client per Linux, Windows, macOS, Android e iOS. ownCloud è scritto principalmente in PHP, JavaScript e Go. Permette sincronizzazione di file, calendario, rubriche e più applicazioni tramite estensioni.

In questa guida installeremo ownCloud su un server Rocky Linux. La procedura copre le dipendenze, l’installazione di PHP 7.4 (necessaria per le versioni menzionate), Apache/httpd, MariaDB, Redis, configurazione SELinux e Firewalld, e la fase di installazione via web.

Importante: questa guida segue il flusso descritto nel documento sorgente e usa versioni specifiche (Redis v6, PHP 7.4, ownCloud 10.11) indicate al momento della scrittura. Adatta i comandi alle versioni correnti se necessario.

Intento principale e varianti correlate

  • Intento principale: installare ownCloud su Rocky Linux
  • Varianti correlate: installare ownCloud con Apache, installare ownCloud con Nginx e PHP-FPM, configurare ownCloud con SELinux attivo, ottimizzare ownCloud con Redis e APCu

Cosa troverai in questa guida

  • Requisiti e preparazione del server
  • Installazione delle dipendenze base e Redis v6
  • Installazione di PHP 7.4 tramite repository REMI e delle estensioni richieste
  • Installazione e configurazione di Apache/httpd e Firewalld
  • Installazione e hardening di MariaDB e creazione del database ownCloud
  • Scarico, verifica e installazione dei file ownCloud
  • Configurazione SELinux per ownCloud
  • Esecuzione dell’installer web e configurazione del cron
  • Controlli, troubleshooting, checklist operative e suggerimenti per produzione

Fatt box: numeri chiave

  • ownCloud: versione citata v10.11
  • PHP: 7.4 (compatibilità per la versione citata)
  • Redis: 6
  • Sistema target: Rocky Linux 8.x

Requisiti

Prima di iniziare hai bisogno di:

  • Un server Rocky Linux 8.x con accesso root o un utente con privilegi sudo.
  • Un dominio o sottodominio puntato all’IP del server (esempio usato: howtoforge.local).
  • Connessione internet per scaricare pacchetti e repository.

Suggerimento: esegui i comandi come utente sudo per evitare errori di permessi.

Installazione delle dipendenze base

Aggiungi il repository EPEL e poi installa pacchetti di base e Redis.

Esegui:

sudo dnf install epel-release

Quando richiesto, conferma con “y”.

Schermata installazione EPEL su Rocky Linux

Abilita Redis v6 dal modulo del repository:

sudo dnf module reset redis
sudo dnf module enable redis:6

Conferma con “y” quando richiesto.

Abilitazione Redis 6

Installa le dipendenze consigliate:

sudo dnf install libsmbclient redis unzip libzip bzip2 openssl rsync ImageMagick

Conferma con “y”.

Installazione dipendenze base

Abilita e avvia Redis:

sudo systemctl enable redis
sudo systemctl start redis
sudo systemctl status redis

Verifica che Redis sia attivo e abilitato al boot.

Stato Redis

Nota: Redis viene usato da ownCloud per caching e per migliorare le performance nelle sessioni e nei metadati. Se prevedi configurazioni distribuite o cluster, considera la topologia Redis adatta.

Installare PHP 7.4 e le estensioni necessarie

La versione di ownCloud descritta richiede PHP 7.4. Rocky Linux 8 ha repository ufficiali, ma useremo REMI per ottenere PHP 7.4.

Aggiungi REMI:

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

Conferma con “y”.

Aggiunta repository REMI

Abilita il modulo PHP 7.4:

sudo dnf module reset php
sudo dnf module enable php:remi-7.4

Conferma con “y”.

Abilitazione repo PHP 7.4

Installa PHP e le estensioni richieste da ownCloud:

sudo dnf install --enablerepo=remi php php-intl php-mysql php-mbstring \
  php-imagick php-igbinary php-gmp php-bcmath \
  php-curl php-gd php-zip php-imap php-ldap \
  php-bz2 php-ssh2 php-common php-json \
  php-xml php-devel php-apcu php-redis \
  php-smbclient php-pear php-phpseclib

Conferma con “y” quando richiesto.

Installazione PHP 7.4 e estensioni

Controlla la versione di PHP:

php --version

Dovresti vedere PHP 7.4 installato.

Verifica versione PHP

Suggerimento: considera l’uso di OPcache e APCu per migliorare le prestazioni di PHP in produzione.

Installare il web server httpd (Apache)

ownCloud funziona con Apache, Nginx e IIS. Qui useremo Apache/httpd.

Installa Apache e moduli SSL:

sudo dnf install httpd httpd-devel httpd-tools mod_ssl

Conferma con “y”.

Installazione httpd

Abilita e avvia httpd:

sudo systemctl enable httpd
sudo systemctl start httpd
sudo systemctl status httpd

Verifica che il servizio sia attivo.

Stato httpd

Aggiungi regole in firewalld per HTTP e HTTPS:

sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --list-services

Ora il server è raggiungibile dall’esterno se il DNS punta correttamente.

Configurazione firewalld

Verifica l’integrazione PHP+Apache creando un file phpinfo:

cat <
EOF

Apri nel browser: http://IP_DEL_SERVER/info.php

Pagina phpinfo

Rimuovi il file info.php dopo il controllo per motivi di sicurezza.

Installare e configurare MariaDB

ownCloud supporta diversi RDBMS. Per produzione si consiglia MariaDB/MySQL o PostgreSQL. Qui useremo MariaDB.

Installa MariaDB server:

sudo dnf install mariadb-server

Conferma con “y”.

Installazione MariaDB

Abilita e avvia MariaDB:

sudo systemctl enable mariadb
sudo systemctl start mariadb
sudo systemctl status mariadb

Stato MariaDB

Esegui lo script di hardening:

sudo mysql_secure_installation

Risposte consigliate (seguire le istruzioni a schermo):

  1. Cambiare metodo di autenticazione per root? n
  2. Cambiare password root? y → inserire password sicura
  3. Disabilitare login remoto root? y
  4. Rimuovere utenti anonimi? y
  5. Rimuovere database di test? y
  6. Ricaricare i privilegi? y

Ora crea il database e l’utente ownCloud:

sudo mysql -u root -p

CREATE DATABASE owncloud;
CREATE USER IF NOT EXISTS 'owncloud'@'localhost' IDENTIFIED BY 'owncloudpass';
GRANT ALL PRIVILEGES ON owncloud.* TO 'owncloud'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
quit

Sostituisci ‘owncloudpass’ con una password robusta.

Creazione database e utente

Verifica i privilegi dell’utente owncloud:

SHOW GRANTS FOR 'owncloud'@'localhost';

Verifica privilegi DB

Nota di sicurezza: limita le connessioni al database al minimo indispensabile e considera l’uso di certificati SSL per le connessioni DB se remote.

Scaricare e verificare il codice sorgente ownCloud

Spostati in /var/www e scarica l’archivio ufficiale e il checksum SHA256:

cd /var/www
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

Verifica il checksum:

sudo sha256sum -c owncloud-complete-latest.tar.bz2.sha256 < owncloud-complete-latest.tar.bz2

Dovresti vedere “OK” come risultato se il file è integro.

Estrai l’archivio:

sudo tar -xvjf owncloud-complete-latest.tar.bz2

Imposta il proprietario della directory su apache:

sudo chown -R apache:apache /var/www/owncloud

Questo è necessario affinché Apache possa leggere e scrivere nei percorsi richiesti dall’installazione.

Configurazione Virtual Host Apache per ownCloud

Crea il file di configurazione /etc/httpd/conf.d/owncloud.conf con il contenuto seguente. Modifica Domain e i path SSL in base al tuo ambiente.


  ServerName howtoforge.local
  Redirect permanent / https://howtoforge.local/



  ServerName howtoforge.local
  DocumentRoot /var/www

  Protocols h2 http:/1.1

  
    Redirect permanent / https://howtoforge.local/
  

  ErrorLog /var/log/httpd/howtoforge.local-error.log
  CustomLog /var/log/httpd/howtoforge.local-access.log combined

  SSLEngine On
  SSLCertificateFile /etc/letsencrypt/live/howtoforge.local/fullchain.pem
  SSLCertificateKeyFile /etc/letsencrypt/live/howtoforge.local/privkey.pem

  SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384

  SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
  SSLCompression off

  Header always set Strict-Transport-Security "max-age=63072000"

  Alias /owncloud "/var/www/owncloud/"

  
    Options +FollowSymlinks
    AllowOverride All

    
    Dav off
    

    SetEnv HOME /var/www/owncloud
    SetEnv HTTP_HOME /var/www/owncloud

  

Verifica la configurazione Apache e riavvia il servizio:

sudo apachectl configtest
sudo systemctl restart httpd

Configurazione httpd per ownCloud

Nota: genera certificati SSL/TLS con Let’s Encrypt o un’authority di tua scelta prima di attivare HTTPS in produzione.

Configurazione SELinux per ownCloud

Se SELinux è attivo e in modalità enforcing, è necessario applicare i contesti corretti e abilitare i boolean necessari.

Installa gli strumenti di gestione SELinux:

sudo dnf install policycoreutils-python-utils

Conferma con “y”.

Installazione strumenti SELinux

Aggiungi i contesti e ripristina le etichette:

sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/owncloud/data(/.*)?'
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/owncloud/config(/.*)?'
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/owncloud/apps(/.*)?'
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/owncloud/apps-external(/.*)?'
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/owncloud/.htaccess'
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/owncloud/.user.ini'

sudo restorecon -Rv '/var/www/owncloud/'

Abilita i boolean per permettere ad httpd di connettersi ai servizi necessari:

sudo setsebool -P httpd_can_network_connect_db on
sudo setsebool httpd_unified on
sudo setsebool -P httpd_can_connect_ldap on
sudo setsebool -P httpd_can_network_connect on
sudo setsebool -P httpd_can_network_memcache on
sudo setsebool -P httpd_can_sendmail on
sudo setsebool -P httpd_use_cifs on
sudo setsebool -P httpd_use_fusefs on
sudo setsebool -P httpd_use_gpg on

Queste impostazioni consentono ad Apache di comunicare con database, memcache, servizi di rete e risorse esterne necessarie a ownCloud.

Configurazione SELinux per ownCloud

Processo di installazione via web

Apri il browser e visita: https://howtoforge.local/owncloud/ (sostituisci con il tuo dominio).

Compila i campi:

  • Crea un utente amministratore e password.
  • Seleziona MySQL/MariaDB.
  • Inserisci host (localhost), nome DB (owncloud), utente (owncloud) e la password scelta.

Clicca “Finish setup” per avviare l’installazione via web.

Installazione ownCloud via web

Al termine comparirà la schermata di login ownCloud.

Pagina di login ownCloud

Accedi con l’utente amministratore e verrai reindirizzato alla dashboard.

Dashboard ownCloud

Puoi creare cartelle e caricare file dall’interfaccia web. Esempio: creazione di una directory test-directory e upload di file.

Creazione directory e upload

Impostare cron per ownCloud

ownCloud consiglia l’uso di cron per eseguire attività periodiche in background.

Imposta l’esecuzione background in modalità cron:

sudo -u apache /var/www/owncloud/occ background:cron

Aggiungi il cron dell’utente apache:

sudo crontab -u apache -e

Aggiungi la riga:

*/15 * * * * /usr/bin/php -f /var/www/owncloud/occ system:cron

Questo esegue il cron ogni 15 minuti.

Configurazione cron

Controlla in Impostazioni → Generale → Security and setup warnings che tutte le verifiche siano passate.

Impostazioni sicurezza ownCloud

Hardening e suggerimenti di produzione

  1. HTTPS obbligatorio: usa certificati validi e HSTS.
  2. Disabilita phpinfo pubblico e rimuovi file di test.
  3. Limita l’accesso SSH via firewall e usa autenticazione a chiave.
  4. Esegui backup regolari del DB e della directory /var/www/owncloud/data.
  5. Monitora risorse (CPU, RAM, I/O disco). ownCloud può diventare I/O-bound su carichi elevati.
  6. Abilita OPcache e APCu per PHP. Usa Redis come cache e per le sessioni.
  7. Aggiorna regolarmente il sistema operativo, PHP e ownCloud.
  8. Evita di esporre l’utente root: usa sudoers per gli amministratori.

Backup e ripristino: playbook essenziale

Checklist per backup:

  • Backup database MariaDB: mysqldump o snapshot logico.
  • Backup directory /var/www/owncloud (codice e config).
  • Backup directory dei dati: /var/www/owncloud/data.
  • Verifica integrità dei backup (restore di prova su ambiente di staging).

Esempio rapido di dump DB:

mysqldump -u root -p owncloud > /root/backup-owncloud-$(date +%F).sql

Copia i backup in storage esterno (NAS/obj storage) e mantieni una politica di rotazione.

Criteri di accettazione

Un’installazione ownCloud è pronta per la produzione quando:

  • Tutti i servizi (httpd, php-fpm se usato, redis, mariadb) sono in esecuzione e abilitati.
  • SELinux è configurato correttamente senza errori per i contesti di ownCloud.
  • Le verifiche in Impostazioni → Security and setup warnings mostrano “All checks passed”.
  • HTTPS è operativo con certificato valido e HSTS.
  • Cron è configurato e funzionante.
  • Sono stati eseguiti backup completi e verificato il ripristino.

Test cases e criteri di verifica

  • Login: admin può accedere alla dashboard.
  • Upload: caricare un file di 10 MB con successo.
  • Download: scaricare lo stesso file entro tempo ragionevole.<
  • Condivisione: creare una condivisione interna e verificare permessi.
  • Backup/restore: ripristino DB e dati su ambiente di test e verifica integrità.

Troubleshooting comune

Problema: pagina bianca o errore 500

  • Controlla i log di Apache: /var/log/httpd/error_log
  • Controlla i log PHP e SELinux (audit.log)
  • Verifica permessi dei file e contesti SELinux

Problema: “Database connection error”

  • Controlla credenziali nel pannello di installazione o in config.php
  • Assicurati che MariaDB sia in ascolto su localhost e che l’utente abbia privilegi

Problema: warning su cache/session

  • Verifica che Redis sia attivo
  • Configura memcache Redis in config.php di ownCloud (vedi snippet sotto)

Snippet configurazione cache Redis per config.php:

'redis' => array(
  'host' => '/var/run/redis/redis.sock',
  'port' => 0,
  'timeout' => 0.0,
  'dbindex' => 0,
),
'memcache.local' => '\\OC\\Memcache\\Redis',
'session.save_handler' => 'redis',
'session.save_path' => 'tcp://127.0.0.1:6379',

Adatta il path o host/porta secondo la tua installazione Redis.

Alternative e modelli mentali

  • Se preferisci Nginx + PHP-FPM, sposta le direttive virtual host in blocchi server per Nginx e configura PHP-FPM pool per l’utente apache o www-data.
  • Per carichi alti, considera separare il DB in un host dedicato e usare un backend di storage per i file (NAS o object storage compatibile).
  • Usa OPCache per ridurre i tempi di parsing PHP.

Quando questa procedura fallisce

  • Versioni incompatibili PHP/ownCloud: verifica la matrice di compatibilità ufficiale.
  • Errori SELinux: disattivare SELinux non è consigliato; correggi i contesti o booleani.

Ruoli e checklist operativa

Amministratore di sistema:

  • Installare pacchetti richiesti
  • Configurare SELinux e boolean
  • Configurare cron e backup
  • Monitorare log

Amministratore ownCloud:

  • Configurare utenti e gruppi
  • Installare app utili (Collabora/OnlyOffice) se necessario
  • Testare sincronizzazione client

Sicurezza/Compliance:

  • Verificare crittografia in transito
  • Controllare accessi e auditing

Mappa decisionale rapida (Mermaid)

flowchart TD
  A[Inizio: nuovo server Rocky Linux] --> B{Hai un dominio?}
  B -- No --> C[Configura DNS]
  B -- Sì --> D[Installa EPEL e REMI]
  D --> E[Installa PHP 7.4 e moduli]
  E --> F[Installa Apache]
  F --> G[Installa MariaDB]
  G --> H[Configura Redis]
  H --> I[Scarica ownCloud e verifica SHA256]
  I --> J[Configura Virtual Host e SELinux]
  J --> K[Avvia installer web]
  K --> L{All checks passed?}
  L -- No --> M[Leggi log e correggi]
  L -- Sì --> N[Configura cron e backup]
  N --> O[Produzione]

Glossario in una riga

  • LAMP: acronimo per Linux, Apache, MariaDB/MySQL, PHP.
  • SELinux: sistema di controllo degli accessi a livello kernel.
  • Redis: datastore in-memory usato per caching.

Suggerimenti social (anteprima oggetto Open Graph)

OG title: Installare ownCloud su Rocky Linux — guida completa OG description: Guida passo passo per installare ownCloud su Rocky Linux 8.x con LAMP, Redis, SELinux e best practice per la produzione.

Conclusione

Hai completato l’installazione base di ownCloud su Rocky Linux. Ora puoi caricare file, creare utenti e integrare applicazioni aggiuntive. Per la produzione, assicurati di implementare backup regolari, monitoraggio e aggiornamenti periodici. Considera l’uso di Nginx/PHP-FPM, separare DB su host dedicato e ottimizzare caching con Redis e APCu quando il carico cresce.

Importante: mantieni aggiornati i componenti e rivedi le policy di sicurezza regolarmente.

Autore
Redazione

Materiali simili

Installare e usare Podman su Debian 11
DevOps

Installare e usare Podman su Debian 11

Guida rapida a apt-pinning su Debian
Linux

Guida rapida a apt-pinning su Debian

Forzare FSR 4 con OptiScaler: guida completa
Guide.

Forzare FSR 4 con OptiScaler: guida completa

Dansguardian + Squid NTLM su Debian Etch
Rete

Dansguardian + Squid NTLM su Debian Etch

Riparare errore installazione SD su Android
Android

Riparare errore installazione SD su Android

Cartelle di rete con KNetAttach e remote:/
Linux

Cartelle di rete con KNetAttach e remote:/