Saya baru-baru ini memperoleh server khusus, dan perlu memindahkan beberapa repositori ke server itu dari layanan hosting sumber kontrol. Tidak memiliki banyak pengalaman dalam administrasi server namun saya tidak tahu bagaimana mengaturnya secara efektif. Apa yang saya cari -
- svn.host.com, hg.host.com, subdomain git.host.com yang akan menjadi root untuk repo yang berbeda, melalui kunci SSH
- pembuatan repositori baru yang mudah
- otentikasi menggunakan server unix daftar pengguna, tetapi dengan izin berdasarkan per proyek, juga akses publik hanya-baca opsional untuk beberapa repo
Sayangnya, istilah pencarian apa pun yang saya coba di Google mengarahkan saya ke solusi yang diinangi secara komersial, dan bukan panduan tentang cara menggulung sendiri. Saya membutuhkan sesuatu seperti solusi host yang dihilangkan tetapi tanpa perlu memiliki pengguna dapat membuat repo sendiri.
Adakah saran, tutorial, atau solusi tertulis tentang tempat memulai penelitian? Solusi open source untuk antarmuka administratif untuk menangani itu (atau setidaknya untuk beberapa akan sempurna ...
SVN dapat dilakukan dengan Apache WebDAV, di vhost, menggunakan otentikasi unix dan ACL tingkat pengguna subversi sendiri. Saya tidak tahu apa-apa tentang lincah atau git, tetapi saya berharap mereka bisa terhubung ke DAV juga.
sumber
Ketika Anda ingin menggunakan SSH , maka pada dasarnya Anda harus membatasi kunci dengan mengedit
authorized_keys
file di server. Untuk Mercurial, cara utama untuk melakukan ini adalah:Anda dapat menggunakan
contrib/hg-ssh
skrip untuk membatasi perintah yang dapat dijalankan orang saat masuk dengan SSH. File tersebut berisi tajuk untuk menjelaskan cara menggunakannya, tetapi pada dasarnya Anda menambahkandi depan kunci dalam
authorized_keys
file. Itu membatasi kunci sehingga hanya bisa digunakan untuk mendorong dan menarik ke repositori yang ditunjukkan.Anda juga dapat menggunakan alat server-server pihak ketiga jika Anda menginginkan sesuatu seperti gitois . Ini memungkinkan Anda mengelola pengguna dan hak aksesnya dengan mengedit file di repositori admin khusus.
Lihat wiki Mercurial untuk beberapa alat serupa lainnya untuk SSH.
Untuk HTTP , ada
Built-in
hgweb
(Fast) CGI atau WSGI script yang datang dengan Mercurial. Itu menangani push dan pull, tetapi tidak memungkinkan pembuatan repositori baru - login ke server untuk itu.Proyek RhodeCode pihak ketiga . Ini memberi Anda front-end web seperti Bitbucket untuk Mercurial di mana Anda dapat mengonfigurasi pengguna dan hak akses mereka. Ini mendukung otentikasi LDAP, sehingga Anda dapat menghubungkannya ke basis data pengguna Unix yang ada.
Lihat halaman tentang penerbitan repositori untuk informasi lebih lanjut.
sumber
SCM-Manager mungkin sempurna untuk kebutuhan Anda:
sumber
RhodeCode adalah alat manajemen / browser repositori open source dengan server push / pull bawaan , LDAP / AD, sistem izin, dan pencarian teks lengkap.
Anda dapat melihatnya langsung di sini: http://demo.rhodecode.org/
sumber