Introduzione
Subversion (o SVN) è un sistema di controllo della versione del software open source utilizzato per mantenere e tenere traccia delle modifiche al codice del software. Questo articolo ti guiderà attraverso il processo di configurazione di un server SVN su CentOS 7 raggiungibile dal tuo computer locale. Infine, testeremo quel server creando un progetto di esempio su un client SVN.
Prerequisiti
- Un'installazione di CentOS 7 esistente. Se hai bisogno di aiuto per configurare CentOS 7, dai un'occhiata alla nostra procedura per la configurazione iniziale di CentOS 7.
- Una conoscenza di base della riga di comando di Linux
Installazione di SVN
Il primo passo per far funzionare il tuo server è installare SVN. Su CentOS, è più facile farlo usando yum
gestore di pacchetti. Esegui il comando seguente per installare SVN:
sudo yum install subversion
Premi y
, quando richiesto, per confermare l'installazione. Una volta completato, dovresti vedere "Completato!" nel terminale. Per verificare l'installazione, eseguire il comando seguente:
svn --version
Se installato correttamente, vedrai un breve messaggio che fornisce i dettagli sulla versione e le informazioni sul copyright per la tua installazione SVN.
.
Creazione di un repository
Prima di poter iniziare a utilizzare SVN, dovrai decidere quale struttura ti servirà per i tuoi repository. Per piccoli team o per uso personale, un repository dovrebbe essere sufficiente. Se hai bisogno di più repository, dovresti ripetere questa sezione per ogni repository di cui hai bisogno. Esegui il comando seguente per creare una directory del filesystem in /srv/svn
per il repository.
sudo mkdir /srv/svn
Quindi, inizializza il repository utilizzando svnadmin
comando:
sudo svnadmin create /srv/svn
Questo comando crea la struttura di cartelle necessaria per un repository SVN e alcuni file predefiniti.
.
Configurazione del server
Ci sono molte opzioni per eseguire il server SVN. Per questo tutorial, utilizzeremo il svnserve
integrato , che è molto facile da avviare. Questa opzione si adatta alla maggior parte dei team che non necessitano di opzioni avanzate.
.
Creazione di utenti
cd /srv/svn/conf sudo nano svnserve.conf
In questo file aggiungeremo due proprietà. Il primo è password-db
che punta al file in cui verranno archiviati gli utenti. Il secondo è realm
, che puoi considerare come lo "spazio dei nomi" utilizzato da questo repository. Questo nome del regno verrà mostrato agli utenti durante l'autenticazione.
[general] password-db = passwd realm = my company
Se stai modificando il file di configurazione pregenerato, queste proprietà esisteranno già. Puoi rimuovere il simbolo del commento (#
) – e qualsiasi spazio bianco precedente – e modifica il compito in modo che corrisponda a quello sopra o a tuo piacimento.
.
In questo /srv/svn/conf
directory, dovresti già vedere il passwd
file. Il svnadmin
comando sopra crea questo file automaticamente. Aggiungi tutti gli utenti che desideri specificando nome utente e password in coppie chiave-valore. Ad esempio:
[users] samantha = secretpassword robert = hunter2
Avvio del server
Per avviare il server, utilizziamo svnserve
comando.
sudo svnserve -d -r /srv/svn
Il -d
switch lo avvia come processo in background (daemon). Il -r
switch punta il server alla posizione del file system del repository che abbiamo creato in precedenza. (Per l'elenco completo delle opzioni di configurazione, eseguire man svnserve
.)
Assicurati di eseguire questo processo come utente con privilegi elevati (root). In caso contrario, gli utenti finali non saranno in grado di eseguire il commit delle modifiche al repository.
.
La porta predefinita per svnserve
è 3690. Per verificare che il server SVN sia in esecuzione, apri un browser e vai a http://myserver:3690
(sostituendo myserver
con il nome host o l'indirizzo IP del tuo server). Dovresti vedere del testo simile al seguente.
Esempio di risposta a Subversion nel browser
Anche se possiamo usare http://
qui per assicurarci che il server sia avviato, interagiremo principalmente con il server SVN utilizzando il svn://
personalizzato Formato URL.
.
Creazione di un progetto di prova
Per assicurarci che tutto sia impostato correttamente, creeremo un progetto fittizio. Da qui in poi, dovresti lavorare da un client su cui è installato SVN. Se non hai un facile accesso a un altro computer (o se stai installando SVN sul tuo computer per uso personale), puoi, ovviamente, utilizzare il server su cui stai già lavorando.
Inizia creando una cartella del progetto di prova.
mkdir ~/Documents/my-first-project
Quindi, esegui il comando seguente per importare quella directory in SVN. (Ancora una volta, assicurati di sostituire myserver
con il nome host o l'IP del tuo server SVN.)
svn import ~/Documents/my-first-project svn://myserver:3690/my-first-project -m "Initial commit." --username robert --password hunter2
Ci sono molti flag in quel singolo comando, quindi esaminiamo cosa fa ciascuno di essi.
import
crea un nuovo progetto in SVN. Specifichiamo la fonte e poi la destinazione.-m "Initial commit."
è il nostro messaggio di commit che è registrato in SVN.--username
e--password
sono i dettagli di autenticazione.
Potresti ricevere un avviso che la tua password verrà memorizzata nella cache non crittografata. Se il tuo computer client è già protetto da password, potresti essere d'accordo con questo. Ma per una sicurezza ottimale, puoi inserire "no" alla richiesta di Store password unencrypted
e la tua password non verrà memorizzata nella cache. Puoi anche seguire il suggerimento di impostare store-plaintext-passwords
(nel file di configurazione indicato) su “no” così non ti verrà più chiesto.
.
Se tutto va bene, dovresti vedere Committed revision 1
nel terminale.
Errori comuni
Ecco alcuni errori che potresti ricevere se qualcosa non è configurato correttamente:
- Autenticazione o autorizzazione fallite :rivedere l'impostazione in "Creazione utenti". È fondamentale che questi file di configurazione siano nella posizione corretta e non contengano errori di battitura.
- Impossibile connettersi a un repository :Assicurati che il server sia in esecuzione e di averlo avviato con il
-r
corretto percorso. - Errori di autorizzazione dei file :assicurati che il server sia in esecuzione con autorizzazioni elevate. Se non sei sicuro,
ps aux
comando ti mostrerà l'utente che sta eseguendosvnserve
.
.
Conclusione
Dopo aver terminato questo tutorial, dovresti essere in grado di:
- Crea un repository SVN di base in CentOS 7
- Aggiungi utenti al repository
- Avvia un server attraverso il quale i client possono accedere al repository
Ci sono molte opzioni aggiuntive che puoi configurare nella tua installazione di SVN. Per ulteriori informazioni, dai un'occhiata al Libro SVN, che fornisce dettagli più approfonditi sulla configurazione e la manutenzione del server SVN.
Atlantic.net offre hosting VPS e servizi di hosting gestito che includono un livello di servizi gestiti business-essential ai tuoi pacchetti di hosting. Contattaci oggi per ulteriori informazioni.