1.SVN 설치 확인
[root@localhost ~]# svn
-bash: svn: command not found
[root@localhost ~]# rpm -qa | grep subversion
[root@localhost ~]# yum list subversion
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.daumkakao.com
* extras: ftp.daumkakao.com
* updates: ftp.daumkakao.com
Available Packages
subversion.i686 1.7.14-10.el7 base
subversion.x86_64 1.7.14-10.el7 base
[root@localhost ~]#
2. subversion YUM 설치
3. 저장소 생성
#명령어
[root@localhost ~]# mkdir /repo
[root@localhost ~]# cd /repo
[root@localhost repo]# svnadmin create --fs-type fsfs 저장소명
[root@localhost repo]# ll
total 0
drwxr-xr-x. 6 root root 80 Aug 21 13:34 저장소명
[root@localhost repo]#
실행예시)
서버 1대에 저장소를 여러개 생성가능하고, 최상위 폴더이름은 svntest1 로 생성하였습니다.
여러 프로젝트를 담을때 저장소를 여러개 만들필요없이 최상위 디렉토리 아래에 프로젝트별 폴더를 생성하여 관리하면 편리합니다.
그러나 하나의 저장소는 하나의 사용자 권한설정을 가지고 있기 때문에 사용자들의 권한이 구분되어야할때 저장소를 여러개 사용하는것이 좋습니다.
4. /etc/sysconfig/svnserve 파일 생성
이 파일을 생성해주어야 service 명령어로 svnserve start/stop이 가능합니다.
#명령어
[root@localhost ~]# echo 'OPTION="--threads --root 저장소최상위폴더"' > /etc/sysconfig/svnserve
[root@localhost ~]# cat /etc/sysconfig/svnserve
OPTION="--threads --root 저장소최상위폴더"
[root@localhost ~]#
실행예시)
5. svnserve.conf 파일 수정
기존에있는 conf 파일은 백업해두고 새로작성해줍니다.
#명령어
[root@localhost ~]# cd /repo/svntest1/conf/
[root@localhost conf]# mv svnserve.conf svnserve.conf.bak
[root@localhost conf]# echo '[general]
> anon-access = none
> auth-access = write
> password-db = passwd
> authz-db = authz' > svnserve.conf
[root@localhost conf]# cat svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
[root@localhost conf]#
실행예시)
-> 비로그인 접속자는 권한이 없고, 로그인하면 사용가능하며 passwd 와 authz 파일을 사용한다.
6. 계정설정
이번에도 기존에있는 passwd 파일은 백업해두고 새로 작성합니다.
#명령어
[root@localhost conf]# mv passwd passwd.bak
[root@localhost conf]# echo '[users]
> svnuser1 = svnpasswd1
> svnuser2 = svnpasswd2' > passwd
[root@localhost conf]# cat passwd
[users]
svnuser1 = svnpasswd1
svnuser2 = svnpasswd2
[root@localhost conf]#
실행예시)
(optional) 권한 없음 오류시에는
/repo/svntest/conf/authz 파일 마지막에 아래와 같이 계정 권한을 추가해주세요.
[/]
svnuser1 = rw
svnuser2 = rw
7. 서비스시작 및 재부팅시 자동시작설정
svnserve 파일을 미리 설정해두었기 때문에 service 명령어로 시작/중지가 가능합니다.
#명령어
[root@localhost conf]# service svnserve start
Redirecting to /bin/systemctl start svnserve.service
[root@localhost conf]# ps -ef | grep svnserve | grep -v grep
root 10471 1 0 13:54 ? 00:00:00 /usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid
[root@localhost conf]# netstat -anp | grep svnserve
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 10471/svnserve
[root@localhost conf]# chkconfig svnserve on
Note: Forwarding request to 'systemctl enable svnserve.service'.
Created symlink from /etc/systemd/system/multi-user.target.wants/svnserve.service to /usr/lib/systemd/system/svnserve.service.
[root@localhost conf]#
실행예시)
- 기본포트인 3690 포트로 서비스 실행중
- 다른포트로 변경하려면 /etc/sysconfig/svnserve 파일 수정해야함.
- svn://서버주소/svntest1 로 접속가능
참고 제타위키
'Gift > Linux' 카테고리의 다른 글
CentOS6.x PXE 설치 Kickstart 설정 (0) | 2017.08.24 |
---|---|
CentOS7 NTP 시간동기화 (0) | 2017.08.23 |
CentOS7 네트워크 인터페이스 이름 변경하는법 (0) | 2017.08.18 |
리눅스에서 하드웨어 정보 확인하는법 (0) | 2017.08.16 |
Debian PXE 설치 kickstart(preseed) 설정 옵션 (0) | 2017.08.11 |