문제

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

나머지는 도와줄 수가 없어...

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top