it-swarm-tr.com

Git sunucusu kurma

Geçenlerde Amazon EC2'ye ubuntu-server kurdum. Git sunucum olarak kullanmak istiyorum, böylece depolarımı saklayabilirim.

Peki, ubuntu sunucusunda git kurulumunun nasıl yapılacağına dair bazı ayrıntılı talimatları nereden bulabilirim? Tüm bu SSH anahtarları ve bunun gibi şeyler, çoklu kullanıcılar vb.

57
Pawełkowy

Git sunucusunu aking1012'nin önerdiği şekilde kurmak için eğitimini kullanabilirsiniz siz veya sadece EC2 örneğinizde SSH sunucusunu kurabilirsiniz (muhtemelen akıllıca olacaktır. sabitleyin ve varsayılan bağlantı noktasını değiştirin).

Git, sunucunuzdan bağımsız olarak depoya girebilir ve daha sonra SSH ile uzaktan erişebilirsiniz. Bu yüzden Ubuntu Sunucusunda böyle yönergeler yapmalı:

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

Sonunda sunucunuza SSH'yi kurun:

Sudo apt-get install ssh-server

Şimdi, SSH'yi sabitlemek için yapılandırmalısınız.

Projenizi çevrimiçi hale getirmenin zamanı geldi (geliştirme makinenizde zaten var olan veriler):

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

Ve şimdi etrafta klonlamaya başlayabilirsiniz. Geliştirme makinen devam ediyor:

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

Bunu Git Git’te mükemmel bir kaynak .

Ve daha güvenli kimlik doğrulaması için ssh anahtarlarınızı oluştururken, SSH kimlik doğrulaması hakkındaki bu makaleyi okuyabilirsiniz.

38
Huygens

Tüm Git sunucu kurulumlarım için "şube başına" erişimin güvenlik ayrıntılarına izin veren Gitolite kullanıyorum. Kurulum, uzak bir sunucuda yapıyorsanız, etkileşimli bir komut dosyası çalıştırmak kadar kolaydır. Bu "kurulumu kolay" doğaya ek olarak Natty ve Maverick'te bir paketi de var

Sudo apt-get install gitolite

Bu, Github veya Gitweb gibi bir web arayüzü sağlamaz - ancak Gitolite gibi bir şeyin üzerine bunları kolayca yapılandırabilir ve kurabilirsiniz.

15
Marco Ceppi

Sevdiğim gitolit . Pro Git kitabında bölüm var ama kitabın tamamını okumanızı tavsiye ederim.

Birden fazla kullanıcı gereksiniminize gelince:

Gitolite, izinleri yalnızca depo ile değil (Gitosis'in yaptığı gibi) değil, aynı zamanda her bir havuzdaki dal veya etiket adlarıyla da belirtmenize olanak sağlar. Başka bir deyişle, belirli kişilerin (veya insan gruplarının) yalnızca belirli “ref” leri (dallar veya etiketler) itebileceğini ancak başkalarını itemeyeceğini belirleyebilirsiniz.

9
Li Lo

http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way amaçlarınıza uyacak şekilde biraz değiştirilebilir ... benzer öğretici http://blog.agdunn.net/?p=277 .

7
RobotHumans

Resmi belgeleri kesinlikle takip edin: https://help.ubuntu.com/community/Git (bölüm Git ve Proje Yönetimi'ni ayarlama )

6
chris

Benim için en iyi olan çözüm WebDAV'ı kurmaktı.

  • Sudo a2enmod Sudo dav_fs

  • Sudo a2enmod dav

  • /etc/Apache2/sites-available öğesine yeni bir dosya ekleyin ve onu adlandırın, örneğin, git.yourserver.com. Düzenleyin ve aşağıdaki satırları ekleyin:

<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>

  • dizin oluştur /var/www/git.yourserver.com ve dizin repos içinde id
  • Sudo chown www-data /var/www/git.yourserver.com/repos
  • Sudo htpasswd -c /var/www/git.yourserver.com/password.dav user_login ve user_login isimli kullanıcı için şifre girin
  • Sudo chown root:www-data /var/www/git.yourserver.com/password.dav
  • Sudo chmod 640 /var/www/git.yourserver.com/password.dav

Şimdi, Sudo a2ensite git.yourserver.com ve Sudo service Apache2 restart.

  • /var/www/git.yourserver.com/repos girin ve dizin oluşturun, örneğin, myrepo.git
  • cd myrepo.git
  • git --bare init
  • git update-server-info

Şimdi, uzak sunucunuzdan çıkış yapın ve dosyalarınızı düzenlemek istediğiniz yerel dizine gidin.

git clone http://user_login:[email protected]/myrepo.git

ve sen bitirdin. Taahhütlü değişikliklerinizi sunucuya göndermek istiyorsanız:

git Push Origin master

Sudo htpasswd kullanarak istediğiniz kadar kullanıcı oluşturabilirsiniz. Sadece daha fazla kullanıcı eklerken -c anahtarını kullanmamayı unutmayın, çünkü eski dosya silinir.

4
Pawełkowy

Ayrıca kullanıcıları ve güvenliği yönetmek için gitolit yaklaşımını seviyorum. Şu anda test edilmekte olan EC2 için Git + gitolit sunucusu AMI var. Bir denemek için çekinmeyin; belgelere buradan ulaşabilirsiniz:

Alestic Git Sunucusu

Bu yaklaşımı kullanarak, birkaç dakika içinde çalışan özel depoları olan merkezi bir Git sunucunuz olabilir. Eğer aşina değilseniz, gitolit ve EC2 için bir öğrenme eğrisi vardır.

3
Eric Hammond

gitolite ile elde etmek çok kolaydır. Bir saatten az bir sürede, kolay yapılandırılabilir ve güvenli çok kullanıcılı git sunucunuz olacaktır.

sitem hakkında bir makalem var

3
realcnbs