apache 2 svn 설치

8409 단어 svnubuntusubversion
더 읽 기
다음은 Apache + SVN 을 사용 하여 http 방식 으로 SVN 서 비 스 를 누 리 는 방법 을 설명 합 니 다. 예 를 들 어 사용자 이름 은 jzk 입 니 다.
아파 치
1. 아파 치 설치
sudo apt-get install apache2

다음 과 같은 잘못 을 보고 하면:

Package apache is not available, but is referred to by another package

원본 업데이트 필요

sudo apt-get update 
sudo apt-get upgrade

2. 포트 수정
nginx 의 기본 상황 은 80 포트 를 차지 하고 apache 는 기본적으로 80 포트 를 사용 해 야 하기 때문에 포트 충돌 이 발생 할 수 있 습 니 다.

sudo vim /etc/apache2/ports.conf
sudo vim /etc/apache2/sites-available/000-default.conf

위의 두 파일 중 80 포트 를 8099 또는 기타 로 수정 한 다음 apache 를 다시 시작 합 니 다.

sudo /etc/init.d/apache2 restart

3. 다 중 사이트 설정
a. 프로필 수정

$ cd /etc/apache2/sites-available
$ sudo cp 000-default.conf 001-filehost.conf

b. 001 - filehost. conf 파일 수정
파일 의 DocumentRoot 부분 을 다음 부분 으로 바 꿉 니 다.

DocumentRoot /home/www
Options +Indexes
IndexOptions FancyIndexing FoldersFirst NameWidth=* DescriptionWidth=*

파일 / etc / apache 2 / apache 2. conf 를 편집 하고 다음 과 같은 내용 을 추가 합 니 다.


        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted


c. 사이트 001 - filelist. conf 활성화

sudo a2ensite 001-*
sudo a2dissite 000-*
service apache2 reload #  
sudo /etc/init.d/apache2 restart

SVN
1. SVN 설치 명령 은 다음 과 같 습 니 다.

sudo apt-get install subversion
sudo apt-get install libapache2-svn
sudo apt-get install apache2-utils

2, 보기 / etc / apache 2 / mods - enabled / davsvn. load 파일, moddav_svn. so 와 modauthz_svn. so 이 두 동적 라 이브 러 리 는 apache 가 Subversion 의 접근 제어 모듈 을 불 러 왔 음 을 설명 합 니 다.없 으 면 수 동 으로 추가 합 니 다.

sudo vim /etc/apache2/mods-enabled/dav_svn.load
LoadModule dav_svn_module /usr/lib/apache2/modules/mod_dav_svn.so
LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so

3. 홈 디 렉 터 리 아래 SVN 프로젝트 창고 (reposcory) 를 만 듭 니 다. 명령 은 다음 과 같 습 니 다.

sudo mkdir -pv /home/svn/repos #  SVN    
sudo svnadmin create --fs-type fsfs /home/svn/repos
/**
sudo chown -R root:subversion repos # repos                   subversion       root;-R                         
sudo svnadmin create /home/svn/repos # SVN     svnadmin create  SVN    
sudo chmod -R g+rws repos #               repos              
**/

버 전 라 이브 러 리 생 성 명령 을 실행 하고 데 이 터 를 FSFS 로 저장 하 며 Berkeley DB 로 지정 하려 면 fsfs 를 bdb 로 교체 합 니 다.
모든 것 이 정상 이 라면 명령 이 실 행 된 후 아무런 피드백 정보 도 없 이 신속하게 돌아온다.새로운 버 전 라 이브 러 리 가 만 들 어 졌 습 니 다.우 리 는 다음 버 전의 창고 안에 무엇이 있 는 지 볼 수 있다.
다음 명령 으로 Subversion 이 검출 될 수 있 는 지 테스트 할 수 있 습 니 다.
sudo svn co file:///home/svn/repos/

4. Subversion 사용자 추가

sudo touch /home/svn/passwd.conf
sudo touch /home/svn/authz.conf

sudo htpasswd -c /home/svn/passwd.conf jzk

우 분투 시스템 에 로그 인 한 사용자 jzk 를 SVN 사용자 에 추가 하려 면 - c 옵션 을 추가 해 야 합 니 다.
사용 자 를 다시 추가 하면 - c 옵션 을 추가 할 필요 가 없습니다. - c 옵션 을 추가 하면 이전에 추 가 된 사용자 가 사라 지고 다시 시작 하 는 것 과 같 습 니 다.다음 과 같다.
sudo htpasswd /etc/subversion/passwd new_jzk

5. svnAdmin 의 사용자 그룹 을 추가 하고 계 정 jzk 를 이 그룹 에 추가 합 니 다. 명령 은 다음 과 같 습 니 다.

sudo addgroup svnadmin
sudo usermod -G svnadmin -a jzk

사용 하 는 두 개의 매개 변 수 를 설명 하 는 김 에
\ # 그 중 - G 사용자 가 어느 그룹 에 추가 할 지 지정 합 니 다
- a 매개 변수의 의 미 는  -dR  --preserve=all
바로 다음 과 같은 몇 가지 의미 의 조합 이다.
-d:   소프트 링크 유지
-R:   귀착 하 다
--preserve=all  :파일 의 원래 속성 유지
여기 서 - a 는 사용자 jzk 를 svnadmin 그룹 에 추가 할 뿐 사용자 가 속 한 사용자 그룹 이 하나 더 생 겼 지만 이전에 속 한 사용자 그룹 에서 벗 어 나 지 않 을 것 임 을 나타 낸다.
6. Subversion 사용자 권한 할당
사용자 권한 부여 명령 은 다음 과 같 습 니 다.

sudo vim /home/svn/authz.conf

내용 편집:

#     
[groups]
svnadmin = jzk,   jzk      svnAdmin
#   
[repos:/]
@svnadmin = rw #    subversion      
* = 

그 중 * = 다른 모든 사용자 에 게 권한 이 없다 는 뜻 입 니 다. @사용자 그룹 을 표시 합 니 다. * 모든 사용 자 를 표시 합 니 다. [/] 는 모든 디 렉 터 리 를 표시 합 니 다.대문자 에 주의 하 세 요.UTF - 8 형식 만 SVN 권한 을 설정 할 수 있 습 니 다. Linux 에 서 는 기본적으로 UTF - 8 이 고 Windows 에 서 는 Eclipse - > Edit - > 마지막 항목 과 같은 변환 도구 가 있 습 니 다.일반적으로 마지막 파일 에 대한 권한 을 설정 합 니 다.
특히 주의: 권한 할당 시 cen, huang = r 로 쓸 수 없습니다. 이렇게 제출 할 때 오류 가 발생 할 수 있 습 니 다: svn Commit failed checkout of 403 forbidden.cen = r 와 huang = r 로 써 야 합 니 다.
SVN 켜 기 시작 설정
실행 스 크 립 트 svn. sh 생 성

#sudo touch /root/svn.sh
sudo vim /root/svn.sh
#      
#!/bin/bash
svnserve -d -r /home/svn

b 、 실행 가능 한 권한 추가
sudo chmod ug+x /root/svn.sh

c. 자동 실행 추가
sudo vim /etc/init.d/rc.local

마지막 줄 에 다음 과 같은 내용 을 추가 합 니 다.
/root/svn.sh

서버 다시 시작
7. 아파 치 를 설정 하고 http 의 프로 토 콜 방식 으로 SVN 서 비 스 를 방문 합 니 다.
libapache 2 - svn 을 설치 할 때 / etc / apache 2 / mods - available / dav 경로 가 생 성 되 었 습 니 다.svn. conf 파일 을 수정 해서 아파 치 설정 을 완성 합 니 다.

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

수 정 된 davsvn. conf 내용 은 다음 과 같다.


DAV svn
SVNParentPath /home/svn
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /home/svn/passwd.conf
AuthzSVNAccessFile /home/svn/authz.conf
Require valid-user


8. SVN 재 부팅:

sudo killall svnserve
svnserve -d -r /home/svn --config-file /home/svn/repos/conf/svnserve.conf
sudo /etc/init.d/apache2 restart

9. 방문
sudo /etc/init.d/apache2 restart

http://192.168.36.135:8099/svn/repos/
Subversion 추가 항목
저 는 통 일 된 버 전 라 이브 러 리 를 예 로 들 어 세 개의 프로젝트 business, develop 과 procject 를 추가 합 니 다.우선 임시 디 렉 터 리 에서 Subversion 버 전이 제어 하 는 일반적인 레이아웃 구조 에 따라 세 항목 의 주요 디 렉 터 리 트 리 를 만 듭 니 다. 명령 은 다음 과 같 습 니 다.

sudo mkdir /home/temp
sudo mkdir /home/temp/develop
sudo mkdir /home/temp/business
sudo mkdir /home/temp/project

그리고 svn import 명령 으로 기 존 디 렉 터 리 트 리 를 가 져 옵 니 다.

svn import /home/svn/tmp/ file:///home/svn/repos/ --message "init"

가 져 온 항목 이 올 바른 지 svn list 로 확인 할 수 있 습 니 다.

svn list --verbose file:///home/svn/repos/

최신 수정 버 전의 정 보 를 보 려 면 svnlook info 명령 을 사용 할 수 있 습 니 다.

svnlook info /home/svn/repos/

명령 뒤에 '리 비 전 버 전 번호' 를 연결 해서 수정판 의 디 스 플레이 를 지정 할 수도 있다.
버 전 라 이브 러 리 의 구체 적 인 트 리 구 조 를 다음 명령 으로 표시 할 수 있 으 며, 뒤에 있 는 "-- show - ids" 옵션 은 모든 디 스 플레이 요 소 를 표시 하 는 수정 버 전 ID 를 지정 합 니 다.

svnlook tree /home/svn/repos/ --show-ids

다시 시작 한 후에 저 희 는 브 라 우 저 에 SVN 프로젝트 의 방문 주 소 를 입력 하면 프로젝트 의 내용 을 볼 수 있 습 니 다. 저희 가 설정 한 서버 의 IP 주 소 는 192.168.36.135 라 고 가정 하면 저 희 는 브 라 우 저 에서 입력 할 수 있 습 니 다.http://192.168.36.135/svn/respo/방문 하 다.
이상 에서 저희 가 소개 한 것 은 SVN 서버 의 설치 와 설정 입 니 다. 클 라 이언 트 에 SVN 과 같은 클 라 이언 트 소프트웨어 를 설치 할 수 있 습 니 다. 예 를 들 어 TortoiseSVN 과 같은 소프트웨어 입 니 다.TortoiseSVN 의 설치 사용 은 매우 편리 하지만 처음 사용 할 때 약간의 문제 가 발생 할 수 있 습 니 다. 예 를 들 어 TortoiseSVN Commit 타 임 스 에서 오류 가 발생 할 수 있 습 니 다.
svn: Can't open file '/home/svn/repos/db/txn-current-lock': Permission denied
    이러한 오 류 를 제거 하 는 방법 은 SVN 디 렉 터 리 에 읽 기와 쓰기 권한 을 추가 하 는 것 입 니 다. 명령 은 다음 과 같 습 니 다.

cd /home/svn/repos
sudo chown jzk:1 -R db/
sudo chmod 777 -R db/

좋은 웹페이지 즐겨찾기