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까지
상세: 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와 SVNLocation의 URL 공간이 겹치는 구성도 확인 대상입니다. 401·403·404·301은 원인을 확정하는 증거가 아니라 확인을 시작할 신호입니다. - 인증 창이 없어도 정책은 있습니다: 익명 읽기·인증된 쓰기 또는 특정 하위 경로만 인증하는 혼합 정책이 가능합니다.
- 변경은 한 번에 하나: URL·발생 시각·오류 문구를 기록하고 관리자와 오류 로그를 확인하세요. 현재 설정 백업과 변경 승인을 거친 뒤 같은 조회로 다시 확인합니다.
적용 범위는 Apache HTTP(S) 기반 SVN입니다. 현재 Apache·Subversion 버전, 인증 제공자, 프록시와 조직의 접근 정책에 따라 구성이 달라지므로 오래된 설치 명령을 그대로 복사하지 마세요.
출처 및 업데이트
- 2026-10-07 확인: Version Control with Subversion — Apache HTTP Server configuration
- 2026-10-07 확인: Apache Subversion Quick Start
- 2026-10-07 확인: Apache Subversion FAQ
- 조회 명령 확인: svn info · svn list (ls)