배추빌더(그누보드 기반) 웹서비스의 계정을 이용하여 SVN을 사용하고 싶은 이유에서 시작하였다. (최초 시작은 phpBB3이였으나 배추빌더를 쓰면서 정리해본다.)
리눅스 외에 아파치 서버를 웹서버로 사용하는 환경에서 가능하다. 기본적인 아파치 설정, SVN, MySQL을 다룰 줄 안다고 생각하고 쓴다.
1. 우선 아파치서버와 배추빌더를 설치한다.
2. SVN을 설치한다.
3. 아파치 설정
/etc/apache2/sites-enabled/haz3.com (haz3.com은 다른 파일명으로 대체 가능)
<VirtualHost *:80>
ServerName dev.haz3.com
# 기타 설정들...
# SVN
<Location /svn> # SVN URL
DAV svn
# 여러 SVN 저장소 사용
SVNParentPath /.../svn/repos
# 하나의 SVN 저장소 사용
#SVNPath /.../svn/repo
SVNListParentPath On
## mod auth_mysql
AuthBasicAuthoritative Off
Auth_MySQL on
Auth_MySQL_Authoritative on
Auth_MySQL_DB "db"
Auth_MySQL_Host "localhost"
Auth_MySQL_User "username"
Auth_MySQL_Password "password"
Auth_MySQL_Password_Table "g4_member"
Auth_MySQL_Group_Table "g4_member"
Auth_MySQL_Username_Field "mb_id"
Auth_MySQL_Password_Field "mb_password"
Auth_MySQL_Group_Field "mb_level"
Auth_MySQL_Empty_Passwords off
Auth_MySQL_Encryption_Types MySQL
AuthType Basic
AuthName "dev.haz3.com"
# 인증된 사용자만 SVN 커밋 가능하도록 함
<LimitExcept GET PROPFIND OPTIONS REPORT>
# 10: 관리자
Require group 10
Require valid
</LimitExcept>
</Location>
</VirtualHost>
ServerName dev.haz3.com
# 기타 설정들...
# SVN
<Location /svn> # SVN URL
DAV svn
# 여러 SVN 저장소 사용
SVNParentPath /.../svn/repos
# 하나의 SVN 저장소 사용
#SVNPath /.../svn/repo
SVNListParentPath On
## mod auth_mysql
AuthBasicAuthoritative Off
Auth_MySQL on
Auth_MySQL_Authoritative on
Auth_MySQL_DB "db"
Auth_MySQL_Host "localhost"
Auth_MySQL_User "username"
Auth_MySQL_Password "password"
Auth_MySQL_Password_Table "g4_member"
Auth_MySQL_Group_Table "g4_member"
Auth_MySQL_Username_Field "mb_id"
Auth_MySQL_Password_Field "mb_password"
Auth_MySQL_Group_Field "mb_level"
Auth_MySQL_Empty_Passwords off
Auth_MySQL_Encryption_Types MySQL
AuthType Basic
AuthName "dev.haz3.com"
# 인증된 사용자만 SVN 커밋 가능하도록 함
<LimitExcept GET PROPFIND OPTIONS REPORT>
# 10: 관리자
Require group 10
Require valid
</LimitExcept>
</Location>
</VirtualHost>
Auth_MySQL_DB: MySQL DB
Auth_MySQL_Host: MySQL서버의 IP
Auth_MySQL_User: MySQL 계정명
Auth_MySQL_Password: MySQL 비밀번호
- SVN 인증을 위해 사용할 테이블 및 필드
Auth_MySQL_Password_Table: 비밀번호 테이블
Auth_MySQL_Group_Table: 그룹 테이블
Auth_MySQL_Username_Field: 사용자 필드
Auth_MySQL_Password_Field: 비밀번호 필드
Auth_MySQL_Group_Field: 그룹 필드
Auth_MySQL_Encryption_Types: 비밀번호의 암호화 알고리즘
Plaintext, Crypt_DES, Crypt_MD5, Crypt, PHP_MD5, SHA1Sum, MySQL 사용 가능
SVN 인증을 위한 부분은 원하는 웹서비스에 맞게 수정 가능하다.
Posted by 헤즈




