Se sei alle prime armi con Linux, la creazione di un server Linux è un ottimo modo per imparare di più su Linux e sulla gestione dei server. Se vuoi ospitare servizi, eseguire applicazioni o creare un laboratorio domestico, un server Linux offre flessibilità, prestazioni e controllo senza pari.
Questa guida per principianti ti guiderà attraverso le basi della configurazione di un server Linux efficiente, stabile e sicuro, in modo che tu possa passare a cose più avanzate.
Come utilizzare questa guida: Questa guida per principianti serve come base per la configurazione di un server Linux. Sebbene copra le nozioni di base, rimanda anche a molti articoli interni ed esterni con configurazioni più avanzate e best practice. Questa pagina riceverà aggiornamenti continui che rispecchiano gli strumenti e le tecniche più recenti.
Perché costruire un server Linux?

A differenza delle opzioni di hosting preconfigurate, costruire e gestire il tuo server Linux ti permette di vedere da vicino le tecnologie che alimentano le applicazioni e i servizi moderni. È quindi un’ottima scelta se vuoi saperne di più o creare le basi per futuri progetti basati su Linux.
I server Linux possono essere personalizzati per qualsiasi esigenza, sia che tu stia creando un cloud personale o un ambiente di sviluppo. Costruendo il tuo server Linux, puoi:
- Impara il networking, l’amministrazione del sistema e le pratiche di sicurezza.
- Esegui applicazioni o servizi personalizzati per le tue esigenze.
- Controlla i tuoi dati e mantienili privati.
- Evita il vendor lock-in e le limitazioni proprietarie delle soluzioni preconfigurate.
Leggi anche: Mastering Linux Administration: 20 potenti comandi da conoscere.
Sia che tu voglia gestire un laboratorio casalingo, ospitare il tuo sito web o esplorare argomenti informatici avanzati, un server Linux è uno strumento che può crescere con te mentre impari e cresci.
Scegliere la giusta distribuzione Linux
La scelta della giusta distro Linux è una delle decisioni più importanti quando si configura il proprio server. La distribuzione Linux che scegli influenzerà gli strumenti che avrai a disposizione, il livello di assistenza che potrai aspettarti e l’esperienza di gestione complessiva che avrai per tutta la durata del tuo server.
Alcune delle opzioni più popolari includono:
- Ubuntu Server: Popolare, facile da usare e con una grande comunità. Se sei alle prime armi con Linux, Ubuntu Server è un ottimo punto di partenza!
- Debian: Ha un enorme repository di software, il che la rende un’ottima scelta se vuoi un server solido su cui costruire.
- OpenSUSE: Grazie a strumenti efficaci come YaSTOpenSUSE è un’opzione versatile per la gestione delle configurazioni dei server.
- Fedora: Basata su Red Hat Enterprise Linux (RHEL), Fedora è popolare per coloro che amano rimanere all’avanguardia di Linux.
- AlmaLinux e Rocky Linux: Queste distribuzioni offrono anche la compatibilità con RHEL, il che le rende ottime per le aziende.
Ogni distribuzione Linux ha i suoi punti di forza, quindi considera le tue esigenze e i tuoi obiettivi prima di fare una scelta.
Scegliere l’hardware o la macchina virtuale (VM)

La scelta dell’hardware o della macchina virtuale (VM) giusta per il tuo server Linux è un passo fondamentale per configurare un server Linux adatto alle tue esigenze. La prima domanda da porsi è: Voglio che il mio server sia auto-ospitato o ospitato da un provider di cloud hosting?
Hardware
Per un self-hosting (o homelab), anche un vecchio hardware può essere sufficiente per iniziare ed è molto conveniente. Tuttavia, per gli ambienti di produzione e l’hosting di applicazioni ad alta intensità di risorse, l’infrastruttura cloud è di solito la strada da percorrere.
Dal punto di vista del processore, un hardware di fascia consumer come Intel Core i5/i7 o AMD Ryzen 5/7 è più che sufficiente per le configurazioni self-hosted. Tuttavia, per i carichi di lavoro di produzione, i processori di livello server come Intel Xeon o AMD EPYC sono la strada da percorrere.
La RAM è un altro aspetto importante. Anche solo 1 GB è in genere più che sufficiente per le configurazioni di base, ma per i database o l’orchestrazione dei container avrai bisogno di più. Più è meglio quando si tratta di RAM.
Le unità SSD (Solid State Drives) sono un must per prestazioni di lettura/scrittura più veloci. Soprattutto se intendi ospitare database o servire tonnellate di file. Potresti anche trarre vantaggio dagli array RAID è l’acronimo di Redundant Array of Independent Disks, una tecnica utilizzata per combinare più unità per migliorare la ridondanza o le prestazioni.
Anche la connessione di rete è importante. L’Ethernet è di gran lunga preferibile al Wi-Fi per motivi di coerenza e di prestazioni. Gigabit Ethernet è ormai la norma per la maggior parte delle configurazioni. Se intendi ospitare il tuo server nel cloud, provider come DigitalOcean o StackLinux ti offrono una connessione di rete ad alte prestazioni al tuo box, poiché sono supportati da una solida infrastruttura.
Macchina virtuale (VM)
Se preferisci eseguire una macchina virtuale (VM) su un computer host, il tuo computer host dovrà avere risorse sufficienti per eseguire la VM. Un hypervisor come Proxmox, VirtualBox, VMware, o KVM ti permette di creare e gestire facilmente server virtuali. Come per il consiglio “Hardware” di cui sopra, assicurati di allocare un numero sufficiente di core della CPU, RAM e spazio su disco, a seconda del carico di lavoro.
I più noti provider di cloud offrono macchine virtuali Linux su solido hardware AMD o Intel. Se preferisci evitare l’hardware, questo è un approccio semplice ed economico.
Le macchine virtuali sono ottime anche perché puoi creare istantanee senza soluzione di continuità. Questo è estremamente utile se stai testando delle configurazioni o aggiornando un software. Di solito eseguo snapshot delle mie macchine virtuali ogni notte, mentre per altre ho impostato un CDP (Continuous Data Protection ) ogni ora. Se sbaglio una configurazione o un software, posso semplicemente tornare a una buona istantanea o fare un rollback e non perdere molto tempo per il ripristino.
Scegliendo con cura l’hardware o la configurazione della macchina virtuale, sarai sulla buona strada per ottenere un server Linux solido e adatto alle tue esigenze. Se preferisci evitare di dover configurare le macchine virtuali Linux, servizi come StackLinux.com offrono macchine virtuali preconfigurate e personalizzate che possono farti risparmiare tempo e fatica.
Installazione di Linux e configurazione iniziale

Il primo passo è installare Linux. Sia che tu stia utilizzando un hardware o una macchina virtuale self-hosted, il processo di è molto simile. Ci concentreremo sull’installazione di Linux su hardware autonomo.
Nota: Per una macchina virtuale Linux di un provider di cloud hosting, questi tre passaggi non sono necessari perché l’installazione viene solitamente completata con pochi clic sul sito web del provider.
- Scarica la ISO: Vai sul sito web della distribuzione Linux che hai scelto e scarica l’ultima ISO. Ad esempio, se stai installando Ubuntu Server vai su ubuntu.com/server.
- Crea un supporto di avvio: Usa strumenti come Rufus (Windows), BalenaEtcher (Linux/Windows/Mac) oppure dd (riga di comando di Linux) per creare una USB o un CD-ROM virtuale avviabile.
- Avvio e installazione: Inserisci il supporto avviabile nella macchina e avvia il sistema. Segui le indicazioni del programma di installazione per impostare le partizioni, selezionare il software e configurare il sistema di base. La maggior parte delle distribuzioni prevede un’installazione guidata per i principianti.
Una volta installato Linux, dovrai configurare il sistema per l’utilizzo specifico del tuo server.
Impostazione di un IP statico
L’IP statico viene solitamente impostato durante il processo di installazione guidata. Un IP statico garantisce che il tuo server abbia sempre lo stesso IP, rendendo più facile l’accesso e la gestione. Questo è particolarmente importante per i server che ospitano servizi, poiché gli IP dinamici possono causare problemi quando cambiano.
Ecco un altro modo per impostare manualmente un IP statico sul server Ubuntu utilizzando Netplan (un’utility di Ubuntu che semplifica la configurazione della rete utilizzando file YAML, rendendo più facile la gestione degli indirizzi IP e dei percorsi):
- Trova la tua interfaccia di rete con ip a oppure ifconfig.
- Modifica il file di configurazione della rete. La posizione del file si trova solitamente nella directory /etc/netplan/. Il nome del file specifico spesso termina con .yaml (ad esempio, 01-netcfg.yaml o 50-cloud-init.yaml).
- Esempio di percorso del file:
- /etc/netplan/01-netcfg.yaml
Puoi elencare tutti i file di configurazione di Netplan presenti nella directory da confermare:
ls /etc/netplan/
Modifica il file con un editor di testo come nano o vim:
sudo vi /etc/netplan/01-netcfg.yaml
Esempio di modifiche al file:

Salva e applica le modifiche con sudo netplan apply.
Riavvia il servizio di rete per assicurarti che la nuova configurazione abbia effetto.
IP statici possono anche essere configurati tramite le impostazioni del router.
Creare un nuovo utente con privilegi di amministratore

È sconsigliato lavorare come root poiché consente di accedere completamente al sistema e può causare danni accidentali o dolosi. Crea invece un nuovo utente con privilegi di amministratore (sudo):
Aggiungi un nuovo utente:
adduser yourusername
Concedere i privilegi amministrativi:
usermod -aG sudo yourusername
Prova il nuovo utente:
– Esci dall’account di root e accedi con il nuovo nome utente.
– Usa il comando sudo per assicurarti che l’accesso amministrativo funzioni:
sudo apt update && sudo apt upgrade
Ora il tuo server avrà un’identità stabile sulla rete e una configurazione utente sicura per gestirlo.
Fail2Ban e strumenti simili
Fail2Ban è uno strumento di sicurezza che aiuta a proteggere il tuo server da attacchi brute-force e di altro tipo, monitorando i file di log e vietando gli indirizzi IP che mostrano un comportamento dannoso.
Installazione e configurazione di Fail2Ban
Installa Fail2Ban:
sudo apt install fail2ban # Per Debian/Ubuntu
sudo dnf install fail2ban # Per Fedora/AlmaLinux
Crea un file di configurazione locale:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Abilita la protezione SSH: Modifica il file jail.local e assicurati che la sezione [sshd] sia abilitata:
[sshd]
abilitato = true
porta = ssh
logpath = /var/log/auth.log # Regola per la tua distribuzione
maxretry = 5
Riavvia Fail2Ban:
sudo systemctl restart fail2ban
Controlla i divieti attivi:
sudo fail2ban-client status sshd
Anche altri strumenti come DenyHosts (già trattato in questo articolo) e CSF (ConfigServer Security & Firewall) sono utili per la sicurezza dei server e possono affiancare o sostituire Fail2Ban a seconda delle tue esigenze.
Con questo sistema, il tuo server sarà molto più sicuro contro gli accessi non autorizzati e identificare automaticamente le attività dannose.
Automatizzare gli aggiornamenti

L’automazione può far risparmiare tempo e garantire che il tuo server rimanga aggiornato e sicuro; Tuttavia, fai attenzione, perché gli aggiornamenti non presidiati possono occasionalmente introdurre problemi di compatibilità o interrompere i servizi. Per questo motivo, di solito non è raccomandato negli ambienti di produzione. Prova sempre gli aggiornamenti in un ambiente di staging/laboratorio, se possibile.
Aggiornamenti non presidiati: Installa automaticamente gli aggiornamenti di sicurezza sui sistemi Debian/Ubuntu.
sudo apt install unattended-upgrades
sudo dpkg-reconfigure unattended-upgrades
Cron Jobs: Pianifica attività come la pulizia dei file temporanei o l’esecuzione di aggiornamenti del sistema:
sudo crontab -e
Aggiungi un lavoro per aggiornare il sistema ogni giorno:
0 3 * * * apt update && apt upgrade -y
Sfruttando questi strumenti e queste pratiche, puoi mantenere le prestazioni del server ottimali con un intervento manuale minimo.
Leggi anche: Aggiornamenti Linux: Guida a riga di comando.
Concetti chiave per la configurazione di un server Linux
Quando configuri un server Linux, devi comprendere alcuni concetti di base che ti aiuteranno a gestire e proteggere il tuo sistema. Gli elementi fondamentali dell’amministrazione dei server, per connessioni sicure, funzionamento stabile e risoluzione dei problemi.
Dall’impostazione di protocolli di accesso sicuri, ai firewall e al monitoraggio delle prestazioni del sistema, la comprensione di questi aspetti ti permetterà di liberare tutto il potenziale del tuo server. Diamo un’occhiata.
SSH (Secure Shell)
SSH è un importante protocollo utilizzato per accedere e gestire in modo sicuro il tuo server. Per impostazione predefinita, utilizza la crittografia per rendere sicuri i dati tra il tuo dispositivo e il server. Questo rende SSH uno strumento essenziale per l’amministrazione remota dei server Linux.
Puoi usare SSH per accedere al tuo server da remoto ed eseguire comandi in un emulatore di terminale, riavviare i servizi, trasferire file con SFTP(Secure File Transfer Protocol) e monitorare la salute del tuo server. È uno strumento indispensabile per la gestione remota dei server Linux.
La maggior parte delle distribuzioni Linux include OpenSSH e questo rende facile iniziare a lavorare. Per aumentare la sicurezza, si consiglia di impostare l’autenticazione con chiave SSH invece di il login basato su password. L’autenticazione con chiave SSH non solo è più sicura contro gli attacchi di forza bruta, ma è anche più conveniente e meno soggetta a errori di autenticazione.
Configurare l’autenticazione della chiave SSH
Ecco come configurarlo:
Genera una coppia di chiavi SSH sul tuo computer locale:
ssh-keygen -t rsa -b 4096 -C “your_email@example.com”
Salva la chiave nella posizione predefinita (ad esempio, ~/.ssh/id_rsa) e imposta una passphrase per una maggiore sicurezza.
Copia la chiave pubblica sul tuo server: Usa il comando ssh-copy-id per aggiungere la tua chiave pubblica al server:
ssh-copy-id username@il tuo_server_ip
In alternativa, puoi copiare manualmente il contenuto del tuo file ~/.ssh/id_rsa.pub nel file ~/.ssh/authorized_keys del server.
Prova la configurazione: accedi nuovamente utilizzando la tua chiave privata:
ssh nomeutente@il tuo_server_ip
Disattiva l’autenticazione basata su password: Modifica il file di configurazione SSH del tuo server:
sudo nano /etc/ssh/sshd_config
Imposta le seguenti opzioni:
PasswordAutenticazione no
PermitRootLogin no
Riavvia il servizio SSH:
sudo systemctl restart sshd
Firewall

Il firewall è una funzione di sicurezza che controlla il traffico di rete in entrata e in uscita verso il tuo server. Agisce come una barriera, impedendo l’accesso non autorizzato e permettendo al traffico legittimo di passare.
I firewall funzionano gestendo le “porte”, che sono come degli sportelli che permettono il passaggio dei dati a specifici servizi del tuo server. Chiudendo le porte non necessarie, riduci il rischio di accesso non autorizzato.
La configurazione di un firewall, come UFW (Uncomplicated Firewall), firewalld, o Nftables è uno dei primi passi per proteggere il tuo server. UFW spesso include profili per servizi come SSH, Nginx e altri, rendendo facile consentire il traffico necessario e bloccarne altri. Rivedere e aggiornare periodicamente le regole del firewall assicura che il tuo server rimanga sicuro anche quando aggiungi o rimuovi servizi.
Impostazione di un firewall di base
Gli strumenti più comuni per la gestione dei firewall su Linux sono UFW (Uncomplicated Firewall) e firewalld. Ecco due rapidi esempi:
Utilizzo di UFW (Ubuntu):
Consenti il traffico SSH:
sudo ufw allow SSH
Abilita il firewall:
sudo ufw enable
Controlla lo stato:
sudo ufw status
Utilizzo di firewalld (Fedora/AlmaLinux):
Avvia e abilita firewalld:
sudo systemctl start firewalld
sudo systemctl enable firewalld
Consenti il traffico SSH:
sudo firewall-cmd –permanent –add-service=ssh
sudo firewall-cmd –reload
Verifica le regole:
sudo firewall-cmd –list-all
Servizi di sistema
Un server Linux è una tela bianca per l’innovazione e l’apprendimento. I servizi sono programmi in background in esecuzione sul tuo server Linux, come ad esempio i server web (es, Apache, Nginx), database (es, MySQL, MongoDB), sistemi di condivisione dei file (ad esempio Samba, Nextcloud), piattaforme di scripting (ad esempio PHP, Python), piattaforme di containerizzazione (ad esempio Docker, Podman), server di posta (ad esempio Postfix, Exim) e molti altri.
Sono essenziali per garantire la funzionalità. La corretta gestione di questi servizi assicura che il tuo server funzioni in modo efficiente e rimanga sicuro.
Esecuzione di un server multimediale
Trasforma il tuo server in un hub multimediale configurando un media server. Strumenti come Plex, Emby o Jellyfin possono trasmettere film, musica e foto ai dispositivi della tua rete.
Plex: Offre un’interfaccia facile da usare e funzionalità di streaming remoto.
Jellyfin: Un’alternativa gratuita e open-source che non richiede alcun abbonamento.
Emby: Organizzazione intuitiva dei contenuti multimediali per un accesso continuo su tutti i dispositivi.
Universal Media Server: Un media server gratuito e versatile che supporta molti dispositivi.
Serviio: Trasmetti i contenuti multimediali a TV, lettori Blu-ray e console con estrema facilità.
Ospitare un sito web o un blog
Con un server Linux puoi ospitare il tuo sito web o blog utilizzando server web come Apache o Nginx. Combinali con strumenti come WordPress o Hugo per una facile gestione dei contenuti.
Stack LAMP/LEMP: Configurare uno stack Linux, Apache/Nginx, MySQL e PHP per siti web dinamici.
CMS: Sistemi di gestione dei contenuti come WordPress, Magento, Joomla, o Discourse per siti web ed e-commerce.
Hugo: Un generatore di siti statici per creare siti web veloci, sicuri e semplici.
Ghost: Una piattaforma moderna per il blogging professionale, ottimizzata per la velocità e la flessibilità.
Sicurezza: Utilizza certificati SSL con strumenti come Let’s Encrypt per proteggere il tuo sito.
Costruisci il tuo Cloud o NAS
Trasforma il tuo server in un dispositivo NAS (Network Attached Storage) o in un cloud personale con strumenti come Nextcloud, ownCloud o alternative come Seafile e Syncthing.
Nextcloud: Un’opzione popolare per l’hosting di archivi personali o condivisi con funzioni aggiuntive come calendari e modifica di documenti.
ownCloud: Simile a Nextcloud, offre una sincronizzazione e una condivisione dei file affidabile con estensioni incentrate sulle aziende.
Seafile: Conosciuta per le sue alte prestazioni e l’efficiente sincronizzazione dei dati.
Syncthing: Una soluzione di sincronizzazione dei file completamente open-source e decentralizzata.
RAID: Per le configurazioni NAS locali, considera l’utilizzo di RAID per la ridondanza dei dati.
Monitoraggio, registri e risoluzione dei problemi

Il monitoraggio, il logging e la risoluzione dei problemi sono le chiavi per un server Linux stabile e performante. Gli strumenti di monitoraggio forniscono informazioni in tempo reale, i log rivelano eventi dettagliati e la risoluzione dei problemi assicura una rapida soluzione. Vediamo come funziona, a partire dagli strumenti di monitoraggio.
Strumenti di monitoraggio
Strumenti di monitoraggio del sistema forniscono informazioni preziose, visualizzando in tempo reale l’utilizzo delle risorse del sistema e i processi in esecuzione:
top: Uno strumento semplice e predefinito nella maggior parte delle distribuzioni
htop: Offre una visione interattiva dei processi e dell’utilizzo delle risorse
sguardi: Fornisce una panoramica più ampia, che include l’I/O del disco e l’attività di rete.
atop: Offre un monitoraggio dettagliato delle risorse nel tempo.
Installazione degli strumenti di monitoraggio del sistema (esempi)
Il comando top di solito è già installato di default. Tuttavia, ecco come puoi installare altri utili strumenti di monitoraggio del server a riga di comando:
htop:
Un’alternativa più interattiva e visivamente accattivante di top. Ti permette di ordinare e gestire i processi con facilità.
sudo apt install htop # Debian/Ubuntu
sudo yum install htop # Fedora/RHEL (Alma, Rocky, ecc.)
glances:
Offre una panoramica più ampia delle prestazioni del sistema, compreso l’I/O del disco e l’attività di rete, in un unico cruscotto.
sudo apt install glances # Debian/Ubuntu
sudo yum install glances # Fedora/RHEL
Capire i Log
Oltre al monitoraggio in tempo reale, la comprensione dei i log di sistema è fondamentale per diagnosticare i problemi e garantire il buon funzionamento del tuo server. I log aiutano a diagnosticare i problemi con i servizi e forniscono informazioni sul comportamento del server. Strumenti come journalctl possono aiutare a esaminare i log di servizi specifici, rendendo più efficace la risoluzione dei problemi.
I log sono preziosi per diagnosticare e risolvere i problemi del server. Forniscono informazioni dettagliate sul comportamento e sugli errori del server. Ecco come utilizzare i log in modo efficace nella risoluzione dei problemi di un server Linux:
Individua i registri: I registri di sistema si trovano in genere in /var/log/. I log comuni includono:
/var/log/syslog o /var/log/messages per gli eventi generali del sistema.
/var/log/auth.log per gli eventi di autenticazione.
/var/log/nginx/ o /var/log/httpd/ per i log del server web.
Usa journalctl: Per i sistemi che utilizzano systemd, journalctl fornisce un modo efficiente per visualizzare i log:
journalctl -u sshd
journalctl -b # Logs from the current boot
Cerca e filtra i registri: Usa grep per filtrare i log per termini specifici:
grep “errore” /var/log/syslog
Monitora i registri in tempo reale: Usa tail per guardare i log mentre vengono aggiornati:
tail -f /var/log/auth.log
Comprendere e analizzare regolarmente i log può aiutarti a individuare tempestivamente potenziali problemi e a garantire la stabilità a lungo termine del tuo server.
Risoluzione dei problemi comuni

Quando si configura un nuovo server Linux, possono verificarsi errori e problemi. Essere in grado di risolvere efficacemente i problemi più comuni è un’abilità fondamentale per mantenere l’uptime e garantire il buon funzionamento del tuo server. Vediamo come risolvere i problemi di connessione e come utilizzare i log nella risoluzione dei problemi di Linux.
Leggi anche: Risoluzione dei problemi di Linux: Una guida per principianti.
Debug dei problemi di connessione
Ecco alcuni passaggi per risolvere i problemi di rete più comuni:
Verifica la configurazione di rete: Assicurati che il tuo server abbia l’indirizzo IP, il gateway e le impostazioni DNS corrette. Usa strumenti come ip a o ifconfig per verificare le interfacce di rete e ping per testare la connettività.
Controlla le regole del firewall: Controlla le impostazioni del firewall per verificare che le porte richieste siano aperte. Usa comandi come:
sudo ufw status
sudo firewall-cmd –list-all
Prova l’accesso SSH: Se SSH non funziona, prova la modalità “verbosa” per ottenere un output dettagliato:
ssh -v nomeutente@tuo_server_ip
Ispezionare lo stato del servizio: Assicurati che i servizi necessari siano in funzione:
sudo systemctl status sshd
Recensioni sull’hardware di rete: Controlla che non ci siano problemi fisici con i cavi o i router se sei in self-hosting. Per i server cloud, verifica che il provider di hosting non abbia interruzioni o restrizioni (controlla la pagina di stato).
Qual è il prossimo passo per il tuo server Linux?
Configurare un server Linux è un’esperienza gratificante che apre le porte a innumerevoli possibilità, dalla gestione di un sito web personale all’hosting di un media server o alla gestione del cloud storage. Seguendo i passi di questa guida, avrai gettato solide basi per un server sicuro, ottimizzato e versatile.
Il tuo viaggio non finisce qui. Continua a esplorare le configurazioni avanzate, ad aggiungere nuove funzionalità e ad ampliare le tue competenze. L’ecosistema Linux offre infinite opportunità di apprendimento e innovazione. Rimani curioso e continua a sperimentare per sbloccare il pieno potenziale del tuo server!
Ecco alcune idee e risorse per aiutarti a migliorare il tuo server:
Partecipa
LinuxCommunity.io: Condividi e impara in un forum di utenti Linux.
Reddit: r/selfhosted e r/linux per suggerimenti e idee.
Impara Linux avanzato
Fondazione Linux: Certificazioni e formazione avanzata in ambito Linux e open-source.
Linux Professional Institute: Certificazioni e risorse per migliorare le tue competenze su Linux.
Opensource.com: Tutorial e ispirazione per gli strumenti open-source.
Prova i progetti Linux
Hackaday: Linux e progetti fai da te.
Adafruit: Elettronica e dispositivi alimentati da Linux.
Phoronix: Recensioni di hardware Linux, benchmark e notizie.
Aggiungi al tuo server
Ajenti: Pannello di controllo del server basato sul web per gli amministratori.
Ansible: Automatizza la gestione della configurazione, la distribuzione delle applicazioni e l’orchestrazione IT.
Bitwarden: Un gestore di password self-hosted per l’archiviazione sicura delle credenziali.
BookStack: Piattaforma self-hosted per documentazione e wiki.
CachetHQ: Sistema di pagine di stato per il monitoraggio degli incidenti e dei tempi di attività.
Cactus: Soluzione di grafica per le metriche di rete e dei server.
Caddy: Server web con HTTPS automatico e facile configurazione.
Ceph: Archiviazione unificata di blocchi, file e oggetti per ambienti distribuiti.
Cloudron: Semplifica le app in self-hosting con una gestione automatizzata.
Pozzetto: Un’interfaccia basata sul web per gestire e monitorare il tuo server Linux.
Containerd: Un runtime per container leggero e ad alte prestazioni.
Docker: Esegui e gestisci i container per la distribuzione delle applicazioni.
Duplicati: Software di backup per creare backup criptati.
Endian: Soluzione firewall e UTM (Unified Threat Management) open-source.
Gitea: Servizio Git leggero e self-hosted.
GitLab: Piattaforma di gestione dei repository Git e CI/CD autogestita.
GlusterFS: Storage distribuito per soluzioni di archiviazione file scalabili e ridondanti.
Grafana: Visualizza metriche e dati sulle prestazioni da Prometheus e da altre fonti.
Graylog: Piattaforma di gestione e analisi dei log.
Guacamole: Gateway desktop remoto senza client.
HAProxy: Bilanciatore di carico ad alte prestazioni e reverse proxy per TCP/HTTP.
Assistente domiciliare: Piattaforma di automazione domestica open-source.
Icinga: Monitora la salute del sistema e avvisa dei problemi.
IPFire: Distribuzione firewall open-source sicura e flessibile.
Keycloak: Soluzione open-source per la gestione delle identità e degli accessi.
Kubernetes: Orchestrare, scalare e gestire i container su più nodi.
LibreNMS: Strumento di monitoraggio della rete che supporta un’ampia gamma di dispositivi.
Lighttpd: Server web leggero e veloce per ambienti ad alte prestazioni.
Mail-in-a-Box: Server di posta elettronica self-hosted per la gestione della posta elettronica personale o di piccole dimensioni.
Mailcow: Suite di posta elettronica self-hosted con webmail e amministrazione moderna.
Mattermost: Alternativa open-source e self-hosted a Slack per la comunicazione di squadra.
Monitorix: Monitoraggio leggero dei server con interfaccia web.
Munin: Traccia le prestazioni del server e visualizza le tendenze dei dati.
Nagios: Monitorare i sistemi, le reti e le infrastrutture per rilevare avvisi e interruzioni.
Netdata: Monitoraggio delle prestazioni in tempo reale per server e applicazioni.
NextDNS: DNS basato sul cloud con funzioni avanzate di privacy e sicurezza.
OpenSnitch: Firewall interattivo per Linux per monitorare le connessioni in uscita.
OpenVPN: Crea connessioni VPN sicure per il tuo server e la tua rete.
OPNsense: Un fork di pfSense che offre una piattaforma firewall e router moderna e facile da usare.
Paperless-ngx: Un sistema di gestione dei documenti self-hosted per organizzare i file digitali.
Pi-hole: Blocco degli annunci a livello di rete per il blocco degli annunci e dei tracker basato su DNS.
pfSense: Software firewall e router open-source per la gestione sicura della rete.
Portainer: Gestisci con facilità i container Docker e Kubernetes.
Portmaster: Strumenti per il monitoraggio e la protezione della rete orientati alla privacy.
Poste.io: Una moderna soluzione di server di posta self-hosted.
Prometeo: Monitora le prestazioni e le metriche del server in tempo reale.
Pterodattilo: Pannello di gestione del server di gioco.
Puppet: Gestisci le configurazioni dei server e automatizza le distribuzioni.
Progetto Sale: Automatizza le configurazioni e orchestra i sistemi in tempo reale.
Tianji: Un’alternativa autogestita all’analisi dei social media.
Traefik: Un moderno reverse proxy HTTP e un bilanciatore di carico per microservizi.
TrueNAS: Sistema operativo NAS (Network Attached Storage) open-source.
Uptime Kuma: Un moderno sistema di monitoraggio self-hosted per il controllo dell’uptime.
Varnish Cache: Acceleratore HTTP per la memorizzazione nella cache dei contenuti web e per aumentare le prestazioni.
Vault: Gestisci i segreti, il controllo degli accessi e l’archiviazione sicura delle chiavi.
Virt-Manager: Interfaccia desktop per la gestione delle macchine virtuali.
Webmin: Un’interfaccia basata sul web per l’amministrazione del sistema dei server Linux.
WireGuard: Un protocollo VPN moderno e performante per connessioni sicure e veloci.
Zabbix: Monitoraggio open-source di livello enterprise per reti, server e applicazioni.
Utilizzi Cloudflare? Considera la lettura di questa guida come successiva: Impostazioni di sicurezza e prestazioni consigliate da Cloudflare.