Miscellaneous

git 서버 웹 구축 시 404 - No projects found

강철지그·2014년 3월 10일·조회 6,501

근래에 소스 관리를 위해 Git 서버를 구축하는 경우가 많습니다.

Git 서버 위의 repository 정보를 웹으로 관리하기 위해 웹서버와 연동하는 경우가 많은데, 이때 주의해야 할 점이 있습니다.

저는 Apache 웹서버와 연동했는데, 실제로는 project가 존재하는데도 웹 화면에서는 계속 “404 - No projects found”가 발생했습니다.

Apache 웹서버 설정도 바꿔 보고 여러 가지를 확인했지만 해결되지 않았습니다. 알고 보니 서버에 있는 Git 관련 파일과 디렉터리에 other 권한이 전혀 없었습니다.

rwxr-x---

위와 같은 권한으로 되어 있어 웹서버 프로세스가 해당 경로에 접근하지 못했던 것이 원인이었습니다.

확인할 부분

웹서버가 root가 아닌 다른 계정으로 실행되는 경우가 일반적입니다. 제 경우에는 www-data 계정으로 기동되고 있었기 때문에, 해당 계정이 Git repository 경로를 읽고 탐색할 수 있는지 확인해야 했습니다.

특히 디렉터리는 읽기 권한뿐 아니라 실행 권한이 있어야 하위 경로로 진입할 수 있습니다. 따라서 repository 자체뿐 아니라 상위 디렉터리의 권한도 함께 확인하는 것이 좋습니다.

ls -l
ls -ld /path/to/repository

필요하다면 웹서버 계정을 repository 소유 그룹에 포함하거나, 웹서버가 읽을 수 있도록 권한을 조정해야 합니다. 단, 무조건 전체 권한을 열기보다는 서비스 환경에 맞게 최소한의 권한만 부여하는 것이 안전합니다.

정리하면, 웹 화면에서 project가 보이지 않거나 “No projects found”와 같은 메시지가 나온다면 Apache 설정뿐 아니라 Git repository 파일 및 디렉터리 권한도 반드시 함께 확인해야 합니다.

댓글 1

로그인 후 댓글을 남길 수 있습니다.

  • 베쯔니· 2014년 4월 30일
    gitlab 을 애초에 설치했다면 겪지 않았어도 될 문제였죠.. ㅠㅠ