Ricerca nel sito web

Come installare sFTPGo su Rocky Linux


sFTPGo è un server SFTP altamente configurabile con protocolli sicuri aggiuntivi come HTTP/S, FTP/S e supporto WebDAV. Ti consente di creare server FTP con diversi backend, come file system locali e provider di archiviazione di terze parti come Amazon S3, Google Storage Engine e Azure Blog Storage.

FTP fornisce un modo sicuro per inviare e ricevere file tramite più protocolli. Supporta cartelle virtuali, supporta backend di database come SQLite, MariaDB e PostgreSQL, fornisce API REST, supporta autenticazioni a due fattori e molto altro.

In questo tutorial creeremo un server FTP sicuro con il moderno software per server FTP sFTPGo su un server Rocky Linux. Imparerai anche come abilitare Webdav su sFTPGo.

Prerequisiti

Per completare questo tutorial avrai i seguenti requisiti:

  • Un server Rocky Linux: puoi utilizzare Rocky Linux v8 o v9.
  • Un utente non root con privilegi sudo/root abilitati.
  • Un nome di dominio puntava all'indirizzo IP del server, soprattutto per la produzione.

Installazione di sFTPGo

sFTPGo è un software server FTP moderno e completo che supporta più protocolli di sicurezza come FTP/S, Webdav e HTTP/S. Supporta inoltre più database backend che includono PostgreSQL, MySQL e SQLite (impostazione predefinita).

sFTPGo può anche essere integrato con più backend per servire file per gli utenti, inclusi file system locali (che possono essere crittografati), servizi di archiviazione cloud come Google Cloud Storage, Azure Blob Storage e Amazon S3.

Esistono diversi modi per installare sFTPGo sul server Rocky Linux. Puoi sceglierne uno adatto alla tua distribuzione.

Installazione tramite DNF

sFTPGo fornisce il suo repository per più distribuzioni Linux, tra cui Debian, Ubuntu, CentOS/RockyLinux/AlmaLinux.

Su Rocky Linux, puoi installare sFTPGo tramite il gestore pacchetti DNF.

Esegui il comando seguente per aggiungere il repository sFTPGo al tuo server Rocky Linux.

ARCH=`uname -m`
curl -sS https://ftp.osuosl.org/pub/sftpgo/yum/${ARCH}/sftpgo.repo | sudo tee /etc/yum.repos.d/sftpgo.repo

Ora aggiorna e aggiorna il repository dei pacchetti tramite il comando dnf di seguito.

sudo dnf update

Una volta installato l'aggiornamento del pacchetto, esegui il comando dnf seguente per installare il pacchetto sFTPGo.

sudo dnf install sftpgo

Quando viene richiesto di confermare l'installazione, inserire Y e premere INVIO per procedere.

Inoltre, se ricevi la richiesta di accettare le chiavi GPG del repository sFTPGo, inserisci nuovamente y.

Dopo aver installato sFTPGo, esegui il comando seguente per avviare e abilitare il servizio "sftpgo". Ciò eseguirà il servizio sFTPGo e lo abiliterà a funzionare automaticamente all'avvio del sistema.

sudo systemctl start sftpgo
sudo systemctl enable sftpgo

Infine, esegui il seguente comando systemctl per verificare il servizio sFTPGo. Se l'installazione ha avuto successo, vedrai che il servizio FTP è in esecuzione.

sudo systemctl status sftpgo

Installazione tramite RPM

Un altro modo per installare sFTPGo sul server Rocky Linux è scaricare il pacchetto RPM di sFTPGo dal repository GitHub e installarlo tramite il comando RPM.

sFTPGo fornisce i pacchetti binari .deb per gli utenti Debian/Ubuntu e il pacchetto binario .rpm per gli utenti CentOS/RockyLinux.

Scarica il file RPM sFTPGo tramite il comando wget riportato di seguito. La variabile "VER" è l'ultima versione del pacchetto sFTPGo.

Al momento in cui scrivo, l'ultima versione di sFTPGo è v2.3.5. Quindi dovresti vedere il nuovo file "sftpgo-2.3.5-1.x86_64.rpm " nella directory di lavoro corrente.

VER=$(curl -s https://api.github.com/repos/drakkan/sftpgo/releases/latest|grep tag_name | cut -d '"' -f 4 |sed 's/v//g')
wget https://github.com/drakkan/sftpgo/releases/download/v$VER/sftpgo-$VER-1.x86_64.rpm

Dopo aver scaricato sFTPGo, esegui il comando seguente per installare il file RPM "sftpgo-2.3.5-1.x86_64.rpm".

sudo rpm -Uvh sftpgo-2.3.5-1.x86_64.rpm

Al termine dell'installazione, verrà visualizzato un output simile al seguente:

Successivamente, esegui il comando systemctl riportato di seguito per avviare e abilitare il servizio sFTPGo. Il servizio dovrebbe essere in esecuzione e verrà eseguito automaticamente anche durante l'avvio del sistema.

sudo systemctl enable sftpgo
sudo systemctl start sftpdgo

Ora verifica il servizio sFTPGo tramite il comando systemcyl riportato di seguito. Dovresti vedere che il servizio sFTPGo è in esecuzione sul tuo sistema Rocky Linux.

sudo systemctl status sftpdgo

Configurazione di Firewalld

sFTPGo è un software server FTP che può essere utilizzato con più protocolli. Questa flessibilità consente ai clienti di utilizzare le applicazioni preferite per accedere ai propri file.

I clienti possono accedere ai propri file tramite client FTP come FileZilla o utilizzando il browser Web tramite il protocollo HTTP/HTTPS sicuro o il proprio file manager con protocollo Webdav.

Di seguito sono riportate alcune porte sFTPGo che devi aprire per l'accesso del client e dell'amministratore.

Protocol     Port       Access via
-----------------------------------
TCP          8080       HTTP/HTTPS
TCP          2022       SFTP
TCP          8090       Webdav

Esegui i seguenti comandi firewall-cmd per aggiungere le porte sFTPGo al firewalld.

sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --permanent --add-port=8090/tcp
sudo firewall-cmd --permanent --add-port=2022/tcp

Ora ricarica le regole del firewall utilizzando il comando seguente.

sudo firewall-cmd --reload

Infine, verifica le porte sFTPGo e assicurati che le porte vengano aggiunte.

sudo firewall-cmd --list-ports

Dovresti vedere che le porte per sFTPGo sono state aggiunte.

Configurazione di sFTPGo

Dopo aver installato sFTPgo e configurato Firewalld, configurerai l'installazione di sFTPGo. Ciò include l'abilitazione di protocolli come HTTP/HTTPS, SFTP e WebDAV. Inoltre, sFTPGo è protetto tramite certificati SSL.

Prima di configurare sFTPGo, assicurati di avere a portata di mano i certificati SSL/TLS. Puoi utilizzare SSL gratuito da Letsencrypt.

Modifica il file di configurazione predefinito di sFTPGo "/etc/sftpgo/sftpgo.json" utilizzando l'editor nano.

sudo nano /etc/sftpgo/sftpgo.json

L'SFTP è abilitato per impostazione predefinita su sFTPGo, che verrà eseguito sulla porta TCP 2022.

Passa all'opzione "webdavd" e inserisci la porta "8090", abilita l'HTTP, quindi inserisci il percorso dei certificati SSL. Inoltre, puoi modificare l'indirizzo IP per il protocollo webdavd con il tuo indirizzo IP interno.

  "webdavd": {
    "bindings": [
      {
        "port": 8090,
        "address": "",
        "enable_https": true,
        "certificate_file": "/etc/letsencryt/live/sftp.hwdomain.io/fullchain.pem",
        "certificate_key_file": "/etc/letsencryt/live/sftp.hwdomain.io/privkey.pem",
        "min_tls_version": 12,
        "client_auth_type": 0,
        "tls_cipher_suites": [],
        "prefix": "",
        "proxy_allowed": [],
        "client_ip_proxy_header": "",
        "client_ip_header_depth": 0
      }
    ],

Successivamente, passa all'opzione "httpd" e abilita il supporto HTTPS sicuro, quindi inserisci il percorso dei certificati SSL. Puoi anche specificare l'indirizzo IP dell'opzione "httpd" se disponi di più indirizzi IP.

  "httpd": {
    "bindings": [
      {
        "port": 8080,
        "address": "",
        "enable_web_admin": true,
        "enable_web_client": true,
        "enabled_login_methods": 0,
        "enable_https": true,
        "certificate_file": "/etc/letsencryt/live/sftp.hwdomain.io/fullchain.pem",
        "certificate_key_file": "/etc/letsencryt/live/sftp.hwdomain.io/privkey.pem",
        "min_tls_version": 12,
        "client_auth_type": 0,
        "tls_cipher_suites": [],
        "proxy_allowed": [],
        "client_ip_proxy_header": "",
        "client_ip_header_depth": 0,
        "hide_login_url": 0,
        "render_openapi": true,
        "web_client_integrations": [],

Salva il file ed esci dall'editor se hai finito.

Infine, riavvia il servizio sFTPGo per applicare le nuove modifiche tramite il comando systemctl riportato di seguito.

sudo systemctl restart sftpgo

Ora hai sFTPGo installato e funzionante sul server Rocky Linux. E hai abilitato più protocolli per i client, tra cui SFTP (abilitato per impostazione predefinita), WebDAV e httpd. Tutti questi protocolli sono protetti anche tramite certificati SSL.

Configurazione dell'utente sFTPGo

Dopo aver terminato l'installazione di sFTPGo, devi impostare l'utente amministratore tramite il protocollo "httpd" che viene eseguito sulla porta predefinita 8080. Inoltre, creerai un nuovo utente in sFTPGo tramite il dashboard di amministrazione.

Apri il browser web e visita il nome del dominio URL della tua installazione sFTPGo (ad esempio: https://sftp.hwdomain.io"8080/).

Nella prima schermata ti verrà chiesto di creare un nuovo utente amministratore per sFTPGo. Inserisci i dettagli dell'utente e della password dell'amministratore, quindi fai clic su "Crea amministratoren".

E ora dovresti vedere la dashboard di amministrazione di sFTPGo.

Successivamente, creerai un nuovo gruppo per i tuoi utenti sFTPGo.

Fai clic sul menu "Gruppi" sul lato sinistro, quindi inserisci il nome e la descrizione del nuovo gruppo, quindi fai clic su "Invia". In questo esempio creerai un nuovo gruppo con il nome "manager", inoltre puoi aggiungere ulteriori configurazioni come ACL (access control list) e impostare quote disco e larghezza di banda specifiche per ogni gruppo.

Dopo aver creato il gruppo, fai clic sul menu "Utenti" sul lato sinistro per creare un nuovo utente.

Inserisci i dettagli nome utente, password e gruppo, quindi fai clic su "Invia" per procedere. In questo esempio creerai un nuovo utente "alice" con il gruppo principale "manager".

Ora dovresti vedere l'elenco degli utenti sul dashboard di amministrazione di sFTPGo.

Ora hai creato un utente sFTPGo. Successivamente, scopri come gli utenti possono accedere o caricare file su sFTPGo tramite più client, che include sFTPGo WebClient (tramite httpd), FileZilla (tramite SFTP) o utilizzando un file manager (tramite Webdav).

Connessione tramite SFTP e FileZilla

Nel primo esempio qui imparerai come connetterti come client al server sFTPGo tramite il protocollo FileZilla e SFTP. Quindi, prima di iniziare, assicurati che il client FTP FileZilla sia installato sul tuo computer locale.

Ora apri l'applicazione FileZilla, fai clic sul menu "File" e seleziona "Gestione sito" oppure puoi semplicemente premere "Ctrl+S" .

Fai clic su "Nuovo sito" e inserisci i dettagli dell'utente, della password, dell'indirizzo IP o del nome di dominio del server SFTP e della porta.

  • Protocollo: SFTP - Protocollo di trasferimento file SSH
  • Host: sftp.hwdomain.io
  • Porto: 2022
  • Tipo di accesso: normale
  • Utente: alice
  • Password: La tua password

Fai clic su "Connetti" per confermare e connetterti al server SFTP.

Ora ti verrà richiesto di confermare il certificato del tuo server SFTP, fai clic su "OK" per confermare.

Dopo esserti connesso tramite il protocollo SFTP, puoi provare a caricare il file sul tuo server sFTPGo. L'esempio seguente mostra che il file ISO viene caricato sul server sFTPGo tramite il client FileZilla.

Accesso tramite sFTPGo WebClient

Per impostazione predefinita, sFTPGo fornisce ai client l'accesso tramite il WebClient che gira sulla porta "httpd" 8080. Con sFTPGo WebClient puoi caricare e gestire i tuoi file, impostare un'ulteriore autenticazione a due fattori e condividere file tra utenti all'interno del server sFTPGo.

Apri il browser web e visita il nome di dominio della tua installazione sFTPGo con la porta httpd "8080" e un percorso come questo (ad esempio: https://sftp.hwdomain.io:8080/web/client/ login). Dovresti ottenere la pagina di accesso per l'accesso del client.

Inserisci il nome utente "alice" e la password, quindi fai clic su "Accedi".

Se il nome utente e la password sono corretti, dovresti vedere la dashboard dell'utente sFTPGo. Inoltre, puoi vedere il file ISO che è stato appena caricato tramite FileZilla e SFTP in precedenza.

Puoi anche caricare file tramite WebClient e aggiungere ulteriore autenticazione a due fattori o condividere file con altri utenti tramite sFTPGo WebClient.

Connessione a sFTPGo tramite Webdav

Per connetterti tramite il protocollo WebDAV, puoi utilizzare il file manager sul tuo computer. Per Windows, puoi utilizzare File Explorer; per gli utenti Linux puoi utilizzare Nautilus, Thunar o Dolphin e per gli utenti macOS puoi utilizzare il file manager ufficiale.

Puoi utilizzare l'indirizzo WebDAV sul file manager che stai utilizzando, ad esempio "davs://sftp.hwdomain.io:8090/". Il "davs" è la versione sicura del protocollo Webdav "dav".

Ora ti verrà richiesto il nome utente e la password. Inserisci l'utente alice con la tua password, quindi fai clic su "Connetti".

Una volta connesso, dovresti vedere il protocollo Webdav aggiunto alla sezione Rete. In questo esempio, puoi vedere il file ISO caricato tramite il protocollo SFTP e FileZilla.

Conclusione

In questo tutorial, hai configurato un server FTP moderno e sicuro con sFTPGo su un server Rocky Linux. Hai anche configurato sFTPGo con più protocolli, SFTP, httpd e Webdav e abilitato le connessioni sicure.

Alla fine di questo tutorial, hai anche imparato come connetterti al server sFTPGo tramite più applicazioni client, utilizzando FileZilla con protocollo SFTP, utilizzando il WebClient sFTPGo con connessioni HTTPS sicure e utilizzando il file manager con Webdav/s.

Articoli correlati: