(aggiornato alla versione 12.1)
In questo tutorial andremo ad affrontare l'installazione minimale di un server FreeBSD che servirà come base di partenza per realizzare sistemi più complessi.
FreeBSD, date le sue doti di stabilità, performance e sicurezza, si presta per realizzare qualsiasi tipo di configurazione server.
Iniziamo col dire che FreeBSD si basa sulla versione 4.4BSD-Lite del Computer Systems Research Group (CSRG) sviluppato presso l'Università della California a Berkeley e segue rigorosamente la tradizione di sviluppo dei sistemi BSD.
Oltre all'ottimo lavoro fornito dal CSRG, il progetto FreeBSD si è evoluto nel corso degli anni estendendo le funzionalità e perfezionando il sistema per ottenere le massime prestazioni e affidabilità nelle situazioni di carico di lavoro della vita reale.
FreeBSD offre prestazioni e affidabilità alla pari di altre offerte commerciali e Open Source, combinate con funzionalità all'avanguardia non disponibili altrove.
FreeBSD è un sistema operativo Unix-like sviluppato per sistemi x86 32/64bit, ARM®, AArch64, RISC-V®, MIPS®, POWER®, PowerPC®, e Sun UltraSPARC®. Come sistema basato su Unix supporta tutte le caratteristiche fornite da questa tipologia di sistemi come multitasking, protezione della memoria, memoria virtuale, strutture multiutente, supporto SMP (Symmetric Multiprocessor), tutti gli strumenti di sviluppo Open Source per diversi linguaggi e framework e funzionalità desktop incentrate su X Window System, KDE o GNOME.
FreeBSD, come detto, è una delle varianti open source di UNIX e molti di voi potrebbero chiedersi perchè non utilizzare semplicemente Linux, che è un sistema Unix-like più conosciuto ed utilizzato di FreeBSD.
La risposta a questa domanda è molto semplice: i sistemi Unix sono una famiglia di sistemi operativi progettati e sviluppati per essere utilizzati esclusivamente in ambito server, mentre lo sviluppo di Linux è orientato principalmente verso sistemi Desktop.
Poi, dato che Linux somiglia molto a unix (fa più o meno le stesse cose), viene utilizzato anche come sistema server ma non ha le stesse caratteristiche di leggerezza, stabilità, performance e sicurezza di un sistema Unix.
Quindi se avete bisogno di un server professionale da utilizzare in un ambiente di produzione la scelta ricade obligatoriamente su FreeBSD (o altro sistema UNIX), mentre se state cercando un server casalingo dove smanettare e/o provare nuovi software potete anche utilizzare Linux.
Procediamo step-by-step con l'installazione vera e propria del sistema
Una installazione standard di FreeBSD richiede un minimo di 96MB di RAM e 1.5GB di spazio disco. Per un utilizzo in ambiente desktop sono necessarie risorse maggiori, quindi almeno 2GB di RAM ed 8GB di spazio disco.
FreeBSD è fornito con un programma di installazione a caratteri (bsdinstall) che facilità notevolmente l'installazione e la configurazione del sistema. L'installer di FreeBSD non può essere eseguito da un altro sistema operativo, c'è quindi bisogno di una immagine di boot da scaricare e masterizzare su un CD/DVD o su una chiavetta USB da cui avviare il PC. Le immagini di installazione di FreeBSD sono disponibili su www.freebsd.org/where.html#download. Il nome di ogni file di installazione include la versione di rilascio di FreeBSD, l'architettura e il tipo di file.
I file di installazione sono disponibili in diversi formati che variano in base all'architettura del computer e al tipo di supporto:
Dato che i supporti CD e DVD stanno andando via via in disuso a favore dei dispositivi USB, in questo tutorial tratteremo esclusivamente l'installazione tramite supporto USB utilizzando l'installer memstick.img.
Procedere quindi con il download dell'immagine memstick.img e salvarla da qualche parte sul proprio PC.
Se state installando il sistema su una macchina virtuale, potete usare le immagini iso bootonly.iso o disc1.iso.
La creazione del supporto di installazione varia a seconda del sistema operativo utilizzato.
Di seguito analizziamo le tre famiglie di sistemi operativi più diffusi.
Su Windows, il modo più semplice per trasferire l'immagine di installazione sulla chiavetta USB è utilizzare un software che si chiama Win32 Disk Imager che può essere scaricato da qui.
Una volta installato ed avviato il software, fare clic sul pulsante con l'immagine di una cartella per aprire l'interfaccia di selezione e, quindi, selezionare il file di installazione di FreeBSD
Assicurarsi che la lettera evidenziata nella sezione "Dispositivo" corrisponda effettivamente alla chiavetta USB, altrimenti tutti i dati presenti in quel dispositivo saranno eliminati definitivamente.
Infine, fare clic su "Scrivi" per trasferire l'installer sulla chiavetta USB
Attendere qualche minuti fino al completamento dell'operazione
Quindi fare clic su "OK", chiudere l'applicazione e rimuovere il dispositivo USB.
Su Linux, il trasferimento dell'immagine su chiavetta USB può essere fatto da linea di comando in modo molto semplice.
La parte più difficile stà nell'identificare correttamente il percorso del proprio dispositivo USB.
Questa operazione eliminerà in modo permanente tutti i dati presenti nel dispositivo di destinazione.
Per individuare correttamente tale dispositivo si può procedere nei seguenti modi:
Inserire la chiavetta USB nel PC con Linux, aprire il terminale, digitare il comando dmesg
e premere invio
Alla fine del log visualizzato nel terminale si troveranno i dati del dispositivo USB; assicurarsi che (1) il nome del dispositivo corrisponda, (2) la dimensione rilevata sia giusta e (3) prendere nota del nome assegnato al dispositivo USB
Aprire il terminale, digitare il comando sudo tail -f /var/log/messages
seguito da invio quindi inserire la chiavetta USB ed osservare i messaggi che compaiono sul terminale
A questo punto non ci resta che scaricare l'installer dal sito web di FreeBSD e trasferirlo sul dispositivo USB con i seguenti comandi
wget https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/12.1/FreeBSD-12.1-RELEASE-amd64-memstick.img
sudo dd if=FreeBSD-12.1-RELEASE-amd64-memstick.img of=/dev/sdX bs=1M
Se il comando wget
non è disponibile sul vostro sistema significa che non è installato.
Per installare wget
procedere come segue:
Su FreeBSD procediamo attraverso le stesse modalità già viste per Linux
dmesg
tail -f /var/log/messages
A questo punto non ci resta che scaricare l'installer dal sito web di FreeBSD e trasferirlo sul dispositivo USB con i seguenti comandi
fetch --no-verify-peer https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/12.1/FreeBSD-12.1-RELEASE-amd64-memstick.img
dd if=FreeBSD-12.1-RELEASE-amd64-memstick.img of=/dev/daN bs=1m
L'opzione --no-verify-peer nel comando fetch
è richiesta se non si è proceduto ad installare il pacchetto dei certificati del progetto Mozilla (pacchetto ca_root_nss).
Per poter procedere con l'installazione vera e propria del sistema, utilizzando il supporto di installazione scelto, bisogna sapere come avviare la propria macchina (sia esso un PC, un server o una macchina virtuale) con tale supporto.
Questa operazione consiste nell'inserire il supporto nel proprio alloggiamento, accendere il computer e premere il tasto che ci permette di scegliere il dispositivo di avvio, oppure accedere al BIOS e configurare il suddetto come dispositivo di avvio predefinito.
Come eseguire nel dettaglio queste operazioni non è oggetto di questo tutorial e si rimanda alle varie guide disponibili con una ricerca online.
Per questo tutorial eseguiremo l'installazione del sistema utilizzando il supporto di installazione disc1.iso in modo da avere tutti i file necessari direttamente nel supporto.
Appena eseguito il boot, ci verrà presentata la seguente schermata:
trascorsi 10 secondi il sistema si avvierà automaticamente e verrà presentato l'installer di FreeBSD.
se non volete attendere i 10 secondi preimpostati per default sarà sufficiente premere il taso invio_.
Per avviare l'nstallazione del sistema selezionate "Install" e premete invio
Come prima cosa occorre selezionare il proprio layout di tastiera spostandoci con le freccette sulla voce corrispondente e confermando premendo invio
Quindi l'installer ci propone un test per verificare che il layout scelto sia effettivamente quello giusto. Se volete effettuare il test lasciate selezionata l'opzione "Test it.kbd keymap" e premete invio. Altrimenti spostatevi su "Continue with it.kbd keymap" e confermate premendo nuovamente invio
Nella finestra di dialogo "Set Hostname" bisogna inserire l'hostname scelto per il nuovo server che stiamo installando, qundi confermare premendo invio
l'hostname deve essere univoco all'interno della rete altrimenti possono verificarsi dei conflitti.
Nella prossima finestra di dialogo bisogna selezionare eventuali componenti aggiuntivi che si desidera installare.
Dato che, in questa guida, trattiamo esclusivamente sistemi a 64 bit non installiamo le librerie a 32 bit.
Inoltre, trattandosi di una installazione minimale da utilizzare come base per configurazioni più complesse installiamo soltanto il minimo essenziale per il sistema.
Selezioniamo, quindi, soltanto l'opzione "src" (ovvero l'albero dei sorgenti) perchè è utile quando si eseguono gli aggiornamenti del core del sistema e confermiamo con il tasto invio.
Passiamo ora al partizionamento del disco; qui le opzioni tra cui scegliere sono essenzialmente due:
Il partizionamento manuale, per ora, lo lasciamo ad utenti più esperti.
Il filesystem di default su FreeBSD è UFS, mentre ZFS è un file system avanzato che presenta molte caratteristiche importanti ma che per ora tralasciamo perchè non oggetto di questo tutorial. Sottolineamo soltanto che per avere delle buone performance con il filesystem ZFS bisogna avere almeno 4 GB di RAM.
Quindi selezioniamo l'opzione "Auto (UFS)" e premiamo invio per confermare
Dato che stiamo eseguendo una installazione server, supponiamo di avere tutto il disco a disposizione quindi selezioniamo "Entire Disk" e premiamo invio per confermare il partizionamento dell'intero disco rigido.
Proseguendo con questa operazione, eventuali dati presenti sul disco verranno eliminati in modo permanente.
A questo punto bisogna scegliere il tipo di partizionamento da utilizzare per il nostro disco fisso.
Sui sistemi x86 normalmente si utilizzano l'MBR e il GPT.
Non staremo qui a discutere i pregi ed i difetti dei due sistemi, ma per il nostro tutorial andremo ad utilizzare il più nuovo e performante schema di partizionamento GPT.
Quindi selezionate "GTP" e premete invio per confermare.
Nella finestra successiva viene riepilogato lo schema di partizionamento proposto in automatico dall'installer di FreeBSD.
Selezionare "Finish" e premere invio per confermare.
Dato che la prudenza non è mai abbastanza viene proposto un ulteriore messaggio di conferma dove viene chiaramente esplicitato che tutti i dati presenti sul disco verranno eliminati in modo permanente.
Se non ci sono ripensamenti, selezionare "Commit" e premere invio per confermare.
Le prossime due schermate sono relative al recupero ed all'installazione dei file della distribuzione.
La velocità di esecuzione di queste operazioni dipendono chiaramente dalle prestazioni del server e, se si è utilizzato l'installer bootonly, dalla velocità della rete.
Terminata l'installazione viene richiesto di impostare una password per l'utente root.
root è l'utente amministratore di sistema predefinito nei sistemi unix; è l'utente con i maggiori privilegi in assoluto.
I caratteri digitati non saranno visibili sullo schermo.
Procediamo con la configurazione della rete (requisito essenziale per un server).
Selezioniamo la scheda di rete che vogliamo configurare e confermiamo con invio.
Il sistema ci chiede se vogliamo configurare l'interfaccia di rete utilizzando il protocollo IPv4; selezioniamo "Yes" e confermiamo con invio.
In questo tutorial utilizzeremo esclusivamente il protocollo di rete IPv4 escludendo il protocollo IPv6.
Ora ci viene chiesto se vogliamo configurare la rete in automatico tramite un server DHCP oppure se vogliamo inserire manualmente le informazioni di rete. Selezioniamo "No" e confermiamo con il tasto invio.
Normalmente sui server è preferibile configurare un indirizzo IP statico (configurazione manuale) perchè se ci sono problemi con il DHCP, il server è comunque raggiungibile sulla rete.
Per configurare un indirizzo IP in automatico, è necessario che sulla rete sia presente un server DHCP.
Se non avete installato un server DHCP per vostro conto è probabile che questa funzionalità sia svolta direttamente dal router ADSL/HDSL/Fibra.
Nella finestra seguente inserite tutti i paramestri di rete richiesti. Se non avete dimestichezza con queste informazioni chiedete al vostro amministratore di rete o tornate indietro ed utilizzate la configurazione in DHCP.
Qui viene chiesto se volete configurare la rete utilizzando anche il protocollo IPv6. Come detto in precedenza selezionate "No" e premete invio per confermare.
Qui bisogna inserire altre informazioni di rete. Se non avete un dominio, inserite "local" in search e poi l'indirizzo IP del vostro DNS. Quindi selezionate "Ok" ed invio per confermare.
Se non sapete cosa inserire in DNS provate con
IPv4 DNS #1 8.8.8.8
IPv4 DNS #2 8.8.4.4
Nelle prossime tre schermate selezionate la regione, la nazione e confermate l'abbreviazione proposta in modo da regolare correttamente l'orologio del server.
Nelle prossime due schermate selezionate "skip" e confermate con invio se la data e l'ora sono regolate correttamente.
Se l'ora non è perfettamente allineata non è un problema, si regolerà correttamente appena avvierete il sistema per la prima volta (è chiaramente necessaria una connessione ad internet).
Ora andiamo a selezionare i servizi di sistema che vogliamo attivare in automatico al boot.
Andremo a selezionare i seguenti servizi:
Confermaimo le scelte con il tasto invio
Per selezionare/deselezionare un servizio, posizionarsi con le frecce sulla voce desiderata e premere la barra spaziatrice.
Qui ci viene data la possibilità di implementare alcune misure restrittive sul sistema che stiamo installando.
Per le finalità di questo tutorial selezioniamo le due opzioni seguenti:
Confermare le scelte premendo il tasto invio
Sui sistemi UNIX l'accesso da remoto (connessione ssh) dell'utente root è disabilitato per default (per motivi di sicurezza), quindi è necessario configurare un utente da utilizzare per le normali attività di manutenzione del server.
Pertanto selezionate "Yes" e confermate con invio
Rispondere alle domande proposte dal sistema per procedere con la creazione del nuovo utente come visibile nelle due schermate successive
Per confermare la scelta di default (racchiusa tra parentesi quadre) basta premere invio.
I caratteri digitati nei campi password non verranno visualizzati sullo schermo.
Siamo quasi giunti alla fine della nostra installazione. Da questa schermata è possibile modificare parte della configurazione effettuata.
Se è tutto ok, selezioniamo "Exit" e confermiamo con il tasto invio.
Qui l'installer ci avvisa che la configurazione è terminata e ci chiede se vogliamo accedere temporaneamente al nuovo sistema per effettuare qualche modifica prima di riavviare.
Come parte del tutorial faremo una piccola configurazione del sistema, ma questa parte è del tutto opzionale, quindi se non avete dimestichezza con la shell di FreeBSD e con l'edit vi potete selezionare l'opzione "no" e confermare con invio.
Invece, per procedere con questa piccola configurazione, selezionate "Yes" e confermate con invio.
Quando avviamo il sistema, il loader di FreeBSD attende per default 10 secondi prima di eseguire il boot vero e proprio.
Su un server questo ritardo non è normalmente richiesto, quindi andremo a modificare il file loader.conf in modo da portare questo ritardo a 3 secondi.
Dalla shell di FreeBSD digitiamo il seguente comando:
vi /boot/defaults/loader.conf
e confermiamo con il tasto invio
Bisogna editare una opzione specifica che si trova alla linea numero 84 (autoboot_delay).
Quindi digitare i seguenti caratteri:
:84
e confermare con il tasto invio.
Il cursore verrà posizionato all'inizio della riga numero 84. Effettuare la modifica come da figura.
Per salvare il file e confermare la modifica premere in sequenza i seguenti tasti: Esc + : + wq!
e confermare con il tasto invio
Digitare exit
e confermare con invio per uscire dalla shell di FreeBSD e tornare all'installer.
A questo punto non ci resta che riavviare il sistema premendo il tasto invio per confermare il "Reboot"
La schermata seguente mostra il sistema appena avviato in attesa di login.