저는 Subversion 1.8.8과 함께 Ubuntu 14.04.2 LTS를 사용하고 있고 mod_dav_svn을 사용하여 apache2를 통해 원격 svn 액세스를 설정하려고 합니다. 이는 apache2를 실행하는 Windows 서버에서 Linux로 마이그레이션하는 것입니다.
내가 겪고 있는 문제는 <location>
이름에 공백이 있는 항목은 작동하지 않는다는 것입니다. 다음 예는 작동합니다.
<Location "/svn/Test_Repository" >
DAV svn
SVNParentPath "/media/windowsshare/TortoiseSVN-Repo-Store/Test Repository"
SVNListParentPath On
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/subversion/passwd
Require valid-user
SVNIndexXSLT "/repos-web/view/repos.xsl"
</Location>
그러나 해당 위치의 밑줄을 공백으로 바꾸면 <Location "/svn/Test Repository" >
오류 로그에 다음과 같은 403 Forbidden 오류가 발생합니다.
[Tue Apr 21 14:46:34.991584 2015] [dav:error] [pid 30873] [client 192.168.20.5:63935] Could not fetch resource information. [403, #0], referer: http://192.168.20.12/svn/
[Tue Apr 21 14:46:34.991597 2015] [dav:error] [pid 30873] [client 192.168.20.5:63935] The URI does not contain the name of a repository. [403, #190001], referer: http://192.168.20.12/svn/
디렉토리는 /media/windowsshare/TortoiseSVN-Repo-Store/
사용자 및 그룹 소유권을 가진 www-data로 마운트됩니다.
원인은 무엇일까요? 어떻게 해결할 수 있나요? 나는 6시간의 대부분을 검색하고 실험했지만 성공하지 못했습니다.
답변1
이는 보고된 버그이며 여기에서 확인할 수 있습니다. 우분투 오류 런치패드
Bug-Track-Comment에서 볼 수 있듯이 이 버그는 apache2에서 수정되었지만 아직 Ubuntu 저장소에는 추가되지 않았습니다.
John Pye(jdpipe)는 2014년 9월 4일에 다음과 같이 썼습니다. #9 apache2 패키지를 설치하기 위해 새 14.04 서버를 수정하여 이 오류를 해결했습니다. https://launchpad.net/~ondrej/+archive/ubuntu/php5, 즉.
sudo apt-add-repository ppa:ondrej/php5 sudo apt-get 업데이트 sudo apt-get dist-upgrade
나를 위해 일했습니다... Subversion 서버를 업그레이드하는 사용자는 필연적으로 끔찍한 문제에 직면하게 되므로 새로운 Apache2 패키지는 Ubuntu 14.04 LTS에 긴급하게 포함되어야 합니다.
참고: 아직 이것을 증명할 수 없습니다! Ubuntu 12에서 확인할 수 있습니다.