Visualizzazione post con etichetta private. Mostra tutti i post
Visualizzazione post con etichetta private. Mostra tutti i post

mercoledì 7 marzo 2012

Installare un server Subversion - Parte 6 - Eclipse

Riprendiamo dalla precedente Parte 5.

Avete tutti Eclipse installato, vero?
Bene. Cominciamo creando un progetto di grande spessore e dal design ricercato. Fior di pagine sono state scritte su progetti di questo genere!



Ora installiamo il plugin Subclipse, che ci servirà a utilizzare il nostro repository Subversion all'interno di Eclipse.


Aggiungiamo il sito "http://subclipse.tigris.org/update_1.8.x", con un nome a piacere (io ho scelto subclipse 1.8).


Selezioniamolo...


E installiamo il primo nodo. Non avremo bisogno di SVNKit.


Accettate la licenza, rispondete OK ai prompt successivi. A questo punto Eclipse vi chiede di riavviare, assecondatelo.


Aprite la Perspective "SVN Repository Exploring"


E aggiungete il nostro repository indicando la URL:
svn+ssh://svn01.subversion.homeserver/Repo01
Se non lo avete ancora fatto, questo è il momento per aprire Pageant e caricare la vostra chiave, come spiegato nella Parte 3.




Siamo connessi! Ora possiamo condividere il nostro progetto sul repository, e renderlo visibile agli altri utenti.







A prescindere da valutazioni circa il fatto che sia opportuno versionare i file .classpath, .project e la cartella .settings, abbiamo finito!
Le immagini parlano da sole, il procedimento è estremamente semplice. Sì, certo... per voi lo è stato. Io ci ho lavorato un tantino di più, ma fa nulla. La condivisione è ricchezza!

A domani per Visual Studio. Oppure Sharpdevelop. Forse entrambi, si tratta di capire quale preparerò per primo.
Buon divertimento!

martedì 6 marzo 2012

Installare un server Subversion - Parte 5

Riprendiamo il nostro percorso. Questa quinta parte sarà dedicata a queste attività:
  1. Checkout repository, aggiunta di un file, verifica author (svn01)
  2. Creazione di un nuovo utente, nuovo checkout, verifica author su suoi nuovi files e revisioni di file esistenti.
Checkout del repository

Se non lo abbiamo fatto, verifichiamo che Pageant sia attivo e la chiave del nostro utente di Subversion sia caricata. 
Da sistema operativo Windows, utilizziamo TortoiseSvn (basta clickare con il tasto destro sul desktop, o su qualsiasi finestra di Explorer (il file manager). Posizioniamoci quindi in una cartella idonea, selezioniamo la voce checkout, e dalla casella combo scegliamo il repository appena creato e a cui abbiamo provato a connetterci nella Parte 4.

La URL, nell'ambiente di prova, è: 

svn+ssh://svn01.subversion.homeserver/Repo01


Se il checkout è andato a buon fine, dovremmo ottenere un risultato simile a questo:


Il repository è ancora vuoto!
Proviamo quindi a creare un nuovo file, un semplice file di testo con Notepad. Scriviamo qualcsa e salviamo.
Nella finestra di Explorer il file appare con una iconcina, che suggerisce che il file è nuovo.


Tramite le funzioni "add" e "commit" eseguiamo le operazioni di aggiunta e salvataggio del file nel repository Subversion. Comodo!






Se ora verifichiamo la cronologia del file appena creato, potremo osservare che esso ha, come author "svn01", cioè il nome che abbiamo messo nella nostra riga sul file ~/.ssh/authorized_keys. Non c'è nessun riferimento al vero utente linux, che rimane sempre "subversion".


A questo punto non ci resta che verificare la bontà della nostra configurazione di Subversion, provvedendo ad aggiungere un nuovo utente. Dimostreremo che
  1. Non abbiamo bisogno di un nuovo utente linux
  2. Non dovremo avvalerci, per esempio, di apache per l'autenticazione. I nostri requisiti di sistema rimangono molto bassi.
Per creare un nuovo utente di Subversion, apriamo il nostro fedele PuTTYgen e creiamo una nuova chiave, esattamente come abbiamo fatto in precedenza. Come key comment utilizziamo svn02 (per esempio). Utilizziamo anche una nuova password, e salviamo la chiave in un opportuna cartella.



Apriamo Pageant e carichiamo la nuova chiave, esattamente come fatto in precedenza.


Dalla finestra di PuTTYgen, copiamo la chiave pubblica selezionandola e premendo CTRL-C.
Apriamo una sessione amministrativa al nostro subversion (subversion@homeserver nel nostro ambiente) e andiamo a modificare il file ~/.ssh/authorized_keys.



Salviamo il files (ESC e poi :wq). Sul server abbiamo finito!
Apriamo PuTTY per creare la sessione dedicata a svn02. Ci basta caricare quella di svn01 (svn01.subversion.homeserver) e salvarla in svn02.subversion.homeserver, e apportare una semplice modifica: in Connection -> SSH -> Auth dobbiamo modificare la chiave privata da associare alla sessione e selezionare quella appena creata. Non dimentichiamoci di salvare la sessione.


Andiamo su una nuova cartella, idonea a ricevere il repository (caricato però dall'utente svn02), e iniziamo l'operazione di check-out.


Ricordiamoci di modificare la URL del repository sostituendo svn01 con svn02: la URL diventa:
svn+ssh://svn02.subversion.homeserver/Repo01


Ci aspettiamo questo risultato:


A questo punto possiamo creare un nuovo file o modificare l'esistente per poi aggiungerlo e committare, come abbiamo fatto in precedenza. Scegliamo di fare un altro file che chiameremo SecondoFile.txt. Una volta aggiunto e committato il file, dovremmo avere una finestra simile a questa:


Riapriamo la finestra di browse del repository, e osserviamo che i due file hanno autori diversi.



Come promesso, abbiamo creato un nuovo utente Subversion e non abbiamo creato un utente Linux, né abbiamo avuto bisogno della password di root.

Nella prossima parte proviamo a utilizzare Eclipse...

lunedì 5 marzo 2012

Installare un server Subversion - Parte 4

Riprendiamo l'installazione del server Subversion dalla precedente Parte 3.

La parte 3 è stata un intermezzo; il discorso più importante è stato lasciato in sospeso alla fine della Parte 2.
Ci occorre restringere opportunamente le possibilità di azione degli utenti del nostro server Subversion. Non vogliamo che i nostri utenti possano accedere liberamente ai file del repository, agli script che andremo a creare. Dovranno solo poter accedere ai dati contenuti nel repository stesso attraverso Subversion.
Vediamo come possiamo realizzarlo.

Torniamo a collegarci al nostro server con l'utente subversion.


Ci occorre creare uno script attraverso il quale automatizzare l'accesso esclusivo di Subversion al nostro repository.
Verifichiamo, sul nostro sistema Linux, dove si trova l'eseguibile del server di subversion, digitando which svnserve.
In Debian, l'eseguibile si trova in /usr/bin. Dobbiamo crearne un wrapper, che imposti la umask e restringa l'accesso alla directory contenente i repository (E' qui dove molte guide suggeriscono di rinominare il file svnserve e creare, un /usr/bin, uno script che richiami il binario con il nuovo nome. A noi questo non piace, vero?).
Per fare ciò creiamo una directory bin all'interno della home dell'utente subversion, digitando mkdir ~/bin. Entriamoci digitando cd ~/bin.


Creiamo quindi il wrapper digitando vi ~/bin/svnserve.
Digitiamo le seguenti righe:


#!/bin/sh
umask 0077
/usr/bin/svnserve -r /home/subversion/repo/ "$@"

Chiudiamo il file e salviamo (tasto ESC seguito da :wq).
Rendiamo il file eseguibile digitando: chmod u+rwx ~/bin/svnserve



Abbiamo creato un eseguibile "svnserve" che imposta la directory da servire nella nostro repository.
A questo punto non ci resta che tornare al nostro file ~/.ssh/authorized_keys e far sì che l'utente svn01, al collegamento, sia 'forzato' ad accedere direttamente a svnserve.
Per fare questo digitiamo vi ~/.ssh/authorized_keys e aggiungiamo, in testa alla riga contenente la chiave pubblica dell'utente svn01:

command="~/bin/subversion-server -t --tunnel-user=svn01",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty

Il risultato finale é il seguente:


Concludiamo il post verificando il corretto funzionamento del nostro server di Subversion.
Su una macchina Windows (più avanti proveremo anche un client su un Desktop Environment Linux e su un ambiente di sviluppo, come Eclipse e Visual Studio) installiamo TortoiseSVN (http://tortoisesvn.net/).
Una volta installato, proviamo a collegarci al nostro repository. TortoiseSVN è una shell extension: posizioniamoci, per esempio, sul desktop e clickiamo con il tasto destro, selezionando TortoiseSVN -> Repo Browser.


Nella finestra che apparirà, digitiamo svn+ssh://svn01.subversion.homeserver/Repo01.
Se tutto è andato bene, non ci verrà chiesta alcuna password, e vedremo questo risultato:


Naturalmente, il repository è vuoto. Ma se vi compare questa finestra, vuol dire che avete eseguito correttamente tutti i passaggi.
Se vi state chiedendo come mai non vi è stata richiesta alcuna password, la risposta sta nella Parte 3, e nel tool Pageant. Quando avete caricato la chiave privata, vi è stata chiesta la password. Una volta fornita, la chiave è aperta, e TortoiseSVN si avvale di PuTTY e Pageant per connettersi al server.

Se invece non avete ottenuto altro che finestre che richiedono la password, probabilmente la vostra chiave non è al momento caricata in Pageant (magari, avete riavviato il PC!). Avviate Pageant se non è ancora attivo e caricate la chiave come descritto nella Parte 3, e riprovate!

Nella prossima parte proveremo ad aggiungere un utente, e verificare che, nonostante l'utente Linux sia uno solo, i file appartengono agli utenti da noi creati (svn01, svn02 e così via).

Si prosegue con la Parte 5, ricca di screenshot!

Cito la fonte da cui ho attinto informazioni utili per questa guida:
http://tortoisesvn.net/ssh_howto.html


domenica 4 marzo 2012

Installare un server Subversion - Parte 3

Rieccoci per la terza parte (Parte 1 - Parte 2).

In questo breve post è descritto un passo preliminare che consentirà l'autenticazione automatica (cioè, inserendo la password del proprio utente di Subversion una sola volta per sessione) su un sistema Windows.

Occorre utilizzare il tool Pageant di PuTTY. Una volta avviato, troviamo una icona nell'area di notifica. E' quella che sembra un computer con sopra un cappellino.
Clickandoci sopra con il tasto destro e selezionando "View Keys", appare una finestra di questo tipo:

Non ci resta che aggiungere la chiave che abbiamo precedentemente creato, utilizzando ovviamente il tasto "Add Key". Navigate fino alla cartella dove avete salvato la chiave, selezionatela e clickate "Open". Ci viene chiesta la password, che è quella che avete digitato su PuTTYgen quando avete creato la vostra chiave pubblica.


Digitate la password e clickate OK. Se tutto è andato bene, a video non succede nulla, ma la chiave è aperta e pronta per essere utilizzata. Verificate di nuovo clickando con il tasto destro sulla icona di Pageant nella tray. Dovrebbe apparire una finestra simile a questa:


Ricordate: ogni utente di subversion dovrà caricare la propria chiave! Potete anche aggiungere Pageant all'avvio automatico aggiungendo come parametro il path della vostra chiave (vi verrà richiesta la password a ogni avvio di Windows).


Avanti con la Parte 4...