GNU/Linux에서 Subversion(SVN) 서버를 설정하는 방법 - Ubuntu [닫기]
문제
Subversion 서버 역할을 하고 싶은 Ubuntu를 실행하는 노트북이 있습니다.나 자신을 위해 로컬로 헌신하고 다른 사람들을 위해 원격으로 헌신합니다.이 작업을 수행하려면 어떤 단계가 필요합니까?다음 단계를 포함하세요.
- Apache 및 필요한 모듈을 가져오고 구성합니다(SVN 서버를 생성하는 다른 방법이 있다는 것을 알고 있지만 Apache 전용으로 사용하고 싶습니다).
- 서버에 액세스하는 안전한 방법 구성(SSH/HTTPS)
- 승인된 사용자 집합을 구성합니다(커밋할 수 있는 권한이 있어야 하지만 자유롭게 탐색할 수 있음).
- 초기 커밋(일종의 "Hello world")으로 설정 유효성을 검사합니다.
이러한 단계에는 명령줄이나 GUI 응용 프로그램 지침이 혼합되어 포함될 수 있습니다.가능하다면 지침이 특정 배포판이나 버전과 관련된 부분과 사용자가 선택한 특정 도구를 대신 사용할 수 있는 부분을 참고하세요(예: 나노 대신에 vi).
해결책
내 노트북을 Subversion 서버로 만들기 위해 취한 단계.신용은 다음으로 가야합니다 알레프자로 그의 지시를 위해 여기.이제 작동하는 SVN 서버가 있습니다(현재는 로컬에서만 테스트되었습니다).
특정 설정:쿠분투 8.04 하디 헤론
이 가이드를 따르기 위한 요구 사항:
- apt-get 패키지 관리자 프로그램
- 텍스트 편집기 (저는 Kate를 사용합니다)
- sudo 액세스 권한
1:Apache HTTP 서버 및 필수 모듈을 설치합니다.
sudo apt-get install libapache2-svn apache2
다음과 같은 추가 패키지가 설치됩니다:
apache2-mpm-worker apache2-utils apache2.2-common
2:SSL 활성화
sudo a2enmod ssl
sudo kate /etc/apache2/ports.conf
파일에 다음 내용을 추가하거나 확인하세요.
<IfModule mod_ssl.c>
Listen 443
</IfModule>
삼:SSL 인증서를 생성합니다.
sudo apt-get install ssl-cert
sudo mkdir /etc/apache2/ssl
sudo /usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
4:가상 호스트 생성
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/svnserver
sudo kate /etc/apache2/sites-available/svnserver
변경 사항(ports.conf에서):
"NameVirtualHost *" to "NameVirtualHost *:443"
그리고 (svnserver에서)
<VirtualHost *> to <VirtualHost *:443>
ServerAdmin 아래에 추가합니다(svnserver 파일에도 있음).
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
SSLProtocol all
SSLCipherSuite HIGH:MEDIUM
5:사이트를 활성화합니다:
sudo a2ensite svnserver
sudo /etc/init.d/apache2 restart
경고를 극복하려면:
sudo kate /etc/apache2/apache2.conf
추가하다:
"ServerName $your_server_name"
6:저장소 추가:다음 설정에서는 여러 저장소를 호스팅한다고 가정합니다.첫 번째 저장소를 생성하려면 다음을 실행하세요.
sudo mkdir /var/svn
REPOS=myFirstRepo
sudo svnadmin create /var/svn/$REPOS
sudo chown -R www-data:www-data /var/svn/$REPOS
sudo chmod -R g+ws /var/svn/$REPOS
6.a.더 많은 저장소를 보려면:6단계를 다시 수행하고(REPOS 값 변경) 단계를 건너뜁니다. mkdir /var/svn
7:인증된 사용자 추가
sudo htpasswd -c -m /etc/apache2/dav_svn.passwd $user_name
8:WebDAV 및 SVN 활성화 및 구성:
sudo kate /etc/apache2/mods-available/dav_svn.conf
다음을 추가하거나 주석을 해제하세요.
<Location /svn>
DAV svn
# for multiple repositories - see comments in file
SVNParentPath /var/svn
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
SSLRequireSSL
</Location>
9:아파치 서버를 다시 시작하세요:
sudo /etc/init.d/apache2 restart
10:확인:
브라우저를 시작했습니다.
http://localhost/svn/$REPOS
https://localhost/svn/$REPOS
둘 다 사용자 이름과 비밀번호가 필요했습니다.내 생각에는 주석 처리를 해제한 것 같습니다.
<LimitExcept GET PROPFIND OPTIONS REPORT>
</LimitExcept>
~에 /etc/apache2/mods-available/dav_svn.conf
, 익명 검색이 허용됩니다.
브라우저에 "개정 0:/"
뭔가를 커밋하세요:
svn import --username $user_name anyfile.txt https://localhost/svn/$REPOS/anyfile.txt -m “Testing”
인증서를 수락하고 비밀번호를 입력하세요.방금 커밋한 내용을 확인하세요.
svn co --username $user_name https://localhost/svn/$REPOS
이 단계를 따르면(복사/붙여넣기 오류가 발생하지 않았다고 가정) 노트북에 SVN 저장소가 작동하게 되었습니다.
다른 팁
그 후에는 실행해야 했습니다(위에 인용된 예제의 맥락 내에서).
$ sudo chmod g+w /var/svn/$REPOS/db/rep-cache.db
$ sudo chown www-data:www-data /var/svn/$REPOS/db/rep-cache.db
그렇지 않으면 로컬 수정을 저 지르 때 409 오류를 계속 받았습니다 (약속은 서버 측면 효과 였지만 로컬 업데이트를 후속해야했습니다).
이 기사 전체 프로세스에 대한 꽤 좋은 요약을 제공하는 것 같습니다.지침을 따르고 저와 다른 사람들이 이 답변에 링크한 기사에서 해결되지 않은 문제에 대해 좀 더 구체적인 질문을 게시하는 것이 좋습니다.
웹서버에 접속했을 때 403금지 메시지가 표시된다면 이는 구성 파일에 지정한 것과 다른 호스트 이름(예: localhost 또는 127.0.0.1)을 사용했기 때문일 수 있습니다.쳐보세요 https://호스트 이름으로 설정한 것이 무엇이든 대신에...
터미널에 단일 명령을 작성하십시오.
터미널을 열려면 다음을 누르세요. Ctrl 키 + Alt + 티, 을 클릭한 후 다음 명령을 입력합니다.
$sudo apt-get install subversion
아파치의 경우:
sudo apt-get -yq install apache2
SSH의 경우:
sudo apt-get -yq install openssh-server
Subversion의 경우:
sudo apt-get -yq install subversion subversion-tools
원하는 경우 다음과 같이 하나의 명령으로 결합할 수 있습니다.
sudo apt-get -yq install apache2 openssh-server subversion subversion-tools
나머지는 도와줄 수가 없어...