Server Git menghosting repositori proyek, yang berisi kode sumber dan file inti lainnya. Sementara, sebagian besar, Anda dapat mengandalkan layanan hosting Git yang dikenal secara global seperti GitHub, di beberapa kasus, lebih baik untuk meng-host server Git pribadi Anda untuk privasi tambahan, kemampuan penyesuaian, dan keamanan.

Mari pelajari bagaimana Anda dapat mengatur server Git pribadi di Linux.

Prasyarat untuk Menyiapkan Server Git

Sebelum Anda mulai menyiapkan server Git pribadi Anda, Anda harus memiliki akses ke mesin cadangan atau harus berlangganan ke penyedia cloud. Ini penting karena Anda akan menyiapkan mesin cadangan untuk bertindak sebagai server Git yang akan Anda hubungkan dari mesin lokal Anda dan melakukan operasi Git.

Meskipun tidak ada persyaratan sistem yang terdefinisi dengan baik, satu gigabyte RAM seharusnya cukup untuk server Git berfungsi. Selanjutnya, pastikan Anda memiliki distribusi Linux dan berjalan di mesin.

Langkah 1: Unduh dan Instal Git di Server Linux

instagram viewer

Tak perlu dikatakan, Anda harus menginstal Git di server Linux Anda sebagai langkah awal. Jalankan terminal dan gunakan manajer paket distribusi Linux Anda untuk menginstal Git:

Pada turunan Debian/Ubuntu:

sudo tepat Install git

Pada Distribusi berbasis Arch:

sudo pacman -S git

Di CentOS/RHEL/Fedora:

sudo dnf Install git

Setelah Git terinstal di sistem Anda, lanjutkan ke langkah berikutnya untuk mengonfigurasi sistem Linux Anda untuk meng-host repositori Git Anda sebagai server Git.

Langkah 2: Siapkan Akun Pengguna Git

Hubungkan ke server Linux Anda melalui SSH, RDP, atau protokol akses jarak jauh lainnya. Atau, jika Anda menggunakan komputer cadangan sebagai server, aktifkan dan buat akun pengguna baru untuk menangani repositori Anda.

nama pengguna ssh@alamat
sudo pengguna tambahkan git

Setelah pengguna baru ditambahkan, alihkan menggunakan su memerintah:

su git

Membuat berdedikasi git akun pengguna adalah protokol keamanan yang memastikan klien yang terhubung ke server Git Anda akan memiliki visibilitas dan akses terbatas ke sumber daya pada mesin. Ini memungkinkan Anda berkolaborasi dengan aman dalam proyek grup di mana beberapa anggota tim akan mengakses server Anda.

Langkah 3: Buat Direktori .ssh dan Tambahkan Kunci Resmi

Membuat sebuah .ssh direktori diperlukan untuk menyimpan kunci publik dan data penting lainnya yang akan menentukan siapa yang mendapatkan akses ke server Git ini. Untuk memulainya, masuk ke akun pengguna git yang Anda buat sebelumnya, buat direktori .ssh, dan batasi akses hanya untuk pengguna git:

ssh git@alamat
mkdir.ssh
chmod 700 .ssh/
sentuh .ssh/authorized_keys

Amankan izin akses direktori menggunakan chmod perintah untuk memastikan bahwa tidak ada seorang pun kecuali Anda yang dapat mengubahnya. Pindah ke .ssh direktori dan buat file baru "authorized_keys" menggunakan menyentuh memerintah.

CD.ssh
ssh-keygen -t rsa #hanya jalankan perintah ini jika Anda TIDAK memiliki file id_rsa.pub
kucingid_rsa.pub

Anda harus memperbarui file ini dengan kunci publik SSH dari klien yang ingin Anda beri akses ke server Git. Tangguhkan sesi SSH dan buka .ssh/id_rsa.pub file di mesin lokal Anda menggunakan editor teks atau perintah kucing. File ini berisi kunci terenkripsi publik Anda, yang ketika ditulis ke dalam file otor_keys, akan memberi Anda akses ke server Git tanpa kata sandi.

CD.ssh
vi otorisasi_keys

Salin kunci publik dan putar koneksi SSH baru ke server Git. Pindah ke .ssh direktori, buka file otor_keys dengan editor teks dan rekatkan kunci publik. Simpan perubahan dan keluar.

Sejak saat itu, Anda harus dapat terhubung ke server tanpa kata sandi apa pun. Ulangi langkah ini untuk setiap mesin yang akan terhubung ke server.

Langkah 4: Buat Direktori untuk Menyimpan Semua Repositori Anda

Akses server Linux dan buat direktori atau gunakan direktori bawaan sebagai direktori root. Ingatlah bahwa ini adalah direktori tempat semua repositori Anda akan disimpan. Ini adalah praktik yang baik demi pengorganisasian proyek yang lebih rapi.

nama_direktori mkdir

Setelah membuat direktori, lanjutkan ke langkah terakhir dalam panduan ini untuk menyelesaikan penyiapan server Git.

Langkah 5: Memulai Pengembangan dengan Menambahkan Proyek Baru

Anda sekarang praktis sudah selesai menyiapkan server Git. Sekarang Anda hanya perlu memulai pengembangan dengan menginisialisasi repositori dan menambahkan origin jarak jauh ke mesin lokal Anda. Pindah ke direktori induk menggunakan CD perintah dan buat a .git direktori proyek:

CD induk_direktori
mkdirproyek baru.git

Sekarang, inisialisasi repositori git kosong:

git init --telanjang

Dengan repositori yang diinisialisasi, saatnya untuk menambahkan Origin jarak jauh di mesin lokal Anda:

git remote tambahkan nama asal git@alamat:new_project.git

Hanya itu yang perlu Anda lakukan di sisi server. Sekarang setiap klien yang diautentikasi dapat melakukan operasi Git reguler seperti push, pull, merge, clone, dan banyak lagi. Untuk memulai proyek baru, Anda harus mengulangi langkah ini setiap kali Anda membuat proyek baru.

Uji fungsionalitasnya dengan melakukan git push:

sentuh file tes
git tambahkan file tes
git komit -m "berkas tes"
git push nama master
git klon git@alamat: new_project.git

File Anda akan berhasil didorong ke asal jarak jauh. Untuk memeriksa silang apakah operasi push berhasil, Anda dapat mengkloning repositori, dan Anda harus menemukan file pengujian di repositori.

Kiat Keamanan untuk Server Git Anda

Dengan server Git yang aktif dan berjalan, Anda harus memperhatikan tingkat keamanannya karena server pribadi Anda dan merupakan tanggung jawab Anda sendiri untuk memelihara dan melindunginya dari eksternal ancaman. Beberapa praktik keamanan terbaik untuk diadopsi adalah:

  • Nonaktifkan login kata sandi
  • Ubah shell default menjadi git-shell. Ini membatasi pengguna yang masuk dari mengeluarkan perintah non-git apa pun
  • Gunakan port khusus untuk SSH
  • Nonaktifkan login pengguna root
  • Cadangkan data secara teratur

Ada banyak konfigurasi keamanan dan langkah-langkah keamanan yang dapat Anda terapkan di server Linux Anda untuk melindunginya dari penyerang dan mencegah akses yang tidak sah.