본문 바로가기
Linux/svn

리눅스 Apache + svn 연동

by 준섭이 2014. 2. 7.
728x90

리눅스 Apache + svn 연동


연동하기전에 apache, svn이 설치 되어 있어야 한다.

1. mod_dav_svn 설치

 * Apache와 svn을 연동 모듈 설치!!

 yum install mod_dav_svn.x86_64


2. apache와 svn 연동 library 파일 복사

 * apache를 yum으로 설치했을 경우는 문제가 되지 않지만 source 컴파일로 설치 했기에 apache의 해당 디렉토리로 파일 복사

 cp /usr/lib64/httpd/modules/*svn* /usr/local/apache/modules/

3. 사용자 파일 생성

 * /data/svn/.passwd로 생성 할려고 함

 htpasswd -c /data/svn/.passwd bluemary <-- 최조 생성이라 -c 옵션을 줌. 이후에는 -c 옵션 없이 생성

 /data/svn 폴더에서 ls -al 하면 .passwd 파일이 생성되어 있는것을 확인 할 수 있다.




4. 권한 설정

디렉토리 권한 설정을 apache로 한다.

 chown -R apache:apache /data/svn/repo

 chmod -R 770 /data/svn/repo


5. svn 환경 설정

 * mod_dav_svn을 설치하면 /etc/httpd/conf.d/subversion.conf파일을 /usr/local/apache/conf/extra/httpd-subversion.conf로 카피 한다.

 * subversion.conf 수정

vi /usr/local/apache/conf/extra/httpd-subversion.conf

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so


<Location /svn/repo>

DAV svn

SVNPath /data/svn/repo

AuthType Basic

AuthName "repo"

AuthUserFile /data/svn/.passwd

Require valid-user

AuthzSVNAccessFile /data/svn/svnAuthz/repo.authz

</Location>

6. svnaccess 파일 생성

 * Location 설정에서 accessfile 위치를 /data/svn/svnAuthz/repo.authz 로 해줌.

 mkdir /data/svn/svnAuthz

 cd /data/svn/svnAuthz

 vi repo.authz

[groups]

repo = test, test1, bluemary


[repo:/]

@repo = rw

* =

7. httpd.conf 설정

 * user와 group가 daemon으로 되어 있으므로 변경한다.

 User apache

 Group apache

# Subversion   <-- httpd-subversion.conf Include 한다.

Include conf/extra/httpd-subversion.conf


8. 서버 재실행

 ps -ef | grep svn 하여 kill -9로 프로세스 죽인 후 재실행

 svnserve -d -r /data/svn

 /etc/init.d/httpd restart  <--  아파치 재실행


9. svn 연결

 웹페이지에서 http://ip/svn/repo 하면 인증창이 뜸. htpasswd로 생성한 유저 id 와 패스워드 넣어준다.

**  TortoiseSVN 연결

svn연결 화면

'Linux > svn' 카테고리의 다른 글

리눅스 Apache + svn + Active Directory 연동  (0) 2014.02.07
리눅스 svn 설치  (0) 2014.02.06