ubuntu 설정 svn 및 http 모드 접근

80 포트 에 설치 되 어 apache 서버 를 시작 했다 고 가정 합 니 다.모든 작업 은 루트 사용자 아래 에서 진행 되 며, 특별히 만들어 진 창고 폴 더 와 svn 서버 를 열 어 창 고 를 만 드 는 것 은 루트 사용자 권한 하에 서 진행 되 며, 마지막 클 라 이언 트 작업 시 권한 문제 가 발생 하 는 것 을 방지 합 니 다. 실제 사용 하면 svn 전용 사용 자 를 새로 만 들 고 읽 기와 쓰기 권한 을 부여 하여 관리 할 수 있 습 니 다.
SVN 설치
  apt-get install subversion

svn 창고 만 들 기
1). svn 디 렉 터 리 만 들 기: (숨겨 진 디 렉 터 리 사용)
mkdir /home/.svn
cd /home/.svn

2). 창고 만 들 기 test 1:
mkdir test1
svnadmin create /home/.svn/test1

실행 완료 후 test 1 디 렉 터 리 는 svnadmin 이 만 든 디 렉 터 리 와 파일 3) 이 있 습 니 다. 창고 test 2 만 들 기:
mkdir test2
svnadmin create /home/.svn/test2

실행 이 끝 난 후 test 2 디 렉 터 리 에는 svnadmin 이 만 든 디 렉 터 리 와 파일 이 있 습 니 다.
svn 설정 및 관리
1). svnserve. conf 각 창고 의 프로필 을 $repos / conf / 에서 설정 합 니 다. vim svnserve. conf, 설정 항목 은 [geneal] 에서: anon - access: 익명 사용자 의 권한 으로 read, write, none, 기본 값 read 를 사용 할 수 있 습 니 다.익명 사용자 접근 을 허용 하지 않 습 니 다: anon - access = none auth - access: 사용자 의 권한 을 인증 합 니 다. read, write, none, 기본 값 write 를 사용 할 수 있 습 니 다.password - db: 암호 데이터베이스 의 경 로 는 앞의 \ # authz - db: 인증 규칙 라 이브 러 리 의 경 로 를 제거 하고 앞의 \ # 를 제거 합 니 다.메모: 이 설정 항목 의 줄 은 모두 정상 칸 이 어야 합 니 다. 그렇지 않 으 면 잘못 보고 할 수 있 습 니 다.설정 을 수정 한 후 svn 을 다시 시작 해 야 유효 합 니 다.2). passwd 파일 을 설정 합 니 다. 이것 은 모든 사용자 의 암호 파일 입 니 다. 비교적 간단 합 니 다. 바로 '사용자 이름 = 비밀번호' 입 니 다. 명시 적 인 코드 를 사용 합 니 다.... 와 같다
adminuser = passwordxxx
user1 = 111111
user2 = 222222

3). authz 파일 [groups] 설정: 관리 하기 편리 하도록 일부 사용 자 를 한 그룹 에 넣 을 수 있 습 니 다. 예 를 들 어:
[groups]
admin = adminuser
develop = user1,uesr2

groups 아래 의 sections 는 하나의 디 렉 터 리 에 대한 인증 규칙 을 표시 합 니 다. 예 를 들 어 루트 디 렉 터 리 에 대한 인증 규칙 의 section 은 [/] 입 니 다.단일 사용자 인증 규칙 을 설정 할 때 한 사용자 한 줄 입 니 다. group 을 사용 하려 면 group 이름 앞 에 @ 을 추가 해 야 합 니 다.
[/]
@admin=rw  #admin           rw

시작 할 때 / home /. svn / test 1 에서 시작 하면 / test 1 디 렉 터 리 입 니 다. 위 와 같은 방식 으로 test 1 디 렉 터 리 를 루트 로 권한 을 설정 합 니 다./ home /. svn / 에서 시작 하면 모든 창고 루트 는 자신의 시작 디 렉 터 리 입 니 다.위 와 같은 방식 으로 test 1 의 권한 을 설정 할 수도 있 고 다음 과 같은 방식 으로 설정 할 수도 있 습 니 다.
[test1:/]
@admin=rw
[test1:/trunk/test1]
@develop=rw

모든 창고 의 루트 디 렉 터 리 (/) 는 자신의 시작 디 렉 터 리 입 니 다.[repos: /] 이런 방식 은 다 중 창고 의 경우 에 만 적 용 됩 니 다.[/] 단일 창고 와 단일 창고 에 적합 한 방식.
svn 시작 및 정지
1). 시작: test 1 디 렉 터 리 (어떤 항목 창고 디 렉 터 리) 에서 시작 합 니 다.
svnserve -d -r /home/.svn/test1

루트 디 렉 터 리 (/) 는 test 1 이 고 authz 의 규칙 적 인 설정 은 section [/] 을 사용 합 니 다.접근 방식:svn://192.168.0.87/ svn 디 렉 터 리 에서 시작
svnserve -d -r /home/.svn

루트 디 렉 터 리 (/) 는. svn, authz 에서 test 1 설정 에 section [test 1: /] 을 사용 합 니 다. 접근 방식 은:svn://192.18.0.87/test1 svn://192.18.0.87/test2 svn 자체 시작 이 필요 하 다 면 명령 을 / etc / rc. local 중 2 에 추가 합 니 다. svn 서버 가 시작 되 었 는 지 확인 하 십시오 (svn 은 기본적으로 3690 포트 를 사용 합 니 다).
netstat -tnl | grep 3690

3). 정지:
killall svnserve

http 방식 접근 설정
svn 을 apache 에 설정 하고 http 웹 방식 으로 접근 하려 면 / etc / apache 2 / apache. conf 파일 을 편집 하고 다음 내용 을 apache. conf 끝 에 추가 해 야 합 니 다.
<Location /test1>
    DAV svn
    SVNPath /home/.svn/test1
    AuthzSVNAccessFile /home/.svn/test1/conf/authz
    AuthType Basic
    AuthName "Subversion Repository"
    AuthUserFile /home/.svn/test1/conf/passwd
    Require valid-user
</Location> 

여러 항목 이 있 을 때 위 설정 항목 을 여러 개 추가 하면 됩 니 다.또한 apache 가 svn 의 권한 설정 항목 을 식별 할 수 있 도록 apache 가 다음 모듈 을 불 러 올 수 있 도록 불 러 와 야 합 니 다.
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

위 설정 이 완료 되면 사용 할 수 있 습 니 다.http://192.18.0.87/test1 라 는 식 으로 방문 했다.

좋은 웹페이지 즐겨찾기