서버 설정 · 3 min read · Jan 20, 2026
우분투 서버에서 서브버전과 트랙을 가상 호스트로 설정하기
우분투 서버에서 서브버전과 트랙을 가상 호스트로 설정하기
이 방법서는 서브버전 버전 관리 시스템을 설정하고, 소프트웨어 개발 프로젝트를 위한 프로젝트 관리자 트랙과 함께 작동하도록 하는 과정을 설명합니다. 이는 우분투(또는 가능하면 데비안)에서 실행되는 서버에서 이루어집니다. Openject Consulting에서 제공합니다.
서브버전 설정하기
자세한 정보는 대체 설정을 포함하여 서브버전으로 버전 관리하기를 참조하십시오.
- 필요한 패키지를 설치합니다.
sudo aptitude install enscript libapache2-mod-python python-docutils trac db4.3-util libapache2-svn subversion-tools - SVN을 위한 가상 호스트 디렉토리를 생성합니다. 서브버전 인스턴스가 웹 루트 디렉토리의 디렉토리를 혼잡하게 만들지 않도록
/var/www대신/var/local/svn을 사용하겠습니다.sudo mkdir -p /var/local/svn/svn.example.com - 개발 그룹을 만들고 웹 사용자를 추가합니다.
sudo addgroup example; sudo adduser www-data example - 개발 그룹에 사용자들을 추가합니다. 이들은 저장소에 접근할 필요가 있는 사람들입니다.
sudo adduser username1 examplesudo adduser username2 examplesudo adduser username3 example - 적절한 권한을 설정합니다.
sudo chmod 2770 /var/local/svn/svn.example.com - 저장소를 설정합니다.
sudo svnadmin create /var/local/svn/svn.example.com - 현재 비밀번호 파일을 지웁니다. 기본적으로 svnserve 프로토콜을 위한 것이지만, 우리는 HTTPS(또는 단순히 HTTP)를 사용할 것입니다. 이 과정에서 나중에 이 파일에 사용자를 추가할 것입니다.
sudo rm /var/local/svn/svn.example.com/conf/passwdsudo touch /var/local/svn/svn.example.com/conf/passwd - 그룹이 저장소에 쓸 수 있도록 허용합니다.
sudo chmod -R g+w /var/local/svn/svn.example.com - 적절한 파일 소유권을 설정합니다.
sudo chown -R www-data:example /var/local/svn/svn.example.com - 저장소 접근 권한을 설정합니다. 이를 수행하는 방법에 대한 정보는 서브버전으로 버전 관리하기의 경로 기반 권한 부여 섹션에서 찾을 수 있습니다.
sudo vi /var/local/svn/svn.example.com/conf/authz - 로그 파일을 위한 디렉토리를 생성합니다.
sudo mkdir /var/log/apache2/svn.example.com - 사이트를 로그 회전 목록에 추가합니다.
sudo vi /etc/logrotate.d/apache2 - 가상 호스트를 구성합니다…
sudo vi /etc/apache2/sites-available/svn.example.com… 다음 데이터를 사용합니다. SSL에 신경 쓰지 않는다면 SSL 옵션을 무시하고 포트 80에서 실행할 수 있습니다.참고: /etc/apache2/mods-enabled/dav_svn.confServerName svn.example.com DAV svn AuthType Basic AuthName "svn.example.com" AuthUserFile /var/local/svn/svn.example.com/conf/passwd AuthzSVNAccessFile /var/local/svn/svn.example.com/conf/authz SVNPath /var/local/svn/svn.example.com Require valid-user CustomLog /var/log/apache2/svn.example.com/access.log combined ErrorLog /var/log/apache2/svn.example.com/error.log SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.pem # 실제(자체 서명되지 않은) 인증서가 있을 때 추가합니다. # SSLCertificateKeyFile /etc/apache2/ssl/server.key ServerName svn.example.com Redirect / https://svn.example.com/ - 서브버전 가상 호스트를 활성화합니다.
sudo a2ensite svn.example.com - 사용자/비밀번호 조합을 생성합니다.
htpasswd /var/local/svn/svn.example.com/conf/passwd username - 웹 서버를 재시작합니다.
sudo /etc/init.d/apache2 restart - 사용자가 로컬에서 작업할 경우 svnwrap을 설정합니다. (자세한 내용은 매뉴얼 페이지를 참조하십시오.)
sudo ln -s /usr/bin/svnwrap /usr/local/bin/svn
트랙 설정하기
- 웹 디렉토리를 생성합니다. 웹 루트를 혼잡하게 만들지 않기 위해
/var/www대신/var/local/trac을 사용하겠습니다.sudo mkdir -p /var/local/trac/trac.example.com - 적절한 권한을 설정합니다.
sudo chmod 2770 /var/local/trac/trac.example.com - 트랙 인스턴스를 생성합니다.
sudo trac-admin /var/local/trac/trac.example.com initenv - 웹 디렉토리에 적절한 소유권을 설정합니다.
sudo chown -R www-data:example /var/local/trac/trac.example.com - 그룹이 저장소에 쓸 수 있도록 허용합니다.
sudo chmod -R g+w /var/local/trac/trac.example.com - 구성합니다.
sudo vi /var/local/trac/trac.example.com/conf/trac.ini - 로그 파일을 위한 디렉토리를 생성합니다.
sudo mkdir /var/log/apache2/trac.example.com - 사이트를 로그 회전 목록에 추가합니다.
sudo vi /etc/logrotate.d/apache2 - 가상 호스트를 구성합니다…
sudo vi /etc/apache2/sites-available/trac.example.com… 다음 데이터를 사용합니다. SSL에 신경 쓰지 않는다면 SSL 옵션을 건너뛰고 포트 80에서 실행할 수 있습니다.참고: http://trac.edgewall.org/wiki/TracOnUbuntu# 트랙 구성ServerName trac.example.com Redirect / https://trac.example.com/ ServerName trac.example.com DocumentRoot /var/local/trac/trac.example.com/ Alias /trac/ /usr/share/trac/htdocs Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all SetHandler mod_python PythonHandler trac.web.modpython_frontend PythonInterpreter main_interpreter PythonOption TracEnv /var/local/trac/trac.example.com/ PythonOption TracUriRoot / AuthType Basic AuthName "trac.example.com" # SVN 비밀번호 파일을 사용합니다. AuthUserFile /var/local/svn/svn.example.com/conf/passwd Require valid-user CustomLog /var/log/apache2/trac.example.com/access.log combined ErrorLog /var/log/apache2/trac.example.com/error.log SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.pem # 실제(자체 서명되지 않은) 인증서가 있을 때 추가합니다. # SSLCertificateKeyFile /etc/apache2/ssl/server.key - 트랙 가상 호스트를 활성화합니다.
sudo a2ensite trac.example.com - 트랙 권한을 구성합니다. 관리 콘솔에 들어가면 “help permission” 명령을 실행하여 이를 수행하는 방법에 대한 정보를 확인하십시오. 이는 일부 설정이 기본적으로 허용적이기 때문에 중요합니다. 또한, 새 설치와 함께 제공되는 위키 페이지인 TracPermissions를 참조하십시오.
trac-admin /var/local/trac/trac.example.com - 웹 서버를 재시작합니다.
sudo /etc/init.d/apache2 restart
마지막으로 할 일은 도메인의 DNS 구성에 서브도메인 “svn”과 “trac”를 추가하는 것입니다. 이 작업이 완료되면 서브버전과 트랙이 서버 환경에 통합되어 웹에서 접근할 수 있게 됩니다.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.