SVN 웹 접속이 안 될 때, URL·인증·권한을 나눠 확인하는 순서

SVN 접속이 막히면 아래 증상부터 고르세요. 설정을 바꾸기 전에 URL → 인증 → 경로 권한 순서로 확인합니다.

접속 안 됨 · 인증 반복·401 · 권한·403 · 주소·404



30초 빠른 진단: 다음 행동 하나만 고르기

  • 접속 자체가 안 됨
    확인: 정확한 저장소 URL과 오류 문구.
    다음: svn info https://svn.example.com/svn/team-repo로 읽기 전용 조회.
    주의: 예시 URL을 실제 주소로 바꾸고, 비밀번호는 명령에 넣지 않습니다.
  • 인증 창 반복·401
    확인: 요청 URL이 사용하는 인증 영역.
    다음: 관리자에게 계정·인증 제공자·Require valid-user 설정 확인 요청.
    주의: 확인 없이 인증 요구를 끄지 않습니다.
  • 로그인했는데 403
    확인: 접근이 막힌 저장소와 하위 경로.
    다음: 관리자에게 해당 사용자·그룹의 authz 읽기 규칙 대조 요청.
    주의: 전체 익명 접근이나 전체 쓰기 권한을 열지 않습니다.
  • 404
    확인: Location 접두어와 저장소 이름.
    다음: 관리자에게 확인받은 URL로 svn ls https://svn.example.com/svn/team-repo 조회.
    주의: 저장소를 새로 만들기 전에 URL 매핑부터 확인합니다.

두 명령은 공식 문서에서 확인한 조회 예시입니다. 이 글을 준비하며 실제 서버·저장소에 실행하거나 설정을 바꾸지는 않았습니다.

이전 Tech(KR) 글: VirtualBox 화면 크기 자동 조절 안 될 때, Guest Additions부터 VMSVGA까지

SVN 웹 접속 문제를 URL 매핑, 인증, 경로 권한 순으로 분리해 확인하는 자체 제작 흐름도
도식: 자체 제작 · URL 매핑 → 인증 → 경로 권한 순서로 원인을 분리하는 확인 흐름


상세: URL·인증·권한이 다른 이유

  • 웹 화면 ≠ SVN 접속 확인: mod_dav_svn은 HTTP 위의 WebDAV/DeltaV 요청을 처리합니다. 브라우저에서 페이지가 열려도 클라이언트의 저장소·경로 접근까지 확인된 것은 아닙니다.
  • 주소 매핑: Location은 URL 접두어, DAV svn은 SVN 연결입니다. SVNPath는 저장소 하나, SVNParentPath는 상위 디렉터리 아래 여러 저장소를 연결합니다. 실제 URL·Location·설정값·저장소 이름을 대조하세요. /svn/team-repo/trunk에서 접두어·저장소 이름·내부 경로는 서로 다릅니다.
  • 신원과 접근 권한: Require valid-user는 인증된 사용자를 요구합니다. mod_authz_svn과 AuthzSVNAccessFile은 사용자·그룹별 경로 접근을 판단하므로, 로그인 성공이 모든 폴더의 읽기·쓰기 허용을 뜻하지 않습니다.


예외와 설정 변경 전 확인

  • 301: DocumentRoot와 SVN Location의 URL 공간이 겹치는 구성도 확인 대상입니다. 401·403·404·301은 원인을 확정하는 증거가 아니라 확인을 시작할 신호입니다.
  • 인증 창이 없어도 정책은 있습니다: 익명 읽기·인증된 쓰기 또는 특정 하위 경로만 인증하는 혼합 정책이 가능합니다.
  • 변경은 한 번에 하나: URL·발생 시각·오류 문구를 기록하고 관리자와 오류 로그를 확인하세요. 현재 설정 백업과 변경 승인을 거친 뒤 같은 조회로 다시 확인합니다.

적용 범위는 Apache HTTP(S) 기반 SVN입니다. 현재 Apache·Subversion 버전, 인증 제공자, 프록시와 조직의 접근 정책에 따라 구성이 달라지므로 오래된 설치 명령을 그대로 복사하지 마세요.



출처 및 업데이트