Come installare il server subversion


8

Vorrei installare un server Subversion sul mio computer Ubuntu.
Di quali pacchetti ho bisogno? Come posso creare un repository e impostare un nuovo utente?


A seconda delle tue esigenze, potresti essere meglio con un SCM distribuito come Bazaar (bzr), che è facile da imparare proveniente da Subversion, ma che non necessita di un server in esecuzione. Questo è ottimo se lavori da solo e hai solo bisogno di un registro e di una rete di sicurezza. E devo solo menzionare git, che è lo strumento più potente là fuori, imho.
Martin Ueding,

sudo apt-get install subversion
AMIC MING

Risposte:


10

Esistono molte configurazioni per svn, qui alcune brevi istruzioni per ottenere un repository svn di base disponibile su http.

  1. Installa i pacchetti richiesti: apt-get install subversion apache2 libapache2-svn
  2. Creare una struttura di directory: mkdir -p /var/svn/repos/
  3. Crea un repository:
    • cd /var/svn/repos/
    • svnadmin create --fs-type fsfs <your-repository>
  4. Ora crea il tuo Project-Struckture da importare nel repository:
    • mkdir -p /tmp/myproject/trunk /tmp/myproject/tags /tmp/myproject/branches
  5. Importa il progetto nel repository:
    • svn import /tmp/myproject file:///var/svn/repos/<your-repository> -m "initial import"
  6. Renderlo accessibile tramite http:
    • cd /etc/apache2/sites-available
    • touch subversion.conf
    • vim subversion.conf

Ora modifica il file vuoto con questa configurazione:

NameVirtualHost *:80

<VirtualHost *:80>   
  <Location /svn>
      ErrorDocument 404 default
      DAV svn
      SVNParentPath /var/svn/repos
      SVNListParentPath off
      Require valid-user
      AuthType Basic
      AuthName "subversion access"
      AuthUserFile /var/svn/.htpasswd
      AuthzSVNAccessFile /var/svn/authz 
  </Location>
</VirtualHost>
  • abilita il modulo dav_svn per apache: a2enmod dav_svn
  • abilita il modulo authz_svn per apache: a2enmod authz_svn
  • abilita la configurazione VHost: a2ensite subversion.conf
  • ora riavvia il server web: /etc/init.d/apache2 restart
  • Crea un htpasswd: htpasswd -c /var/svn/.htpasswd user
  • Creare il file di controllo di accesso per il repository: touch /var/svn/authz
  • modifica il file authz vuoto: vim /var/svn/authz
  • Concedi i diritti di lettura / scrittura a per l'utente:

[Your-repository: /]

utente = rw

Proviamo a controllare il repository su http: svn checkout http://your-server/svn/your-repository


1
Non posso eseguire la modifica poiché le modifiche sono troppo piccole, ma potresti correggere l'ultima riga per dire checkoutal contrario ceckout?
nanofarad,

non riesco a trovare questo pacchetto libapache2-svn. Errore: #Leggi informazioni sullo stato ... Fatto E: impossibile trovare il pacchetto libapache2-svn Sistema: ubuntu 12.04 32 bit (tutti i repository sono abilitati)
shantanu

2
Devi anche abilitare il modulo authz_svn, altrimenti otterrai Invalid command 'AuthzSVNAccessFile', perhaps misspelled or defined by a module not included in the server configuration. È possibile utilizzare il comando a2enmod authz_svnper fare questo.
mrswadge,

2

Inizia a leggere il manuale . Attualmente sto facendo lo stesso.

Dopo aver impostato un repository con svnadmin create /path/to/repo, è possibile utilizzare svnserve --root /path/to/repoper rendere disponibile il repository all'indirizzo svn://yourhost/. Aprire la porta TCP 3690 se necessario.

È possibile utilizzare SVN su HTTP, ma non ho ancora letto quella parte: o


2

Avrai bisogno del subversionpacchetto.

sudo apt-get update
sudo apt-get install subversion

Questo pacchetto contiene il client, gli strumenti per creare un repository Subversion e il server.




0

Per installare sovversione, aprire un terminale ed eseguire il comando seguente:

sudo apt-get install subversion libapache2-svn

Creeremo il repository di sovversione in / svn, anche se dovresti scegliere una posizione che abbia una buona quantità di spazio.

sudo svnadmin create /svn

Cambia il proprietario di questo repository in utente Apache.

sudo chown -R www-data:www-data /svn

Creare un repository di sovversione di base per un uso successivo (per produzione / QA / Test / Stating ../ etc ..)

sudo mkdir -p /tmp/myproject/trunk /tmp/myproject/tags /tmp/myproject/branches

Importa quella directory nel nostro repository

sudo svn import /tmp/myproject file:///svn -m "initial import"

Successivamente dovremo modificare il file di configurazione per il modulo webdav di subversion. Se lo desideri, puoi utilizzare un editor diverso.

sudo gedit /etc/apache2/mods-enabled/dav_svn.conf

L'elemento Location nel file di configurazione determina la directory principale da cui sarà possibile accedere alla sovversione, ad esempio: http://www.server.com/svn

<Location /svn>

La linea DAV deve essere decommentata per abilitare il modulo dav

# Uncomment this to enable the repository,
DAV svn

La riga SVNPath deve essere impostata nello stesso posto in cui è stato creato il repository con il comando svnadmin.

# Set this to the path to your repository
SVNPath /svn

La sezione successiva ti permetterà di attivare l'autenticazione. Questa è solo un'autenticazione di base, quindi non considerarla estremamente sicura. Il file della password si troverà dove l'impostazione AuthUserFile lo imposta su ... probabilmente è meglio lasciarlo sul valore predefinito.

# Uncomment the following 3 lines to enable Basic Authentication
AuthType Basic
AuthName “Subversion Repository”
AuthUserFile /etc/apache2/dav_svn.passwd

Per creare un utente nel repository usare, il seguente comando:

sudo htpasswd -cm /etc/apache2/dav_svn.passwd <username>

Si noti che è necessario utilizzare solo l'opzione -c la PRIMA volta che si crea un utente. Successivamente, dovrai solo utilizzare l'opzione -m, che specifica la crittografia MD5 della password, ma non ricrea il file.

Esempio:

sudo htpasswd -cm /etc/apache2/dav_svn.passwd geek
New password:
Re-type new password:
Adding password for user geek

Riavvia apache eseguendo il comando seguente:

sudo /etc/init.d/apache2 restart

Grazie: http://www.howtogeek.com/howto/ubuntu/install-subversion-with-web-access-on-ubuntu/

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.