Installazione di Samba

Installazione step by step di samba attraverso i pacchetti RPM e la compilazione dei sorgenti.

TAR.GZ - COMPILAZIONE DEI SORGENTI:
- Download dei sorgenti
Si scarica il tar.gz di Samba dal sito ufficiale o uno dei suoi mirror:
root@SATURNO root]# wget ftp://it.samba.org/pub/samba/samba-latest.tar.bz2
--16:45:01--  ftp://it.samba.org/pub/samba/samba-latest.tar.bz2
           => `samba-latest.tar.bz2'
Resolving it.samba.org... done.
Connecting to it.samba.org[217.56.103.6]:21...
[...]


- Scompattazione sorgenti
[root@SATURNO root]# tar -jxvf samba-latest.tar.bz2
[..]
[root@SATURNO root]# cd  samba-2.2.8/
[root@SATURNO samba-2.2.8]# ls -l
total 102
-rw-r--r--    1 783      783         17982 May  4  1996 COPYING
Directory contenente documentazione di vario genere e in vari formati
drwxr-xr-x   10 783      783          1024 Feb  5 17:24 docs
Directory contenente esempi di file di configurazione oltre a tools o script per la gestione della configurazione di samba
drwxr-xr-x   16 783      783          1024 Mar 15 05:28 examples
-rw-r--r--    1 783      783          4551 Apr 30  2002 Manifest
Directory contenente files di configurazione e relativi script per la creazione di package per vari OS e distribuzioni di Linux
drwxr-xr-x   15 783      783          1024 May  3  2002 packaging
Directory contenente sorgenti di un semplice monitoring della shared memory
drwxr-xr-x    2 783      783          1024 May  3  2002 pcp
-rw-r--r--    1 783      783             0 Aug 21  1997 Read-Manifest-Now
-rw-r--r--    1 783      783          8412 Feb 28 16:56 README
-rw-r--r--    1 783      783          1894 Apr 14  2001 Roadmap
Directory contenente i sorgenti
drwxr-xr-x   33 783      783          1024 Mar 15 05:28 source
Directory contenente il tool swat per la configurazione di samba via web
drwxr-xr-x    5 783      783          1024 Mar 15 05:28 swat
Directory contenente, script, sorgenti e altro per eseguire alcuni test su samba
drwxr-xr-x    9 783      783          1024 Mar 15 05:28 testsuite
-rw-rw-r--    1 783      783         59481 Mar 15 05:44 WHATSNEW.txt


-Compilazione sorgenti
La compilazione dei sorgenti avviene come nella maggior parte dei casi con il lancio dello script configure per il settaggio di alcuni parametri e il comando make per la compilazione e installazione dei sorgenti.
[root@SATURNO samba-2.2.8]# cd source/
Per richiamare l'elenco delle opzioni e la relativa spiegazione, lanciare il seguente comando:
[root@SATURNO source]#./configure --help
Di seguito sono riportate le opzioni con relativa spiegazione utilizzati per la creazione dell' RPM per la distribuzione redhat.
Imposta il prefisso del path di installazione
--prefix=%{prefix} \
Imposta la directory ove il sistema scrive tutte quelle informazioni come log, pidfile etc.
--localstatedir=/var \
Imposta la directory contenente tutti i file di configurazione
--with-configdir=/etc/samba \
Specifica la directory ove viene messo smbpasswd
--with-privatedir=/etc/samba \
Specifica la directory dove risiedono i code page files
--with-codepagedir=/etc/codepages \
Abilita l'uso dei path fhs-compliant
--with-fhs \
Abilita il supporto per quota
--with-quotas \
Include il supporto per MS Dfs
--with-msdfs \
Abilita il supporto per smbmount
--with-smbmount \
Abilità il supporto per l'uso di PAM password database
--with-pam \
Include anche il modulo smbpass
--with-pam_smbpass \
Abilita il supporto del logging via syslog
--with-syslog \
Include utmp accounting
--with-utmp \
Specifica dove vengono installati i file riguradanti a swat
--with-sambabook=%{prefix}/share/swat/using_samba \
--with-swatdir=%{prefix}/share/swat \
Abilita la compilazione delle librerie dinamiche del client
--with-libsmbclient

[root@SATURNO source]# ./configure --prefix=/usr \
--localstatedir=/var \
--with-configdir=/etc/samba \
--with-privatedir=/etc/samba \
--with-codepagedir=/etc/codepages \
--with-fhs \
--with-quotas \
--with-msdfs \
--with-smbmount \
--with-pam \
--with-pam_smbpass \
--with-syslog \
--with-utmp \
--with-sambabook=/usr/share/swat/using_samba \
--with-swatdir=/usr/share/swat
[...]
checking for poptGetContext in -lpopt... yes
checking whether to use included popt... no
checking configure summary... yes
updating cache ./config.cache
creating ./config.status
creating include/stamp-h
creating Makefile
creating script/findsmb
creating include/config.h
Compilazione dei sorgenti
[root@SATURNO source]# make
Using FLAGS =  -O   -Iinclude -I./include -I./ubiqx -I./smbwrapper -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE  -DLOGFILEBASE="/var/log/samba" -DCONFIGFILE="/etc/samba/smb.conf" -DLMHOSTSFILE="/etc/samba/lmhosts"   -DSWATDIR="/usr/share/swat" -DSBINDIR="/usr/sbin" -DLOCKDIR="/var/cache/samba" -DCODEPAGEDIR="/etc/codepages" -DDRIVERFILE="/etc/samba/printers.def" -DBINDIR="/usr/bin" -DPIDDIR="/var/run/samba" -DLIBDIR="/usr/lib" -DHAVE_INCLUDES_H -DPASSWD_PROGRAM="/usr/bin/passwd" -DSMB_PASSWD_FILE="/etc/samba/smbpasswd" -DTDB_PASSWD_FILE="/etc/samba/smbpasswd.tdb"
[...]
Installazione
[root@SATURNO source]# make install
[...]


INSTALLAZIONE TRAMITE RPM
L'installazione completa di samba via rpm richiede più package scaricabili da repository come http://www.rpmfind.net oppure nel caso di Redhat ci si può appoggiare anche al suo repository di errata.
Supponiamo di aver scaricato i seguenti RPM:
Package principale contenente documentazione, manuali e binari per attivare il servizio.
samba-2.2.7-4.8.0.i386.rpm
Package contenente le utility e relativi manuali per il mounting delle share
samba-client-2.2.7-4.8.0.i386.rpm
Package contenente file di necessari sia al client che al server come l'utility smbpasswd o le code pages
samba-common-2.2.7-4.8.0.i386.rpm
Utility per la configurazione di samba via web
samba-swat-2.2.7-4.8.0.i386.rpm

Installazioe di tutti i vari rpm relativi a samba
[root@SATURNO root]# rpm -ihv samba-*.rpm
warning: samba-2.2.7-4.8.0.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
Preparing...                ########################################### [100%]
   1:samba-common           ########################################### [ 25%]
   2:samba                  ########################################### [ 50%]
   3:samba-client           ########################################### [ 75%]
   4:samba-swat             ########################################### [100%]

Visualizzazione di ciò che i vari rpm hanno installato
[root@SATURNO root]# rpm -qil samba
[...]
File di configurazione per logrotate
/etc/logrotate.d/samba
File di configurazione per PAM
/etc/pam.d/samba
Script di gestione del servizio
/etc/rc.d/init.d/smb
File contenente la correlazione unix_name e smb_name
/etc/samba/smbusers
File contenente le opzioni passate ai vari demoni
/etc/sysconfig/samba
Uility per la creazione di file unicode per samba
/usr/bin/make_unicodemap
Script relativo alla gestione del file smbpasswd
/usr/bin/mksmbpasswd.sh
Script per la gestione degli utenti samba
/usr/bin/smbadduser
/usr/bin/smbcontrol
/usr/bin/smbstatus
/usr/bin/tdbbackup
Librerie e file header
/usr/include/libsmbclient.h
/usr/lib/libsmbclient.a
/usr/lib/samba/vfs
/usr/lib/samba/vfs/recycle.so
Binari relativi ai demoni
/usr/sbin/nmbd
/usr/sbin/smbd
Documnetazione
/usr/share/doc/samba-2.2.7
/usr/share/doc/samba-2.2.7/COPYING
/usr/share/doc/samba-2.2.7/LDAP
/usr/share/doc/samba-2.2.7/LDAP/README
/usr/share/doc/samba-2.2.7/LDAP/export_smbpasswd.pl
/usr/share/doc/samba-2.2.7/LDAP/import_smbpasswd.pl
/usr/share/doc/samba-2.2.7/LDAP/ldapchpasswd
/usr/share/doc/samba-2.2.7/LDAP/ldapsync.pl
[...]
Manuali
/usr/share/man/man1/make_unicodemap.1.gz
/usr/share/man/man1/smbcontrol.1.gz
/usr/share/man/man1/smbstatus.1.gz
/usr/share/man/man5/smbpasswd.5.gz
/usr/share/man/man7/samba.7.gz
/usr/share/man/man8/nmbd.8.gz
/usr/share/man/man8/pdbedit.8.gz
/usr/share/man/man8/smbd.8.gz
Directory di appoggio
/var/cache/samba
/var/log/samba
/var/run/samba
/var/spool/samba

[root@SATURNO root]# rpm -qil samba-common
[...]
Script di gestione del demone windbind
/etc/rc.d/init.d/winbind
File di configurazione
/etc/samba
/etc/samba/lmhosts
/etc/samba/smb.conf
Librerie dinamiche
/lib/libnss_winbind.so

/lib/libnss_winbind.so.2
/lib/libnss_wins.so
/lib/libnss_wins.so.2
/lib/security/pam_winbind.so
utility e binari di vario genere per l'amministrazione del servizio e degli utenti di samba
/usr/bin/make_printerdef
/usr/bin/make_smbcodepage
/usr/bin/smbpasswd
/usr/bin/testparm
/usr/bin/testprns
/usr/bin/wbinfo
/usr/sbin/winbindd
Manuali
/usr/share/man/man1/make_smbcodepage.1.gz
/usr/share/man/man1/testparm.1.gz
/usr/share/man/man1/testprns.1.gz
/usr/share/man/man1/wbinfo.1.gz
/usr/share/man/man5/lmhosts.5.gz
/usr/share/man/man5/smb.conf.5.gz
/usr/share/man/man8/smbpasswd.8.gz
/usr/share/man/man8/winbindd.8.gz
Directory contenente i codepages
/usr/share/samba
/usr/share/samba/codepages
[...]
[root@SATURNO root]# rpm -qil samba-client
[...]
links a /usr/bin/smbmount,binario per il mounting delle share
/sbin/mount.smb
/sbin/mount.smbfs
Utility per l'interrogazione del server smb e per il mountig delle share
/usr/bin/nmblookup
/usr/bin/rpcclient
/usr/bin/smbcacls
/usr/bin/smbclient
/usr/bin/smbmnt
/usr/bin/smbmount
/usr/bin/smbprint
/usr/bin/smbspool
/usr/bin/smbtar
/usr/bin/smbumount
Manuali
/usr/share/man/man1/nmblookup.1.gz
/usr/share/man/man1/rpcclient.1.gz
/usr/share/man/man1/smbcacls.1.gz
/usr/share/man/man1/smbclient.1.gz
/usr/share/man/man1/smbtar.1.gz
/usr/share/man/man8/smbmnt.8.gz
/usr/share/man/man8/smbmount.8.gz
/usr/share/man/man8/smbspool.8.gz
/usr/share/man/man8/smbumount.8.gz


Per la gestione del servizio ci si può appoggiare allo script: /etc/init.d/smb, specificando come parametro l'azione da eseguire, esempio start, stop o restart.
Opzioni disponibili:
- start : Avvia il servizio smb
- stop : killa i processi smb
- restart : Esegue in successione stop e start
- reload : esegue il reload del file di configurazione
- status : visualizza lo status dei demoni
- condrestart : Esegue il restart del servizio  

Per richiamare le singole opzioni utilizzabili lanciare lo script senza argomenti
[root@SATURNO root]# /etc/init.d/smb   
Usage: /etc/init.d/smb {start|stop|restart|reload|status|condrestart}
Esempi di avvio, restart e stop
[root@SATURNO root]# /etc/init.d/smb start
Starting SMB services:                                     [  OK  ]
Starting NMB services:                                     [  OK  ]
[root@SATURNO root]# /etc/init.d/smb restart
Shutting down SMB services:                                [  OK  ]
Shutting down NMB services:                                [  OK  ]
Starting SMB services:                                     [  OK  ]
Starting NMB services:                                     [  OK  ]
[root@SATURNO root]# /etc/init.d/smb stop
Shutting down SMB services:                                [  OK  ]
Shutting down NMB services:                                [  OK  ]

Privacy Policy