Pertanyaan Menyiapkan server git


Saya baru-baru ini menyiapkan ubuntu-server di Amazon EC2. Saya ingin menggunakannya sebagai server git saya, jadi saya bisa menyimpan repos saya di sana.

Jadi, di mana saya dapat menemukan beberapa petunjuk terperinci tentang cara mengatur git di server ubuntu? Semua kunci SSH dan hal-hal seperti itu, banyak pengguna, dll.


58
2017-11-11 11:42


asal


Saya tidak berpikir ini adalah pertanyaan yang berhubungan dengan Ubuntu (di luar yang jelas "itu linux"), juga Anda bahkan melihat pada dokumentasi git? Ada yang menyebutkan ada pengaturan publik seperti halnya a pribadi gudang. - Ward Muylaert
@BonboBingo Mengatakan "Hanya mencari Google" bukanlah solusi. Sebagian besar pertanyaan di sini dapat dijawab dengan "jika Anda mencari cukup lama ..." Minta Ubuntu bertujuan untuk menjadi itu otoritas Pertanyaan dan Jawaban situs memberikan jawaban tingkat 1 bukannya dinding jawaban yang mengatakan "Hanya Google" - untuk informasi lebih lanjut, periksa FAQ - Marco Ceppi♦
Ada panduan langkah yang berguna di sini: help.ubuntu.com/community/Git. @Marco Ceppi Maaf tapi saya tidak polemik. Dan kemudian tautan yang saya posting tampaknya cukup relevan untuk dipertanyakan ... Oke sekarang sebagai jawaban? - BonboBingo
Komentar @BonboBingo tidak dihitung sebagai jawaban! Saya hanya mengomentari bagian "Cari Google" dari komentar Anda. Jika Anda ingin menjawab dengan detail tentang artikel Git di panduan Bantuan Ubuntu, Anda harus menggunakan kotak "Jawaban Anda" di bagian bawah halaman ini! :) - Marco Ceppi♦
"Bukan dinding jawaban yang mengatakan" Hanya Google "- untuk informasi lebih lanjut, periksa" ... ok Anda benar :) Mari berhenti di sini. - BonboBingo


Jawaban:


Anda dapat menggunakan tutorial untuk menginstal server Git sebagai aking1012 yang diusulkan Anda atau Anda bisa menginstal SSH server pada EC2 Anda (mungkin akan lebih bijaksana untuk mengamankannya dan mengubah port default).

Git bisa jadi server-less Anda init repositori Anda dan kemudian Anda mengaksesnya dari jauh melalui SSH. Jadi instruksi seperti ini di Ubuntu Server harus melakukannya:

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

Terakhir, instal SSH di server Anda:

sudo apt-get install ssh-server

Sekarang, Anda harus mengkonfigurasi SSH untuk mengamankannya.

Saatnya meletakkan proyek Anda secara online (data yang sudah Anda miliki di mesin pengembangan Anda):

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

Dan sekarang Anda dapat mulai mengkloning. Anda pergi ke mesin pengembangan Anda:

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

Periksa ini sumber yang bagus untuk Git.

Dan untuk menghasilkan kunci ssh Anda untuk autentikasi yang lebih aman, Anda dapat membaca artikel ini tentang Otentikasi SSH.


37
2017-11-11 21:30



Seharusnya tidak begitu openssh-server? - Jorge Castro
@ Jorge sepertinya begitu ssh-server adalah alias untuk openssh-server, setidaknya di Ubuntu 10.04. - Huygens
baik, ini bisa bekerja, tetapi penebangan melalui SSH ke mesin Amazon EC2 memerlukan keypair publik / pribadi (ssh -i key.pem ubuntu @ address). Juga, saya harus mengingat path (ubuntu @ address: / var / www / dir1 / dir2), bukan hanya git clone git.mydomain.com/repository - Paweł Karpiński
@Hal baik poin. Itulah mengapa sebagian orang meletakkan repositori git pada akar sistem file. Tapi ya, Anda perlu kunci atau akun ssh. Atau Anda bisa menggunakan HTTP, tetapi Anda tidak memiliki AFAIK kontrol akses yang benar-benar bagus. - Huygens
@ PawełKarpiński - Anda dapat mengatur file konfigurasi SSH sisi-klien di ~/.ssh/config untuk menangani nama pengguna / alamat host, masukan kunci, port, dan lainnya. - Shauna


Untuk semua setup server Git yang saya gunakan Gitolite yang memungkinkan untuk perincian keamanan akses "per-cabang". Setup cukup lurus ke depan jika Anda melakukannya di server jauh semudah menjalankan skrip interaktif. Selain ini "mudah-setup" alam itu juga memiliki paket di Natty dan Maverick

sudo apt-get install gitolite

Ini tidak akan menyediakan antarmuka web seperti Github, atau Gitweb - tetapi Anda dapat dengan mudah mengkonfigurasi dan menginstalnya di atas sesuatu seperti Gitolite.


15
2018-02-07 14:46





saya suka gitolite. Buku Pro Git memiliki bagian tapi saya sarankan membaca seluruh buku.

Adapun beberapa kebutuhan pengguna Anda:

Gitolite memungkinkan Anda untuk menentukan   perizinan tidak hanya dengan repositori   (seperti Gitosis), tetapi juga oleh   cabang atau nama tag dalam masing-masing   gudang. Artinya, Anda bisa menentukan   bahwa orang-orang tertentu (atau kelompok   orang) hanya bisa mendorong "ref" tertentu   (cabang atau tag) tetapi tidak yang lain.


9
2017-11-12 16:59



buku yang telah Anda sebutkan ROCKS. Terima kasih! - Paweł Karpiński


http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way dapat sedikit dimodifikasi agar sesuai dengan tujuan Anda ... tutorial serupa http://blog.agdunn.net/?p=277.


7
2017-11-11 12:38



Catatan: Saat ini saya menyusun 0 untuk menyelesaikan rvm, ree / ruby, rel, git tutorial untuk pengembangan klien dan tutorial pengembangan server. itu hanya menarik banyak tutorial online ke satu tempat dan sedikit memodifikasi mereka, tetapi masih merupakan pekerjaan yang sedang berjalan saat ini. - RobotHumans
tutorial ini luar biasa, tetapi mereka cukup rumit. Bukankah ada tutorial yang "lebih pendek"? :) - Paweł Karpiński
Saya belum melihat sesuatu yang lebih jelas ... sebagian besar tutorial untuk gitored dan gitosis tidak melalui pembuatan contoh proyek dan pengujian (sesuatu yang saya pikir harus ada di setiap tutorial). Jika saya melihat tut lain yang lebih langsung, saya akan terus memikirkan hal ini - RobotHumans
@ PawełKarpiński - Apa yang begitu rumit tentang mereka? Saya telah menggunakan pengaturan Gitosis sebelumnya, dan itu sebenarnya sangat mudah. - Shauna


Pasti mengikuti dokumentasi resmi: https://help.ubuntu.com/community/Git (bagian Menyiapkan Git dan Manajemen Proyek)


6
2018-02-07 15:25





Solusi yang paling berhasil untuk saya, adalah menyiapkan WebDAV.

  • sudo a2enmod sudo dav_fs 

  • sudo a2enmod dav

  • tambahkan file baru ke /etc/apache2/sites-available dan beri nama, misalnya, git.yourserver.com. Edit dan tambahkan baris berikut:

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

  • buat direktori /var/www/git.yourserver.com dan direktori repos id dalam
  • sudo chown www-data /var/www/git.yourserver.com/repos
  • sudo htpasswd -c /var/www/git.yourserver.com/password.dav user_login dan masukkan kata sandi untuk nama pengguna user_login
  • sudo chown root:www-data /var/www/git.yourserver.com/password.dav
  • sudo chmod 640 /var/www/git.yourserver.com/password.dav

Sekarang, sudo a2ensite git.yourserver.com dan sudo service apache2 restart.

  • Memasukkan /var/www/git.yourserver.com/repos dan buat direktori, misalnya, myrepo.git
  • cd myrepo.git
  • git --bare init
  • git update-server-info

Sekarang, keluarlah dari server jarak jauh Anda dan pergi ke direktori lokal yang Anda inginkan untuk mengedit file Anda.

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

dan kamu telah selesai. Jika Anda ingin mengirim perubahan komit Anda ke server:

git push origin master

Anda dapat membuat sebanyak mungkin pengguna yang Anda inginkan sudo htpasswd. Ingat saja untuk tidak menggunakannya -c beralih, ketika menambahkan lebih banyak pengguna, karena file lama akan dihapus.


4
2017-11-16 15:25



HTTP adalah protokol "bodoh" yang didukung tetapi sangat tidak disarankan. Protokol git asli bekerja jauh lebih baik, dan lebih mudah untuk mengatur karena semua yang harus Anda lakukan adalah memiliki server ssh yang bekerja (yang sudah Anda harus) dan menginstal git-core. Tidak perlu repot dengan apache sama sekali. - psusi


Saya juga suka gitolite pendekatan untuk mengelola pengguna dan keamanan. Saya memiliki server Git + gitolite AMI untuk EC2 yang saat ini sedang diuji. Jangan ragu untuk mencobanya; dokumentasi tersedia di sini:

Server Git Alestic

Dengan menggunakan pendekatan ini, Anda dapat memiliki server Git pusat dengan repositori pribadi yang berjalan dalam hitungan menit. Ada kurva belajar untuk gitolite dan EC2 jika Anda tidak akrab dengan mereka.


3
2018-04-15 21:13





Sangat mudah untuk dicapai gitolite. Dalam waktu kurang dari satu jam Anda akan memiliki server git multiuser yang mudah dikonfigurasi dan aman.

Saya memiliki artikel howto Situsku


3
2018-01-11 22:41