sabato 3 marzo 2012

Installare un server Subversion - Parte 2

Proseguiamo sulla creazione di un server Subversion, iniziato con la Parte 1.

Supponiamo di voler creare una utenza subversion per un sistema Windows. Per fare ciò, occorrerà installare il programma Putty su ognuno dei client. Suppongo che tutti i lettori di questo post lo sappiano fare, quindi non sarà qui descritto.

Fatto ciò, occorre creare una coppia di chiavi (pubblica e privata). Lo si può fare sfruttando il tool PuTTYgen, incluso nel pacchetto di PuTTY.
Creiamo la chiave per il nostro primo utente, per esempio "svn01", cliccando sul tasto Generate.



Seguiamo le istruzioni a video, quindi muoviamo un po' il mouse per aiutare la creazione di una chiave casuale. Fatto ciò, modificate il campo "Key comment" con qualcosa di più significativo, tipo "svn01"; inserite e confermate la vostra password.



Ricordatevi, in un ambiente 'live', di utilizzare una password complessa e sicura! Potrete cambiare questa password senza impatti sulla sua pubblica e senza dover ripetere le operazioni che seguono. Per la fase di test, vi consiglio invece una password semplice, tanto per non aggiungere complicazioni inutili, ma ricordatevi di cambiarla se l'ambiente di test diventa, di fatto, l'ambiente 'live'.


Salvate la chiave con il pulsante "Save private key". Non chiudete ancora la finestra di PuTTYgen!



Siamo a buon punto con la creazione del primo utente Subversion.
Ora però occorre far sì che l'utente che utilizza questa chiave possa collegarsi al nostro server.
Apriamo PuTTY e colleghiamoci al server con l'utenza di amministrazione di subversion creata durante la parte 1. In questa guida l'utente è "subversion".

Occorre creare la cartella .ssh, che conterrà le chiavi autorizzate ad accedere all'utenza subversion.

Digitiamo

mkdir ~/.ssh
cd ~/.ssh

La directory .ssh non deve avere permessi troppo elevati. Se avete seguito correttamente la Parte 1, impostando il comando umask in fondo al file .bashrc, la cartella .ssh avrà i permessi di lettura, scrittura ed esecuzione riservati al solo utente subversion. Al gruppo e al resto degli utenti non è consentito fare nulla con questa cartella. Questo è importante, perché permessi troppo elevati impediranno il collegamento con autenticazione tramite coppia di chiavi.

Se vi siete ricordati di aver saltato la parte riguardante umask, niente paura: per cambiare i permessi della cartella .ssh appena creata, digitate:

chmod u+rwx,go-rwxs ~/.ssh

Ricordatevi poi di eseguire i passi della Parte 1, con particolare attenzione all'aggiunta del comando umask nel file ~/.bashrc
Ora, copiamo il contenuto della casella "Public key..." selezionando il testo e premendo la combinazione di tasti CTRL-C.



Torniamo sul server e digitiamo:

vi ~/.ssh/authorized_keys

premete il tasto "i" per inserire, e fate click con il tasto destro nella finestra. Voilà!



Digitiamo e poi :wq per uscire da vi salvando il file.

Abbiamo quasi finito con il primo utente.
Se vogliamo verificare il funzionamento, creiamo con PuTTY una sessione dal nome (per esempio) svn01.subversion.homeserver (sostituite homeserver con il nome o l'indirizzo del vostro server).
Andate nella scheda Connection -> SSH -> Auth e impostate il percorso della vostra chiave privata nella casella "Private key file for authentication:".



Impostiamo il nome utente nella scheda Connection -> Data, casella "Auto-Login Username". Ricordiamoci, ci colleghiamo sempre con l'unico utente "subversion".
Non dimenticate di salvare la sessione, che dovrebbe essere simile a quella dell'immagine qui sopra.
Proviamo ad aprirla. Se tutto è andato bene, vi verrà chiesta la password dell'utente svn01 (si tratta di quella che avete inserito in PuTTYgen).



Finito? No, mancano ancora un po' di cose. Per esempio, il problema più grave è che l'utente svn01, di fatto, è un amministratore del nostro server subversion, al pari dell'utente subversion stesso. Questo non è accettabile! Provvederemo nelle prossime parti.


Avanti con la Parte 3...




Nessun commento: