Git adalah sistem kontrol versi terdistribusi yang sangat populer di kalangan developer. Layanan seperti GitHub, GitLab, dan Bitbucket menyediakan platform untuk menyimpan dan mengelola repositori Git secara online. Namun, untuk kebutuhan privasi, keamanan, atau kontrol penuh atas repositori, Anda bisa membuat server Git pribadi di VPS Anda sendiri.
Dalam artikel ini, kami akan membahas langkah demi langkah cara meng-host Git server pribadi di VPS berbasis Linux (Ubuntu), tanpa menggunakan layanan pihak ketiga. Dengan begitu, Anda bisa mengelola kode sumber sendiri, sepenuhnya di bawah kendali Anda.
Keuntungan Hosting Git Server Sendiri
Sebelum masuk ke langkah teknis, berikut beberapa alasan mengapa banyak developer atau tim memilih untuk membuat Git server sendiri:
- Privasi: Kode sumber tidak di-host di server pihak ketiga.
- Kontrol penuh: Anda bisa mengatur akses, backup, dan integrasi sesuka hati.
- Tanpa batasan: Tidak ada batasan jumlah private repo atau user.
- Belajar DevOps: Cocok untuk belajar manajemen server, Git, dan keamanan.
Persyaratan Sebelum Memulai
Pastikan Anda memiliki:
- VPS dengan sistem operasi Linux (Ubuntu 20.04 atau 22.04)
- Akses SSH ke VPS
- Git telah diinstal di server dan komputer lokal
- Pengetahuan dasar penggunaan terminal Linux
Langkah 1: Akses VPS Anda via SSH
Login ke server Anda:
ssh root@IP_ADDRESS
Gantilah IP_ADDRESS
dengan alamat VPS Anda.
Langkah 2: Buat User Khusus untuk Git
Untuk alasan keamanan, sebaiknya Anda tidak menggunakan akun root
untuk mengelola repositori Git.
sudo adduser git
Set password dan ikuti instruksi untuk membuat akun git
.
Langkah 3: Instal Git di VPS
Biasanya Git sudah tersedia di repositori Ubuntu. Jalankan:
sudo apt update
sudo apt install git -y
Cek versi untuk memastikan Git terinstal:
git --version
Langkah 4: Buat Repositori Git di Server
Setelah user git
dibuat, login sebagai user tersebut:
sudo su - git
Buat direktori untuk repositori:
mkdir repos
cd repos
mkdir projectku.git
cd projectku.git
git init --bare
Repositori bare adalah jenis repositori yang digunakan di server karena tidak memiliki working directory.
Langkah 5: Tambahkan Akses SSH dari Komputer Lokal
Agar Anda bisa push/pull dari komputer lokal, Anda harus menambahkan SSH key ke VPS.
Di komputer lokal:
Jika belum punya SSH key, buat dulu:
ssh-keygen
Lalu upload public key ke server:
ssh-copy-id git@IP_ADDRESS
Jika ssh-copy-id
tidak tersedia, Anda bisa manual menyalin isi ~/.ssh/id_rsa.pub
dan menempelkannya ke file:
/home/git/.ssh/authorized_keys
Langkah 6: Clone dan Gunakan Repositori
Di komputer lokal:
Sekarang Anda bisa clone repo dari server:
git clone git@IP_ADDRESS:/home/git/repos/projectku.git
Atau, jika Anda sudah punya proyek lokal dan ingin menjadikannya remote:
cd project-anda
git remote add origin git@IP_ADDRESS:/home/git/repos/projectku.git
git push -u origin master
Langkah 7: Konfigurasi Tambahan (Opsional)
Mengatur Domain atau Subdomain:
Anda bisa mengarahkan domain (misalnya git.domainanda.com
) ke IP VPS agar lebih mudah diakses.
Membatasi Akses Repositori:
Anda bisa membuat user berbeda untuk setiap developer, dan mengatur file authorized_keys
untuk mengontrol akses ke repositori tertentu.
Menambahkan Web Interface:
Jika ingin GUI, Anda bisa install software seperti:
- Gitea (ringan dan cepat)
- GitLab CE (komplit tapi berat)
- GitWeb (sederhana)
Namun, itu membutuhkan resource lebih dan konfigurasi tambahan.
Tips Keamanan
- Nonaktifkan login root via SSH.
- Gunakan SSH key authentication, bukan password.
- Pastikan hanya port SSH (misalnya 22 atau port custom) yang terbuka.
- Lakukan backup rutin repositori Anda.
- Gunakan firewall (UFW atau iptables) untuk membatasi akses.
Kesimpulan
Hosting Git server pribadi di VPS adalah pilihan tepat bagi developer atau tim kecil yang menginginkan kontrol penuh atas kode mereka. Proses ini cukup sederhana dan hanya membutuhkan Git serta akses SSH. Anda bisa mulai dengan setup bare-bones seperti di atas, lalu perlahan mengembangkan sistem sesuai kebutuhan—misalnya dengan menambahkan autentikasi multi-user, domain sendiri, atau interface web.
Dengan menjalankan Git server sendiri, Anda bukan hanya menyimpan kode, tapi juga memahami ekosistem DevOps dan kontrol versi dengan lebih mendalam.