자식 서버 설정 때문에 저장소를 저장할 수 있습니다. 그렇다면 우분투

최근 Amazon EC2에서 우분투 서버를 설정했습니다. 내 자식 서버로 사용하고 싶기 때문에 저장소를 저장할 수 있습니다.

그렇다면 우분투 서버에서 git을 설정하는 방법에 대한 자세한 지침은 어디서 찾을 수 있습니까? 이 모든 SSH 키와 그와 같은 것, 여러 사용자 등



답변

튜토리얼을 사용하여 aking1012가 제안한대로 Git 서버를 설치 하거나 EC2 인스턴스에 SSH 서버를 설치할 수 있습니다 (아마 그것을 보호하고 기본 포트를 변경하는 것이 좋습니다).

Git은 서버가 없어 저장소를 초기화 한 다음 SSH를 통해 원격에서 액세스 할 수 있습니다. 따라서 우분투 서버에서 이와 같은 지침을 수행해야합니다.

GIT_DIR=project.git git init
cd project.git
git --bare update-server-info
cp hooks/post-update.sample hooks/post-update

마지막으로 서버에 SSH를 설치하십시오.

sudo apt-get install ssh-server

이제 SSH를 보호하도록 SSH를 구성해야합니다.

프로젝트를 온라인 상태로 만들 차례입니다 (개발 머신에 이미있는 데이터).

git push ssh://<username>@<remote-git-hostname>/path/to/project.git master

이제 복제를 시작할 수 있습니다. 개발 머신을 사용합니다.

git clone ssh://<username>@<remote-git-hostname>/path/to/dir.git

훌륭한 리소스를 Git에서 확인하십시오 .

보다 안전한 인증을 위해 SSH 키를 생성하기 위해 SSH 인증 에 대한이 기사를 읽을 수 있습니다 .


답변

모든 Git 서버 설정에 대해 “브랜치 당”액세스의 보안 세분성을 허용 하는 Gitolite 를 사용합니다. 원격 서버에서 설치하는 경우 대화식 스크립트를 실행하는 것만 큼 쉽습니다. 이 “설정하기 쉬운”특성 외에도 Natty와 Maverick에도 패키지가 있습니다.

sudo apt-get install gitolite

이것은 Github 또는 Gitweb과 같은 웹 프론트 엔드를 제공하지는 않지만 Gitolite와 같은 것 위에 쉽게 구성하고 설치할 수 있습니다.


답변

나는 gitolite를 좋아한다 . Pro Git 책에는 섹션 이 있지만 전체 책을 읽는 것이 좋습니다.

다중 사용자 요구 사항은 다음과 같습니다.

Gitolite를 사용하면 저장소 (Gitosis처럼)뿐만 아니라 각 저장소 내의 분기 또는 태그 이름으로 권한을 지정할 수 있습니다. 즉, 특정 사람 (또는 그룹)이 특정 “참조”(지점 또는 태그) 만 밀고 다른 사람은 밀지 못하도록 지정할 수 있습니다.


답변

http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way 는 목적에 맞게 약간 수정할 수 있습니다 … 유사한 튜토리얼 http : // blog .agdunn.net /? p = 277 .


답변

https://help.ubuntu.com/community/Git 공식 문서를 반드시 따르십시오 ( Git 및 프로젝트 관리 설정 섹션 )


답변

나에게 가장 효과적인 솔루션은 WebDAV를 설정하는 것이 었습니다.

  • sudo a2enmod sudo dav_fs

  • sudo a2enmod dav

  • 새 파일을 추가 /etc/apache2/sites-available하고 이름을 지정하십시오 (예 🙂 git.yourserver.com. 그것을 편집하고 다음 줄을 추가하십시오 :

<VirtualHost *:80>

DocumentRoot /var/www/git.yourserver.com/repos
ServerName git.yourserver.net
Options Indexes FollowSymLinks MultiViews

<Location />
    DAV On
    AuthType Basic
    AuthName "git repos"
    AuthUserFile /var/www/git.yourserver.net/password.dav
    Require valid-user
</Location>

</VirtualHost>

  • 아이디 안에 디렉토리 /var/www/git.yourserver.com와 디렉토리를 만듭니다repos
  • sudo chown www-data /var/www/git.yourserver.com/repos
  • sudo htpasswd -c /var/www/git.yourserver.com/password.dav user_login 이름이 지정된 사용자의 비밀번호를 입력하십시오. user_login
  • sudo chown root:www-data /var/www/git.yourserver.com/password.dav
  • sudo chmod 640 /var/www/git.yourserver.com/password.dav

이제 sudo a2ensite git.yourserver.comsudo service apache2 restart.

  • /var/www/git.yourserver.com/repos예를 들어 디렉토리를 입력 하고 작성 하십시오 .myrepo.git
  • cd myrepo.git
  • git --bare init
  • git update-server-info

이제 원격 서버에서 로그 아웃하고 파일을 편집하려는 로컬 디렉토리로 이동하십시오.

git clone http://user_login:user_password@git.yourserver.com/myrepo.git

그리고 당신은 끝났습니다. 커밋 된 변경 사항을 서버에 보내려면 :

git push origin master

을 사용하여 원하는만큼의 사용자를 만들 수 있습니다 sudo htpasswd. -c이전 파일이 삭제되므로 더 많은 사용자를 추가 할 때 스위치 를 사용하지 마십시오 .


답변

또한 사용자 및 보안 관리를위한 gitolite 방식이 마음에 듭니다 . 현재 테스트중인 EC2 용 Git + gitolite 서버 AMI가 있습니다. 시도해보십시오. 설명서는 여기에서 볼 수 있습니다 :

Alestic Git 서버

이 접근 방식을 사용하면 몇 분 안에 개인 저장소가 실행되는 중앙 Git 서버를 가질 수 있습니다. gitolite와 EC2에 익숙하지 않으면 학습 곡선이 있습니다.