Creare un file server casalingo con Ubuntu. Guida passo a passo. Parte 3

Autore:

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”

  1. cirio on February 29th, 2008 19:55

    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^^

  2. Roberto on March 13th, 2008 17:51

    Ma io posso connettermi da ubuntu per gestirlo ?
    Xke avevo visto la voce connettiti al server su ubuntu …

  3. Paperino on March 13th, 2008 17:54

    @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ì.

  4. Simone on March 20th, 2008 13:41

    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?

  5. Paperino on March 20th, 2008 15:56

    @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.

  6. Enrico on March 20th, 2008 18:16

    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

  7. Carlo on September 9th, 2009 12:49

    Ottima guida. Mi funziona tutto tranne i beep.
    Grazie

  8. Antonio on December 14th, 2009 11:22

    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