최근 Amazon EC2에서 우분투 서버를 설정했습니다. 내 자식 서버로 사용하고 싶기 때문에 저장소를 저장할 수 있습니다.
그렇다면 우분투 서버에서 git을 설정하는 방법에 대한 자세한 지침은 어디서 찾을 수 있습니까? 이 모든 SSH 키와 그와 같은 것, 여러 사용자 등
최근 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 인증 에 대한이 기사를 읽을 수 있습니다 .
openssh-server
됩니까?
ssh-server
적어도 Ubuntu 10.04에서 openssh-server의 별칭 인 것 같습니다 .
~/.ssh/config
사용자 이름 / 호스트 주소, 키 입력, 포트 및 기타 정보를 처리 하기 위해 클라이언트 측 SSH 구성 파일을 설정할 수 있습니다 .
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.com
와 sudo 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가 있습니다. 시도해보십시오. 설명서는 여기에서 볼 수 있습니다 :
이 접근 방식을 사용하면 몇 분 안에 개인 저장소가 실행되는 중앙 Git 서버를 가질 수 있습니다. gitolite와 EC2에 익숙하지 않으면 학습 곡선이 있습니다.