편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.
최신판 | 당신의 편집 | ||
11번째 줄: | 11번째 줄: | ||
==설치 확인== | ==설치 확인== | ||
{{참고|SVN 설치 확인}} | {{참고|SVN 설치 확인}} | ||
< | <source lang='console'> | ||
[root@zetawiki ~]# svn | [root@zetawiki ~]# svn | ||
-bash: svn: command not found | -bash: svn: command not found | ||
</ | </source> | ||
< | <source lang='console'> | ||
[root@zetawiki ~]# rpm -qa | grep subversion | [root@zetawiki ~]# rpm -qa | grep subversion | ||
[root@zetawiki ~]# yum list subversion | [root@zetawiki ~]# yum list subversion | ||
22번째 줄: | 22번째 줄: | ||
subversion.i686 1.6.11-10.el6_5 base | subversion.i686 1.6.11-10.el6_5 base | ||
subversion.x86_64 1.6.11-10.el6_5 base | subversion.x86_64 1.6.11-10.el6_5 base | ||
</ | </source> | ||
:→ 설치되어 있지 않으며, yum을 통해 설치가능하다. | :→ 설치되어 있지 않으며, yum을 통해 설치가능하다. | ||
==설치== | ==설치== | ||
< | <source lang='console'> | ||
[root@zetawiki ~]# yum install subversion | [root@zetawiki ~]# yum install subversion | ||
... (생략) | ... (생략) | ||
45번째 줄: | 45번째 줄: | ||
Installed size: 12 M | Installed size: 12 M | ||
Is this ok [y/N]: y | Is this ok [y/N]: y | ||
</ | </source> | ||
< | <source lang='console'> | ||
... (생략) | ... (생략) | ||
Installed: | Installed: | ||
55번째 줄: | 55번째 줄: | ||
Complete! | Complete! | ||
</ | </source> | ||
==저장소 생성== | ==저장소 생성== | ||
61번째 줄: | 61번째 줄: | ||
;명령어 | ;명령어 | ||
< | <source lang='bash'> | ||
mkdir /repos | mkdir /repos | ||
cd /repos | cd /repos | ||
svnadmin create --fs-type fsfs 저장소명 | svnadmin create --fs-type fsfs 저장소명 | ||
ll | ll | ||
</ | </source> | ||
;실행 예시 | ;실행 예시 | ||
< | <source lang='console'> | ||
[root@zetawiki ~]# mkdir /repos | [root@zetawiki ~]# mkdir /repos | ||
[root@zetawiki ~]# cd /repos | [root@zetawiki ~]# cd /repos | ||
76번째 줄: | 76번째 줄: | ||
total 4 | total 4 | ||
drwxr-xr-x. 6 root root 4096 Jun 1 09:27 project1 | drwxr-xr-x. 6 root root 4096 Jun 1 09:27 project1 | ||
</ | </source> | ||
*여러 프로젝트를 담기 위해 반드시 저장소를 여러 개 만들 필요는 없다. 저장소 폴더 아래에 다시 프로젝트별 폴더들을 만들어 관리하면 되기 때문이다. | *여러 프로젝트를 담기 위해 반드시 저장소를 여러 개 만들 필요는 없다. 저장소 폴더 아래에 다시 프로젝트별 폴더들을 만들어 관리하면 되기 때문이다. | ||
86번째 줄: | 86번째 줄: | ||
;명령어 | ;명령어 | ||
< | <source lang='bash'> | ||
echo 'OPTIONS="--threads --root 저장소최상위폴더"' > /etc/sysconfig/svnserve | echo 'OPTIONS="--threads --root 저장소최상위폴더"' > /etc/sysconfig/svnserve | ||
cat /etc/sysconfig/svnserve | cat /etc/sysconfig/svnserve | ||
</ | </source> | ||
;실행예시 | ;실행예시 | ||
< | <source lang='console'> | ||
[root@zetawiki ~]# echo 'OPTIONS="--threads --root /repos"' > /etc/sysconfig/svnserve | [root@zetawiki ~]# echo 'OPTIONS="--threads --root /repos"' > /etc/sysconfig/svnserve | ||
[root@zetawiki ~]# cat /etc/sysconfig/svnserve | [root@zetawiki ~]# cat /etc/sysconfig/svnserve | ||
OPTIONS="--threads --root /repos" | OPTIONS="--threads --root /repos" | ||
</ | </source> | ||
==svnserve.conf 수정== | ==svnserve.conf 수정== | ||
103번째 줄: | 103번째 줄: | ||
;명령어 | ;명령어 | ||
< | <source lang='bash'> | ||
cd /repos/project1/conf/ | cd /repos/project1/conf/ | ||
cat svnserve.conf | cat svnserve.conf | ||
113번째 줄: | 113번째 줄: | ||
echo 'authz-db = authz' >> svnserve.conf | echo 'authz-db = authz' >> svnserve.conf | ||
cat svnserve.conf | cat svnserve.conf | ||
</ | </source> | ||
;실행예시 | ;실행예시 | ||
< | <source lang='console'> | ||
[root@zetawiki ~]# cd /repos/project1/conf/ | [root@zetawiki ~]# cd /repos/project1/conf/ | ||
[root@zetawiki conf]# cat svnserve.conf | [root@zetawiki conf]# cat svnserve.conf | ||
124번째 줄: | 124번째 줄: | ||
### irrelevant.) | ### irrelevant.) | ||
... (생략) | ... (생략) | ||
</ | </source> | ||
< | <source lang='console'> | ||
[root@zetawiki conf]# mv svnserve.conf svnserve.conf.old | [root@zetawiki conf]# mv svnserve.conf svnserve.conf.old | ||
[root@zetawiki conf]# echo '[general]' > svnserve.conf | [root@zetawiki conf]# echo '[general]' > svnserve.conf | ||
138번째 줄: | 138번째 줄: | ||
password-db = passwd | password-db = passwd | ||
authz-db = authz | authz-db = authz | ||
</ | </source> | ||
:→ 비로그인 접속자는 권한 없음, 로그인하면 쓸 수 있음, passwd와 authz 파일을 사용함. | :→ 비로그인 접속자는 권한 없음, 로그인하면 쓸 수 있음, passwd와 authz 파일을 사용함. | ||
147번째 줄: | 147번째 줄: | ||
*패스워드 분실시에도 이 파일을 열어보면 된다. | *패스워드 분실시에도 이 파일을 열어보면 된다. | ||
*passwd 파일을 passwd.old 로 이름을 변경하여 보존해두고 새로 작성한다. | *passwd 파일을 passwd.old 로 이름을 변경하여 보존해두고 새로 작성한다. | ||
< | <source lang='console'> | ||
[root@zetawiki conf]# mv passwd passwd.old | [root@zetawiki conf]# mv passwd passwd.old | ||
[root@zetawiki conf]# vi passwd | [root@zetawiki conf]# vi passwd | ||
</ | </source> | ||
< | <source lang='aconf'> | ||
[users] | [users] | ||
testuser1 = P@ssw0rd | testuser1 = P@ssw0rd | ||
testuser2 = P@ssw0rd | testuser2 = P@ssw0rd | ||
</ | </source> | ||
==(optional) 권한 없음 오류시== | ==(optional) 권한 없음 오류시== | ||
*권한이 없다는 오류가 날 경우 [[/repos/project1/conf/authz]] 파일 마지막에 계정의 권한 추가 | *권한이 없다는 오류가 날 경우 [[/repos/project1/conf/authz]] 파일 마지막에 계정의 권한 추가 | ||
< | <source lang='aconf'> | ||
[/] | [/] | ||
testuser1 = rw | testuser1 = rw | ||
testuser2 = rw | testuser2 = rw | ||
</ | </source> | ||
==서비스 시작== | ==서비스 시작== | ||
169번째 줄: | 169번째 줄: | ||
/etc/sysconfig/svnserve 파일을 설정해두었기 때문에 service로 시작/중지를 할 수 있다. | /etc/sysconfig/svnserve 파일을 설정해두었기 때문에 service로 시작/중지를 할 수 있다. | ||
< | <source lang='console'> | ||
[root@zetawiki repos]# service svnserve start | [root@zetawiki repos]# service svnserve start | ||
Starting svnserve: [ OK ] | Starting svnserve: [ OK ] | ||
</ | </source> | ||
< | <source lang='console'> | ||
[root@zetawiki repos]# ps -ef | grep svnserve | grep -v grep | [root@zetawiki repos]# ps -ef | grep svnserve | grep -v grep | ||
root 2581 1 0 11:12 ? 00:00:00 /usr/bin/svnserve --daemon --pid-file=/var/run/svnserve.pid --threads --root /repos | root 2581 1 0 11:12 ? 00:00:00 /usr/bin/svnserve --daemon --pid-file=/var/run/svnserve.pid --threads --root /repos | ||
</ | </source> | ||
< | <source lang='console'> | ||
[root@zetawiki repos]# netstat -anp | grep svnserve | [root@zetawiki repos]# netstat -anp | grep svnserve | ||
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 2581/svnserve | tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 2581/svnserve | ||
</ | </source> | ||
:→ 기본 포트인 3690 포트로 서비스 중. (다른 포트로 변경하려면 [[/etc/sysconfig/svnserve]]를 수정해야 한다.) | :→ 기본 포트인 3690 포트로 서비스 중. (다른 포트로 변경하려면 [[/etc/sysconfig/svnserve]]를 수정해야 한다.) | ||
187번째 줄: | 187번째 줄: | ||
==재부팅시 자동시작 설정== | ==재부팅시 자동시작 설정== | ||
< | <source lang='console'> | ||
[root@zetawiki repos]# chkconfig --list svnserve | [root@zetawiki repos]# chkconfig --list svnserve | ||
svnserve 0:off 1:off 2:off 3:off 4:off 5:off 6:off | svnserve 0:off 1:off 2:off 3:off 4:off 5:off 6:off | ||
</ | </source> | ||
< | <source lang='console'> | ||
[root@zetawiki repos]# chkconfig svnserve on | [root@zetawiki repos]# chkconfig svnserve on | ||
</ | </source> | ||
< | <source lang='console'> | ||
[root@zetawiki repos]# chkconfig --list svnserve | [root@zetawiki repos]# chkconfig --list svnserve | ||
svnserve 0:off 1:off 2:on 3:on 4:on 5:on 6:off | svnserve 0:off 1:off 2:on 3:on 4:on 5:on 6:off | ||
</ | </source> | ||
:→ 재부팅시에 svnserve 서비스가 자동으로 시작될 것이다. | :→ 재부팅시에 svnserve 서비스가 자동으로 시작될 것이다. | ||
205번째 줄: | 205번째 줄: | ||
;명령어 | ;명령어 | ||
< | <source lang='bash'> | ||
service svnserve stop | service svnserve stop | ||
rm -rf /repos/project1 | rm -rf /repos/project1 | ||
ll | ll | ||
</ | </source> | ||
;실행예시 | ;실행예시 | ||
< | <source lang='console'> | ||
[root@zetawiki ~]# service svnserve stop | [root@zetawiki ~]# service svnserve stop | ||
Stopping svnserve: [ OK ] | Stopping svnserve: [ OK ] | ||
</ | </source> | ||
< | <source lang='console'> | ||
[root@zetawiki ~]# rm -rf /repos/project1 | [root@zetawiki ~]# rm -rf /repos/project1 | ||
[root@zetawiki ~]# ll | [root@zetawiki ~]# ll | ||
total 0 | total 0 | ||
</ | </source> | ||
:→ 깔끔하게 지워졌다 | :→ 깔끔하게 지워졌다 | ||