Se compila, allora funziona.

— 2° Teorema di Polizzi

ArchLinux Small Business Server (9) - File Server (2)

http://www.stenoweb.it/files/blog/archlogo.png Cominciamo, dopo le chiacchere del post predente della serie, con la configurazione del nostro file server domain controller basato su Samba e OpenLDAP. Come primo passo dedichiamoci all' installazione dei pacchetti necessari.

Operazioni preliminari

In questo tipo di configurazioni è bene concentrarci sul singolo problema, evitando di correr dietro a cause esterne dovute ad altri servizi. Tutto questo per dire che se per caso avete attivato il firewall è giunto il momento di disattivarlo momentaneamente. Quando tutto funzionerà a dovere lo ripristineremo con le rules aggiuntive opportune. Quindi:

sudo /etc/rc.d/shorewall stop

In più abilitiamo momentaneamente tutti i protocolli :
sudo nano /etc/hosts.allow

e aggiungiamo la riga
all: ALL : allow

Bene, ora che abbiamo eliminato eventuali cause esterne possiamo proseguire.

Il repository radioattivo

Durante l'installazione ho, purtroppo, constatato che i pacchetti necessari in questa impresa non sono tutti disponibili né sui repository ufficiali nè su AUR. Certo, essendo degli script perl e delle librerie dello stesso, avrei potuto usare CPAN ed installare gli script a mano, ma finché posso voglio evitare questa pratica e allora (rullo di tamburi:)) ho creato un piccolo e radioattivo repository personale con quello che ci serve.
Creare un repository con Arch è veramente una operazione banale con il comando repo-add, un po' più complicati sono i PKGBUILD. Di grande aiuto mi è stata l'utility cpan4pacman installata nel primo capitolo di questa serie, che mi ha creato i PKGBUILD per le librerie perl mancanti, appena un po' più complesso il pacchetto smbldap-tools che ho dovuto fare da zero (o quasi). Perchè radioattivo ? Perchè ho ignorato tutte le opzioni di verifica delle dipendenze e i checksum MD5. Sono script in perl, di bassa pericolosità, ma naturalmente non mi assumo responsabilità.

Attiviamo il repository

sudo nano /etc/pacman.conf

aggiungiamo in fondo :
[stenoweb]
Server = http://www.stenoweb.it/repo/i686

e per finire aggiorniamo la lista dei pacchetti "risucchiando" la lista anche dal repo stenoweb:
sudo pacman -Sy

Bene ! Non dovreste ottenere errori.

Installazione pacchetti

Samba

Ma come diavolo si installerà Samba ? io proverei con un:

sudo pacman -S samba

Funziona ! Scusate non ho resistito ...

LDAP Tools

E qui interviene il mio repository. Gli LDAP Tools sono degli script realizzati in perl che permettono di gestire utenti e gruppi Samba/Unix salvando i dati sull'albero LDAP anziché sui file /etc/passwd e /etc/group. In pratica sostituiscono i vari comandi standard linux di gestione degli utenti.
Iniziamo con installare le librerie perl necessarie :

sudo pacman -S perl-digest-sha1 perl-crypt-smbhash perl-jcode perl-unicode-map perl-unicode-map8 perl-unicode-maputf8 perl-unicode-string perl-ldap perl-io-socket-ssl

e poi il pacchetto vero e proprio con gli scripts:
sudo pacman -S smbldap-tools

Gli script sono stati copiati/installati in /usr/local/bin e i file di configurazione in /etc/smbldap-tools.
I comandi sono nella forma (ad esempio per aggiungere un utente) :
sudo /usr/local/bin/smbldap-useradd nomeutente

ma non provateci adesso, mancando la necessaria configurazione otterrete solo un errore.
Ho fatto qualcosa in più: data la lunghezza del comando lo script di installazione del pacchetto crea anche dei link simbolici di più agevole forma in /bin. Il comando di prima diventerà il più semplice:
sudo netuseradd nomeutente

Prolunghiamo la vita alle nostre tastiere! :)

Samba LDAP Schema

Per ultimo abbiamo bisogno del file di schema da applicare a OpenLDAP per memorizzare i dati di cui ha bisogno Samba. Cos'e' un file di schema ? LDAP in buona sostanza è un database, lo schema non è altro che il tracciato record che descrive, dichiara e crea i campi nel database LDAP. Nello schema Samba ci sono i campi per il nome utente, la password, la home, i gruppi ecc. che servono a memorizzare i nostri dati nell'albero LDAP.
Il file samba.schema di cui abbiamo bisogno è fornito con i sorgenti di Samba: anziché scaricare i 17MB, scompattare e recuperare il file ve lo fornisco io direttamente.
Spostiamoci nella cartella degli schemi di OpenLDAP :

cd /etc/openldap/schema

e scarichiamoci lo schema:
sudo wget http://www.stenoweb.it/repo/noarch/samba.schema

Bene, la parte installazione è conclusa, nella prossima puntata inizieremo con le configurazioni.

ciao
intanto grazie per l'ottima guida, finalmente una cosa che funziona al primo colpo... era da mesi che volevo cominciare a smanettare con ldap per poi unirlo a samba...

il tuo repositary non funziona, o almeno a me non va...
al momento ho ovviato con le installazioni tramite cpan... e cpan4pacman (anche se mi ha dato diversi problemi... che ora non ho proprio voglia di controllare :) )

samu