Subversion 서버를 설치하는 방법


8

우분투 컴퓨터에 Subversion 서버를 설치하고 싶습니다.
어떤 패키지가 필요합니까? 리포지토리를 만들고 새 사용자를 설정하려면 어떻게합니까?


필요에 따라 Subversion에서 오는 것을 배우기는 쉽지만 서버를 실행할 필요는없는 Bazaar (bzr)와 같은 분산 SCM을 사용하는 것이 좋습니다. 혼자 일하고 있고 로그와 안전망이 필요한 경우에 좋습니다. 그리고 나는 가장 강력한 도구 인 git에 대해 언급해야합니다.
Martin Ueding

sudo apt-get install subversion
AMIC MING

답변:


10

svn에 대한 많은 구성이 있습니다. 여기에 http를 통해 사용 가능한 기본 svn 저장소를 얻는 간단한 지침이 있습니다.

  1. 필요한 패키지를 설치하십시오. apt-get install subversion apache2 libapache2-svn
  2. 디렉토리 구조를 작성하십시오. mkdir -p /var/svn/repos/
  3. 리포지토리 생성
    • cd /var/svn/repos/
    • svnadmin create --fs-type fsfs <your-repository>
  4. 이제 저장소에서 가져올 Project-Struckture를 작성하십시오.
    • mkdir -p /tmp/myproject/trunk /tmp/myproject/tags /tmp/myproject/branches
  5. 리포지토리로 프로젝트를 가져옵니다.
    • svn import /tmp/myproject file:///var/svn/repos/<your-repository> -m "initial import"
  6. http를 통해 액세스 가능하게 만드십시오.
    • cd /etc/apache2/sites-available
    • touch subversion.conf
    • vim subversion.conf

이제이 구성으로 빈 파일을 편집하십시오.

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>
  • 아파치에 dav_svn 모듈을 활성화합니다 : a2enmod dav_svn
  • 아파치에 authz_svn 모듈을 활성화합니다 : a2enmod authz_svn
  • VHost 구성을 활성화하십시오. a2ensite subversion.conf
  • 이제 웹 서버를 다시 시작하십시오. /etc/init.d/apache2 restart
  • htpasswd를 작성하십시오. htpasswd -c /var/svn/.htpasswd user
  • 저장소에 대한 액세스 제어 파일을 작성하십시오. touch /var/svn/authz
  • 빈 authz 파일을 편집하십시오. vim /var/svn/authz
  • 사용자에게 읽기 / 쓰기 권한을 부여하십시오.

[귀하의 리포지토리 : /]

사용자 = rw

http를 통해 repo를 체크 아웃하십시오. svn checkout http://your-server/svn/your-repository


1
변경 사항이 너무 작아 편집을 할 수 없지만 마지막 줄을 수정하여 checkout반대로 할 수 ceckout있습니까?
nanofarad

이 패키지 libapache2-svn을 찾을 수 없습니다. 오류 : #Reading 상태 정보 ... 완료 E : 시스템 libapache2-svn의 패키지를 찾을 수 없습니다 : (모든 저장소가 가능하다) 우분투 12.04 32 비트

2
authz_svn 모듈도 활성화해야합니다 Invalid command 'AuthzSVNAccessFile', perhaps misspelled or defined by a module not included in the server configuration. 그렇지 않으면을 얻습니다 . 명령 a2enmod authz_svn을 사용하여 이를 수행 할 수 있습니다 .
mrswadge

2

매뉴얼 읽기를 시작하십시오 . 나는 현재 같은 일을하고있다.

당신이 저장소로 설정 한 후 svnadmin create /path/to/repo, 당신이 사용할 수있는 svnserve --root /path/to/repo저장소 가능한 장소를 만들기 위해 svn://yourhost/. 필요한 경우 TCP 포트 3690을여십시오.

HTTP를 통해 SVN을 사용할 수는 있지만 아직 그 부분을 읽지 못했습니다 : o


2

subversion패키지 가 필요합니다 .

sudo apt-get update
sudo apt-get install subversion

이 패키지에는 클라이언트, Subversion 저장소 및 서버를 작성하는 도구가 포함되어 있습니다.


0

파괴

Subversion은 오픈 소스 버전 관리 시스템입니다.

help.ubuntu.com에서이 안내서를 따를 수 있습니다.

버전 관리 시스템



0

Subversion을 설치하려면 터미널을 열고 다음 명령을 실행하십시오.

sudo apt-get install subversion libapache2-svn

충분한 공간이있는 위치를 선택해야하지만 / svn에 서브 버전 저장소를 만들 것입니다.

sudo svnadmin create /svn

이 저장소의 소유자를 Apache 사용자로 변경하십시오.

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

나중에 사용할 수 있도록 기본 Subversion 저장소를 작성하십시오 (Production / QA / Testing / Stating ../ etc.).

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

해당 디렉토리를 저장소로 가져 오기

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

다음으로 Subversion webdav 모듈의 구성 파일을 편집해야합니다. 원하는 경우 다른 편집기를 사용할 수 있습니다.

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

구성 파일의 Location 요소는 http://www.server.com/svn 과 같이 서브 버전이 필요한 루트 디렉토리를 나타냅니다 .

<Location /svn>

dav 모듈을 사용하려면 DAV 회선을 주석 해제해야합니다.

# Uncomment this to enable the repository,
DAV svn

SVNPath 행은 svnadmin 명령으로 저장소를 작성한 동일한 위치로 설정해야합니다.

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

다음 섹션에서는 인증을 켤 수 있습니다. 이것은 기본 인증 일 뿐이므로 매우 안전한 것으로 간주하지 마십시오. 비밀번호 파일은 AuthUserFile 설정이…로 설정 한 위치에 있습니다. 아마도 기본값을 유지하는 것이 가장 좋습니다.

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

저장소에서 사용자를 작성하려면 다음 명령을 사용하십시오.

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

사용자를 처음 만들 때 -c 옵션 만 사용해야합니다. 그런 다음 비밀번호의 MD5 암호화를 지정하지만 파일을 다시 작성하지 않는 -m 옵션 만 사용하려고합니다.

예:

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

다음 명령을 실행하여 아파치를 다시 시작하십시오.

sudo /etc/init.d/apache2 restart

감사합니다 : http://www.howtogeek.com/howto/ubuntu/install-subversion-with-web-access-on-ubuntu/

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.