2016-06-04 3 views
1

gm repos를 제어하기 위해 redmine-git-hosting 플러그인이있는 Redmine 서버를 실행 중입니다. 저장소 디렉토리는 /srv/share에 마운트 된 별도의 하드 드라이브를 가리 킵니다. 이제 설정이 바뀌고 repos를 다른 서버의 nfs 공유로 이동하려고합니다.git 저장소를 nfs로 이동하면 권한 오류가 발생합니다.

마운트가 잘 작동하므로 fstab 파일의 항목을 /etc/sdb1에서 ip:/share으로 바 꾸었습니다. redmine (user www-data)과 gitolite (user git)가 동시에 액세스 할 수 있으므로 드라이브에 액세스 할 때 약간의 권한 문제가 발생했습니다. 따라서이 문제를 해결하기 위해 전체 드라이브에서 chmod -R 777을 실행했습니다.

나는 Windows NFS 서버를 동일한 umask (어떤 이유로 든 반전 됨)로 설정했으며 실제로 두 사용자 모두 드라이브에 읽고 쓸 수 있습니다. 그러나 이제 redmine을 사용하여 새 저장소를 만들려고하면 오류 500이 표시됩니다. 인정 로그 항목은 Rugged::NetworkError (unpacking the sent packfile failed on the remote):

지금 이미 서버에 구성된 자식의 repos있다 그리고 나는 그들 중 하나에 뭔가를 저지하려고 할 때 다음과 같은 오류가 팝업 말한다

Total 3 (delta 0), reused 0 (delta 0) 
POST git-receive-pack (397 bytes) 
remote: fatal: error when closing sha1 file: Permission denied 

모든 아이디어를 여기에 무엇을 할까?

NFS 클라이언트, 레드 마인과 자식 서버 : 우분투 서버 14.04.4 LTS
NFS 서버 : 윈도우 서버 2012R2

+0

ssh와 관련하여 .ssh 및 ssh 폴더의 상위 폴더에는 쓰기 속성이 없어야합니다. .ssh 자체 (서버 및 클라이언트)에 대한'chmod 700' – VonC

+0

나는 자식을 액세스하기 위해 https를 사용하고 있습니다. –

+0

OK, ssh에 대해 sha1을 오독했습니다! – VonC

답변

1

에 haneWin NFS 서버 그래서이 모든 게 꽤 이상한입니다. 결국 나는 공유되고 우분투에 의해 SMB를 통해 (/srv/shareSMB) 마운트 된 Windows 서버의 폴더에 저장된 가상의 vdi 디스크로 갔다. 그런 다음 vdi는 우분투에서 원래 /srv/share으로 다시 마운트됩니다. 이 작동합니다.

파일 구조, 특히 링크와 관련하여 문제가 유닉스와 Windows 세계 사이에서 발생했다고 생각합니다. Gitolite는 링크를 많이 사용하는 것 같습니다. 그것은 모든 악의 뿌리 였을 것입니다. 그런 식으로 모든 gitolite repos가 손상되어 다시 설치해야했습니다.

+1

거기에 vdi 흥미 롭 군. +1 – VonC

+0

vdi는 동적 크기 조정이 과거에 안정적으로 작동 한 유일한 가상 형식이기 때문에 최상의 솔루션 인 것처럼 보였습니다. 또한 그것은 우분투에 의해 마운트 될 수 있고 심지어 nfs를 통해 마운트 된 vdi를 공유 할 수 있습니다. –

관련 문제