2008-09-13 20 views
94

Ubuntu çalıştıran bir dizüstü bilgisayarım var Subversion sunucu olarak hareket etmek istiyorum. Her ikisi de kendim için yerel olarak ve diğerleri için uzaktan taahhüt. Bu çalışmayı elde etmek için gerekli adımlar nelerdir? için adımlar şunlardır: LütfenGNU/Linux'ta bir Subversion (SVN) sunucusu nasıl kurulur - Ubuntu

  • alın ve Apache ve gerekli modülleri (Ben SVN sunucusu oluşturmak için başka yolları da vardır biliyorum ama Apache özgü bunu istiyorum) erişmenin
  • Yapılandırma güvenli bir yol yapılandırmak the server (SSH/HTTPS)
  • Yetkilendirilmiş bir kullanıcı kümesini yapılandırın (bunlar, işlemek için yetkilendirilmeli, ancak taramak için serbest olmalıdır)
  • Kurulumu bir ilk işlem (bir "Merhaba dünya") ile doğrulayın)

Bu adımlar komut satırı veya GUI uygulama talimatlarının herhangi bir karışımını içerebilir. Yapabilecekleriniz varsa, talimatların belirli bir dağıtım veya sürüme özgü olduğu ve bir kullanıcının belirli bir araç seçiminin kullanılabileceğini lütfen unutmayın (yerine nano). Apache için

+0

kullanabilir miyim? Pencerelerde Tortoise SVN istemcisi gibi mi? –

cevap

140

Dizüstü bilgisayarımı bir Subversion sunucusuna dönüştürdüğüm adımlar. Kredi, here adresindeki yol tarifi için AlephZarro adresine gitmelidir. Şu anda çalışan bir SVN sunucum var (şu anda sadece yerel olarak test edilmiştir).

Özel kurulum: Kubuntu 8.

  • apt-get paket yöneticisi programı
  • metin editörü (Kate'i kullanın)
  • sudo erişim hakları

1: 04 Hardy Heron

Gereksinimler bu kılavuzu takip etmek yükleyin Apache HTTP sunucusu ve gerekli modüller:

sudo apt-get install libapache2-svn apache2 

aşağıdaki ekstra paketler kurulacak:

apache2-mpm-worker apache2-utils apache2.2-common 

2: SSL etkinleştirme

sudo a2enmod ssl 
sudo kate /etc/apache2/ports.conf 

ekleyin veya aşağıdaki dosyasında olduğunu kontrol edin:

<IfModule mod_ssl.c> 
    Listen 443 
</IfModule> 

3: Bir üret SSL sertifikası:

sudo apt-get install ssl-cert 
sudo mkdir /etc/apache2/ssl 
sudo /usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem 

4: ayrıca dosya svnserver içinde ServerAdmin (altında

"NameVirtualHost *" to "NameVirtualHost *:443" 

ve

<VirtualHost *> to <VirtualHost *:443> 

ekleyin (svnserver olarak): Sanal barındırmasına

(ports.conf içinde)
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/svnserver 
sudo kate /etc/apache2/sites-available/svnserver 

Değiştir oluştur):

( ) 5:

sudo a2ensite svnserver 
sudo /etc/init.d/apache2 restart 

aşmak için uyarılar:

sudo kate /etc/apache2/apache2.conf 

Ekleme:

"ServerName $your_server_name" 

6: depo ekleme (ler): siteyi Enable aşağıdaki kurulum varsayar istediğimiz çoklu depoları barındırın.

sudo mkdir /var/svn 

REPOS=myFirstRepo 
sudo svnadmin create /var/svn/$REPOS 
sudo chown -R www-data:www-data /var/svn/$REPOS 
sudo chmod -R g+ws /var/svn/$REPOS 

6.A.: İlk deposu oluşturmak için çalıştırın buDaha fazla depoları için: yine adım 6 adım mkdir /var/svn

7 atlama, (REPOS'un değerini değiştirme) yapın: etkinleştirme ve WebDAV'yi ve yapılandırmak SVN: doğrulanmış bir kullanıcıya

sudo htpasswd -c -m /etc/apache2/dav_svn.passwd $user_name 

8 Ekle

sudo kate /etc/apache2/mods-available/dav_svn.conf 

Ekle veya yorumsuz:

<Location /svn> 
DAV svn 

# for multiple repositories - see comments in file 
SVNParentPath /var/svn 

AuthType Basic 
AuthName "Subversion Repository" 
AuthUserFile /etc/apache2/dav_svn.passwd 
Require valid-user 
SSLRequireSSL 
</Location> 

9: apache sunucusunu yeniden başlatın:

sudo /etc/init.d/apache2 restart 

10: Doğrulama:

bir tarayıcı Tetiklendi:

http://localhost/svn/$REPOS 
https://localhost/svn/$REPOS 

İkisi

kullanıcı adı ve şifre gereklidir. Ben Uncommenting düşünüyorum:

/etc/apache2/mods-available/dav_svn.conf yılında
<LimitExcept GET PROPFIND OPTIONS REPORT> 

</LimitExcept> 

, anonim taramaları olanak sağlayacak.

tarayıcı gösterir "Revizyon 0: /":

svn import --username $user_name anyfile.txt https://localhost/svn/$REPOS/anyfile.txt -m “Testing” 

sertifikasını kabul edin ve şifre girmek

şey kaydetme. Sadece işlenen kadarıyla göz atın :

svn co --username $user_name https://localhost/svn/$REPOS 

(Ben herhangi bir hata kopyalama/yapıştırma yapmamış varsayarak) aşağıdaki adımları takiben, benim laptop çalışan bir SVN deposunu vardı.

+0

Talimatlar, Jaunty'de de mükemmel bir şekilde çalıştı. Teşekkürler! –

+6

Mükemmel bir şekilde çalıştığı görüldü, ancak ona erişmeye çalışırken 403'lük bir şifre alıyorum ve şifre sormak istemiyorum. Neyin yanlış olabileceğine dair ipuçları var mı? – korona

+0

@korona: Hangi yolla erişiyorsunuz: SVN komutlarını çalıştırıyor veya ona göz atıyor musunuz? – Grundlefleck

-3

: Subversion için

sudo apt-get -yq install openssh-server 

: SSH için

sudo apt-get -yq install apache2 

:

sudo apt-get -yq install subversion subversion-tools 

Eğer gibi tek bir komutta bu birleştirebilirsiniz isterseniz

sudo apt-get -yq install apache2 openssh-server subversion subversion-tools 

ben geri kalanı ile yardımcı olamaz ...

1

This article tüm süreç oldukça iyi bir özet vermek gibi görünüyor. Talimatları takip etmenizi ve daha sonra ben ve diğer kişilerin bu yanıtlarda bağlantı kurduğu makalelerde ele alınmayan herhangi bir problemle ilgili bazı daha spesifik sorular yayınlamanızı tavsiye ederim.

1

Web sunucusuna bastığınızda 403 yasağı alırsanız bunun nedeni, yapılandırma dosyanızda belirttiğiniz bir sunucu adı kullanmış olmanızdır (ör. Localhost veya 127.0.0.1). Ben

$ sudo chmod g + w/var/svn/$ REPOS/db/rep-cache (yukarıda alıntılanan örnek bağlamında) yürütmek için gerekli, sonra ... yerine https://whateveryousetasyourhostname isabet

+0

Başka bir 403 nedeni: bir symlink'e svn yolunu ayarlayın. svn yolunuz bir sembolik bağlantı ise, aşağıdaki sembolik bağlantılara izin vermeniz gerekir. – copolii

2

deneyin .db

$ sudo chown www veriler: /var/svn/$REPOS/db/rep-cache.db

Aksi takdirde, yerel modifikasyonları işlediği zaman 409 hata alma muhafaza www verileri (rağmen taahhütler sunucu tarafında etkiliydi, yerel güncellemeleri takip etmem gerekiyordu)

-3

Lütfen terminalde tek bir komut yazınız.

terminali T Ctrl + Alt + basınız açmak ve sonra da bu komutu yazın: Subversion'ın Ubuntu sunucu ve istemcilerin her platformda

$sudo apt-get install subversion 
İlgili konular