강좌 & 팁
안녕하세요.
유형석입니다.
이번에는 Subversion Server 설치방법에 대해서 알려 드리겠습니다.
1. Subversion
서브버전(Subversion)은 자유 소프트웨어 버전 관리 시스템이다. 명령행 인터페이스에서 사용하는 명령어를 따서 “SVN”이라고 줄여서 부르기도 한다. 제한이 있던 CVS를 대체하기 위해 2000년부터 콜랩넷에서 개발되었다.[1] 현재는 아파치 최상위 프로젝트로서 전세계 개발자 커뮤니티와 함께 개발되고 있다.
서브 버전은 서버-클라이언트 모델을 따른다. 서버는 작업하는 컴퓨터내에 둘 수도 있고, 전산망에 연결된 별도의 컴퓨터에 두고 사용할 수도 있다. 서브버전 서버와 클라이언트는 http, https, svn, svn+ssh의 규약으로 통신한다.
라고 위키에 정의 되어 있습니다.
회사에서 버전 관리(와 Backup..)을 위해서 GIT와 더불어 많이 사용 되고 있습니다.
GIT가 많이 쓰이긴 하지만....
이번에는 서브버전을 해보도록 합시다!
귀찮아서 그런게 아닙니다.
2. 설치
자 설치를 해보도록 합시다.
sudo apt-get install subversion apache2 libapache2-svn
위의 명령어로 필요한 패키지를 설치 하도록 합시다.
sudo a2enmod ssl
아파치에서 ssl을 활성화 합니다.
sudo mkdir /etc/apache2/ssl sudo openssl req -new -x509 -days 365 -nodes -out /etc/apache2/ssl/apache.pem -keyout /etc/apache2/ssl/apache.key
ssl을 사용하기 위한 인증서를 만들어야 합니다.
위의 명령어로 /etc/apache2/ssl 이라는 디렉토리를 만들고.
ssl 사용을 위한 인증서를 만듭니다.
sudo vi /etc/apache2/ports.conf
ssl 사용하는 포트를 사용하기 위해서 vi를 이용해서 컨피그 파일을 편집합니다.
#NameVirtualHost *:80
Listen 80
<ifmodule mod_ssl.c>
# If you add NameVirtualHost *:443 here, you will also have to change
# the VirtualHost statement in /etc/apache2/sites-available/default-ssl
# to virtualhost *:443
# Server Name Indication for SSL named virtual hosts is currently not
# supported by MSIE on Windows XP.
NameVirtualHost *:443
Listen 443
<ifmodule mod_ssl.c> 안에 NameVirtualHost *:443 를 추가합니다.
sudo vi /etc/apache2/sites-available/default-ssl
위에서 생성한 키파일 추가를 위해서 default-ssl 파일을 엽니다.
# SSL Engine Switch:
# Enable/Disable SSL for this virtual host.
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
43라인 근처 SSLEngine on 밑에 두줄을 추가 합니다.
#SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
#SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
그리고 53라인 근처에 있는 위 두줄은 주석 처리 합니다.
sudo a2ensite default-ssl
생성한 파일을 적용 시킵니다.
https://IP주소/
IP주소는 자신의 IP주소를 씁니다.
아마 요래 나오실 겁니다.
그러면 이 웹 사이트를 계속 탐색합니다(권장하지 않음). 을 클릭 하셔서 계속 진행 합니다.
이렇게 나오시면 https를 통해서 아파치가 정상적으로 진행 되고 있는 겁니다.
sudo mkdir /svn
이제 subversion 저장 공간으로 이용하기 위한 폴더를 만듭니다.
sudo vi /etc/apache2/mods-enabled/dav_svn.conf
아파치서버에 svn 서버를 추가 하기 위해서 설정파일을 수정합니다.
<Location /svn>
DAV svn
SVNParentPath /svn
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
SSLRequireSSL
</Location>
위 내용을 추가해 주시면 됩니다.
sudo htpasswd -cm /etc/apache2/dav_svn.passwd falinux New password: Re-type new password: Adding password for user falinux
유저를 추가 하는 부분입니다.
추가되는 유저를 위한 패스워드를 입력합니다.
falinux는 제가 임의로 적은것이지 변경하셔도 됩니다.
cd /svn sudo svnadmin create falinu_dfs
svn으로 이용하기 위한 실질적인 폴더를 만듭니다.
이렇게 하면 /svn 폴더 아래에 falinux라는 svn을 위한 폴더가 생성 됩니다.
sudo chown -R www-data:www-data /svn
아파치에서 이용하기 위해 svn하위의 폴더 권한을 전부 변경 합니다.
sudo /etc/init.d/apache2 restart
설정 변경을 위해서 아파치 서버를 재시작 합니다.
https://IP주소/svn/만든폴더이름
전과 동일한 방법으로 브라우져에서 이번에는 서버 svn으로 진입합니다.
아이디와 비밀번호를 입력하는 란이 나옵니다.
아까 적었던 아이디와 비밀번호를 입력해줍니다.
요래 나오면 성공!
윈도우 TortoiseSVN 프로그램으로도 정상 동작을 확인 하실 수 있습니다.
오늘은 여기 까지!
짧은 글 읽어 주셔서 감사합니다!