Creare un file server casalingo con Ubuntu. Guida passo a passo. Parte 3
Autore: Alessandro Benedetti
Come promesso ecco la terza ed ultima parte (prima parte, seconda parte) del tutorial che spiega come trasformare un vecchio PC con sufficiente spazio su hard disk in un efficiente file server.
4 Abilitare l’account di root
Dopo il riavvio ora potete loggarvi con la username creata durante l’installazione di Ubuntu. Dato che dovremo eseguire tutti i prossimi comandi come utente root provvederemo ora alla sua attivazione; Ubuntu infatti disabilita questo utente come impostazione predefinita.
Eseguiamo quindi
sudo passwd root
creando una password per l’account root. Vi ricordo che una password dovrebbe sempre essere sicura ed essere quindi lunga almeno 8 caratteri, nonchè contenere almeno una lettera minuscola, una maiuscola, un numero ed un carattere speciale. Settata la password possiamo diventare amministratori inserendo il seguente semplice comando:
su
5 Configuriamo la rete
Siccome la configurazione di default di Ubuntu ha scelto automaticamente di configurare la nostra rete tramite un server DHCP, siamo costretti ad intervenire manualmente per avere un indirizzo IP statico, come si conviene ad un server. Modifichiamo quindi il file /etc/network/interfaces con il seguente comando:
nano /etc/network/interfaces
secondo le nostre esigenze. In questo tutorial noi utilizzeremo l’indirizzo 192.168.0.100 per il server configurando anche il nostro router con l’indirizzo 192.168.0.1:
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 192.168.0.100 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1
Quindi facciamo ripartire la rete:
/etc/init.d/networking restart
A questo punto modifichiamo il file /etc/hosts facendolo diventare così:
nano /etc/hosts
127.0.0.1 localhost.localdomain localhost 192.168.0.100 server1.example.com server1 # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts#
Ora eseguiamo:
echo server1.example.com > /etc/hostname
/etc/init.d/hostname.sh start
Quando il comando avrà terminato la sua esecuzione, eseguite:
hostname
hostname -f
Entrambi i comandi dovrebbero mostrarvi server1.example.com.
6 Modificare /etc/apt/sources.list e aggiornare l’installazione di Ubuntu
Un sistema server per essere tale deve essere sicuro ed aggiornato. Prcediamo quindi alla modifica del file /etc/apt/sources.list:
nano /etc/apt/sources.list
Commentate (inserendo un carattere cancelletto ad inizio riga) la ricerca degli aggiornamenti da CD e abilitate (decommentate) le repositories universe e multiverse. Il vostro file dovrebbe essere simile a questo:
# # deb cdrom:[Ubuntu-Server 7.10 _Gutsy Gibbon_ - Release i386 (20071016)]/ gutsy main restricted #deb cdrom:[Ubuntu-Server 7.10 _Gutsy Gibbon_ - Release i386 (20071016)]/ gutsy main restricted # See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to # newer versions of the distribution. deb http://de.archive.ubuntu.com/ubuntu/ gutsy main restricted deb-src http://de.archive.ubuntu.com/ubuntu/ gutsy main restricted ## Major bug fix updates produced after the final release of the ## distribution. deb http://de.archive.ubuntu.com/ubuntu/ gutsy-updates main restricted deb-src http://de.archive.ubuntu.com/ubuntu/ gutsy-updates main restricted ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team, and may not be under a free licence. Please satisfy yourself as to ## your rights to use the software. Also, please note that software in ## universe WILL NOT receive any review or updates from the Ubuntu security ## team. deb http://de.archive.ubuntu.com/ubuntu/ gutsy universe deb-src http://de.archive.ubuntu.com/ubuntu/ gutsy universe deb http://de.archive.ubuntu.com/ubuntu/ gutsy-updates universe deb-src http://de.archive.ubuntu.com/ubuntu/ gutsy-updates universe ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team, and may not be under a free licence. Please satisfy yourself as to ## your rights to use the software. Also, please note that software in ## multiverse WILL NOT receive any review or updates from the Ubuntu ## security team. deb http://de.archive.ubuntu.com/ubuntu/ gutsy multiverse deb-src http://de.archive.ubuntu.com/ubuntu/ gutsy multiverse deb http://de.archive.ubuntu.com/ubuntu/ gutsy-updates multiverse deb-src http://de.archive.ubuntu.com/ubuntu/ gutsy-updates multiverse ## Uncomment the following two lines to add software from the 'backports' ## repository. ## N.B. software from this repository may not have been tested as ## extensively as that contained in the main release, although it includes ## newer versions of some applications which may provide useful features. ## Also, please note that software in backports WILL NOT receive any review ## or updates from the Ubuntu security team. # deb http://de.archive.ubuntu.com/ubuntu/ gutsy-backports main restricted universe multiverse # deb-src http://de.archive.ubuntu.com/ubuntu/ gutsy-backports main restricted universe multiverse ## Uncomment the following two lines to add software from Canonical's ## 'partner' repository. This software is not part of Ubuntu, but is ## offered by Canonical and the respective vendors as a service to Ubuntu ## users. # deb http://archive.canonical.com/ubuntu gutsy partner # deb-src http://archive.canonical.com/ubuntu gutsy partner deb http://security.ubuntu.com/ubuntu gutsy-security main restricted deb-src http://security.ubuntu.com/ubuntu gutsy-security main restricted deb http://security.ubuntu.com/ubuntu gutsy-security universe deb-src http://security.ubuntu.com/ubuntu gutsy-security universe deb http://security.ubuntu.com/ubuntu gutsy-security multiverse deb-src http://security.ubuntu.com/ubuntu gutsy-security multiverse
A questo punto eseguite:
apt-get update
per aggiornare il database dei pacchetti disponibili e:
apt-get upgrade
per installare gli ultimi aggiornamenti (se ve ne sono).
7 Installare un pò di software
La nostra installazione prosegue con l’aggiunta di qualche software che ci servirà principalmente per connettere client Windows al nostro server:
apt-get install samba smbclient smbfs beep ntp ntpdate
Samba, SMBlient e SMBFS saranno la base del nostro file server casalingo. NTP e NTPdate terranno l’orologio del nostro server sincronizzato. Beep è utile per far suonare l’altoparlante interno del PC per avvertirci quando il nostro server è pronto per essere utilizzato.
8 Installare il secondo Hard Disk
Prima di tutto dobbiamo controllare che nome Ubuntu ha dato al nostro hard disk:
fdisk -l
Dovreste poter visualizzare un elenco degli hard disk che sono installati sul vostro PC. Ci sarà un piccolo paragrafo per ogni hard disk, come nell’esempio seguente:
Disk /dev/hda: 40.0 GB, 40020664320 bytes 255 heads, 63 sectors/track, 4865 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 4678 37576003+ 83 NTFS
In Windows i dischi fissi sono riconoscibili tramite una lettera. L’hard disk principale normalmente è C:\. In linux succede una cosa simile. I dischi fissi installati sono elencati tra i ‘device’ o nella directory /dev. tutti i dischi fissi hanno nomi che cominciamo per ‘hd’ (Hard Drive). Ecco come aggiungere il disco hda1. Prima di tutto creiamo una directory dove l’hard disk verrà ‘montato’:
mkdir /media/store
Questa directory dovrà avere permessi tali che tutti gli utenti possano scriverci con il seguente comando:
chmod 777 /media/store
Ora possiamo ‘montare’ l’hard disk:
mount /dev/hda /media/store
Questa operazione è però solo temporanea. Al prossimo riavvio dovremmo ripetere tutto da capo. Per evitare questa noia è suffciente editare il file /etc/fstab:
nano /etc/fstab
Dovreste avere un file a questo:
# /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 /dev/hda1 / ext3 defaults,errors=remount-ro 0 1 /dev/hda5 none swap sw 0 0 /dev/hdb1 /media/hdb1 ext3 defaults 0 0 /dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
Tutto quello che dovrete fare è aggiungere una nuova linea per ‘montare’ il nuovo harddisk. Ecco come montare ad esempio l’harddisk hda1:
/dev/hda1 /media/store ntfs defaults 0 0
Per vedere sin da subito il proprio hard disk montato, invece di riavviare il server, è sufficiente digitare il seguente comando:
mount -a
9 Configurare Samba
Il file server casalingo deve essere visibile nella vostra rete. Per fare questo ci viene in aiuto SAMBA. Il valore che vogliamo sia predefinito è MSHOME. Se il vostro workgroup ha un nome diverso cambiatelo:
nano /etc/samba/smb.conf
e cambiate la linea:
workgroup = MSHOME
Rendiamo ora l’hard disk hda visibile e scrivibile da tutti gli utenti della rete aggiungendo le seguenti linee al file smb.conf:
[hda public hard disk] comment = Public Folder path = media/store public = yes writable = yes create mask = 0777 directory mask = 0777 force user = nobody force group = no group
Ora gli utenti Linux possono loggarsi sul server.
Salvate ed uscite da nano e fate ripartire Samba in questo modo:
/etc/init.d/samba force-reload
Per l’utilizzo casalingo un solo utente remoto è sufficiente. In questo tutorial noi usiamo ad esempio l’utente family:
smbpasswd -a family
Inserite quindi una password al prossimo accesso. Ora siete in grado di utilizzare family come utente se effettuare l’accesso al vostro Home file Server da, ad esempio Internet Explorer.
10 Beep
Molto probabilmente il vostro server non avrà attaccato un monitor (oppure lo tenete sempre spento). Quindi quando accendete il vostro file server non potete sapere con esattezza quando Ubuntu e Samba sono completamente caricati per poter essere utilizzati dai computer della vostra rete.
Facendo suonare lo speaker interno del PC 3 volte noi potremo sapere con esattezza quando il nostro server è pronto:
nano /et/rc.load
Semplicemente aggiungete questa riga:
beep -l 900 -r 3 -f 500
Ora riavviate e divertitevi con il vostro nuovo file server casalingo:
shutdown -r now
Comments
8 Responses to “Creare un file server casalingo con Ubuntu. Guida passo a passo. Parte 3”
bell’articolo, mi è interessato sopratutto la configurazione di samba per lo scambio file, in quanto ho avuto qualche problemino di recente, ora lo provo..ehh ingegnosa la roba dei beep^^
Ma io posso connettermi da ubuntu per gestirlo ?
Xke avevo visto la voce connettiti al server su ubuntu …
@Roberto: non ho capito bene la tua domanda. Se stai chiedendo se puoi utilizzare un altro computer ubuntu con questo server la risposta è certamente sì.
Ma ipotizzando che tutto vada bene e che io abbiamo uno schermo collegato al mio server, posso usarlo anche come computer normale?
Tutta la procedura si puo fare su un sistema dual-boot?
Ultima domanda: ma che differenza c è tra questa soluzione e un semplice ubuntu desktop con il secondo disco (dati) condiviso in rete?
@Simone: Ciao Simone, certo che puoi usare quel computer come normale PC e ovviamente puoi avere un dual boot su quel PC. Per rispondere a tutte e 3 le domande in una volta sola, il procedimento che ho descritto utilizza ubuntu server solo perchè sono partito dal presupposto che si utilizzi un vecchio computer come file server, un computer che normalmente non verrebbe utilizzato per le sue limitate capacità (ce lo vedi un ubuntu desktop su ad esempio un k6 con 256 mb di ram? funziona… ma ahce velocità?).
Quindi tutto quello che è descritto su questa guida può essere fatto anche con una distribuzione desktop di ubuntu.
La differenza fondamentale con un disco condiviso in rete è che nella guida si va a creare un vero e proprio file server, che dovrebbe rimanere sempre acceso e che può gestire diversi computer client. Inoltre, come spiegato nella prima parte della guida: “La guida inoltre vi permetterà di creare un server che utilizza dischi formattati in NTFS. Questo accorgimento vi permetterà di utilizzare i dischi in futuro sia su computer Windows che Linux semplicemente smontandoli e attaccandoli al nuovo computer.” … difficilmente però su un computer ubuntu desktop verrano utilizzati dischi NTFS.
ciao, mi sono avventurato nell’impresa e devo dirti grazie per l’ottima guida passo a passo. Sono un newbee di linux quindi volevo farti alcune domande giusto per vedere se ho sbagliato qualcosa.
Ho un vecchio P3 con due hd da 20 gb. Uno l’ho formattato NTFS con Gparted. Ho installato linux server e fin qui tutto bene. Ho riavviato il server e ho provato da un altro pc della rete (windows) a entrare nel hd. Mi chiede la password e utente. Io metto quelli di linux root e mi fa vedere il disco e (public folder) e stampanti e fax. Non mi lascia entrare nel disco. Dice che non ho l’autorizzazione necessaria per l’utilizzo della risorsa di rete.
Ora che faccio? E’ perchè non sono riuscito a configurare sul server uno user (tipo il tuo family)? O perchè da explorer non si può vedere il disco?
Ti ringrazio e scusa per il messaggio prolisso….
ciao Enrico
Ottima guida. Mi funziona tutto tranne i beep.
Grazie
Complimenti Alessandro per l’ottimo tutorial.
Una domanda:
In un file server come quello che hai descritto come è posssibile e quali sono i migliori programmai per organizzare dei backup (schedulati/incrementali/completi/con upload via ftp o sftp)???
Grazie,
Antonio