Cara Clone Private GitLab Repository di cPanel [Langkah Lengkapnya]
Mengelola kode menggunakan sistem version control seperti Git telah menjadi standar dalam dunia pengembangan perangkat lunak modern. Salah satu platform populer adalah GitLab, terutama untuk pengguna yang membutuhkan repositori privat dengan kontrol akses ketat. Namun, banyak developer, admin server, maupun pemilik website mengalami kebingungan ketika ingin meng-clone private repository GitLab langsung ke cPanel, karena prosesnya memerlukan konfigurasi SSH, otorisasi kunci, serta pemanggilan perintah Git melalui terminal.
Untuk itu, dalam artikel lengkap ini, kita akan membahas langkah demi langkah secara mendalam—mulai dari persiapan, pembuatan SSH key, otorisasi di GitLab, cloning repository, hingga troubleshooting dan tips keamanan. Artikel ini cocok untuk pengguna pemula maupun tingkat menengah yang ingin melakukan deployment langsung dari GitLab ke hosting cPanel.
Alasan Perlu Menggunakan SSH untuk Private Repository GitLab
Private repository GitLab tidak bisa di-clone hanya dengan URL HTTP karena memerlukan autentikasi. Jika menggunakan username dan password, hal ini justru berpotensi tidak aman, serta sering ditolak oleh server hosting karena protokol security update dari Git dan GitLab. Oleh karena itu, metode terbaik adalah:
- Autentikasi menggunakan SSH Key.
- Server hosting Anda terhubung langsung dengan GitLab
- Tidak perlu memasukkan password setiap kali melakukan pull atau clone
Dengan SSH, hanya server yang memiliki private key sah yang bisa terhubung ke repository.
1. Persiapan Sebelum Clone
Sebelum melakukan cloning, pastikan beberapa hal berikut sudah tersedia:
- Akses ke cPanel
Anda harus memiliki login ke cPanel hosting.
- Terminal atau SSH Access
Untuk clone repo, Anda membutuhkan:
-
- Menu Terminal di cPanel, atau
- Akses SSH via aplikasi seperti PuTTY, MobaXterm, atau terminal Linux/Mac
- Repository GitLab dalam mode Private
Pastikan Anda memiliki:
-
- Username GitLab
- Akses ke repository privat
- SSH clone URL
- Git harus tersedia di server
Sebagian besar hosting modern sudah memiliki Git terinstal, namun beberapa shared hosting lama belum. Untuk mengeceknya masuk ke Terminal, lalu jalankan: git --version
Jika muncul output versi, berarti Git tersedia.
2. Membuat SSH Key di cPanel
SSH key ini menjadi “identitas” server Anda yang akan diizinkan mengakses GitLab.
- Buka SSH Access
-
- Login ke cPanel
- Cari menu SSH Access
- Klik Manage SSH Keys
- Generate SSH Key
-
- Klik Generate a New Key
- Isi data berikut:
| Parameter | Isi |
|---|---|
| Key Name | default (id_rsa) |
| Key Password | Biarkan kosong (atau isi jika ingin keamanan tambahan) |
| Key Type | RSA |
| Key Size | 4096 bit |
-
Klik Generate
- Aktifkan (Authorize) SSH Key
-
- Kembali ke daftar SSH keys
- Temukan key pada bagian Public Keys
- Klik Manage
- Klik Authorize
- Jika tidak di-authorize, koneksi GitLab tidak akan menerima key tersebut.
3. Menambahkan SSH Public Key ke GitLab
SSH public key server harus dikenali oleh GitLab agar GitLab mengizinkan akses ke repository.
- Ambil Public Key dari cPanel
-
- Di menu SSH Access → Manage SSH Keys
- Cari Public Key yang tadi dibuat
- Klik View / Download
- Copy seluruh isi public key tersebut
-
- Biasanya dimulai dengan
ssh-rsa - Diakhiri dengan nama host
- Biasanya dimulai dengan
- Tambahkan ke GitLab
-
-
Login ke GitLab
-
Klik profil (pojok kanan atas)
-
Pilih Preferences
-
Buka menu SSH Keys
-
Paste SSH public key ke kolom
-
Isi kolom Title bebas, misalnya: Server cPanel
-
Klik Add key
-
Sekarang GitLab mengenali hosting Anda sebagai user sah.
4. Mengambil SSH Clone URL di GitLab
Untuk private repository, gunakan SSH URL, bukan HTTP.
Cara mengambilnya:
- Masuk ke halaman repository GitLab
- Klik tombol Clone
- Copy URL SSH, biasanya seperti:
git@gitlab.com:username/reponame.git
URL inilah yang nanti dipakai untuk cloning.
5. Clone Repository Private GitLab ke cPanel
Setelah semua konfigurasi selesai, kita masuk ke tahap cloning.
- Buka Terminal di cPanel
-
- Masuk ke cPanel
- Cari menu Terminal
- Klik untuk membuka akses command line
- Pindah ke lokasi folder yang diinginkan
Misalnya ingin clone ke folder public_html: cd ~/public_html
- Jalankan perintah clone
Gunakan SSH URL yang tadi dicopy: git clone [email protected]:username/reponame.git
Jika ingin clone langsung ke folder root: git clone [email protected]:username/reponame.git .
Perintah titik (.) berarti clone isi repository langsung ke folder aktif.
- Tunggu proses selesai
Jika konfigurasi benar, output akan menunjukkan proses mengambil file dari GitLab.
6. Melakukan Pull Update Setelah Cloning
Jika Anda ingin memperbarui repo tanpa clone ulang:
- Masuk ke folder repo:
cd ~/public_html/repo-folder
- Jalankan:
git pull
7. Alternatif – Clone Menggunakan Git Version Control (cPanel)
Jika hosting mendukung fitur ini, proses akan lebih mudah tanpa command line.
Langkah:
- Masuk cPanel → Git Version Control
- Klik Create
- Masukkan SSH URL GitLab
- Pilih lokasi folder
- Klik Create
cPanel akan melakukan clone otomatis.
8. Troubleshooting (Solusi Error yang Sering Terjadi)
Berikut daftar error umum dan solusinya.
- Error: Permission denied (publickey)
Artinya GitLab belum mengenali SSH key Anda.
Solusi:
-
- Pastikan public key sudah ditambahkan ke GitLab
- Pastikan key sudah di-authorize di cPanel
- Cek permission key:
chmod 600 ~/.ssh/id_rsa
- Error: Git not installed
Shared hosting tertentu belum menyediakan Git.
Solusi:
-
- Minta hosting mengaktifkan Git
- Atau upgrade ke paket hosting yang mendukung Git
- Folder tidak dapat ditulisi
Saat clone: fatal: cannot create directory ... Permission denied
Solusi:
-
- Jangan clone ke folder yang dilock hosting
- Gunakan folder yang valid, seperti:
/home/username/public_html/
- Key is not authorized
Ini terjadi jika Anda lupa authorize key.
Solusi: cPanel → SSH Access → Manage → klik Authorize
Tips Keamanan
Untuk menjaga keamanan server:
- Jangan share private key kepada siapa pun
- Gunakan key size 4096 bit
- Tambahkan password pada private key jika diperlukan
- Jangan clone repo ke folder publik jika berisi file sensitif
- Gunakan
.gitignoreuntuk mencegah file tertentu terupload
Kesimpulan
Meng-clone private repository GitLab ke cPanel sebenarnya sangat mudah jika memahami alurnya: membuat SSH key, menambahkan ke GitLab, mengambil SSH URL, lalu melakukan cloning via terminal. Dengan panduan lengkap di atas, Anda dapat melakukan deployment langsung dari GitLab ke server hosting dengan aman, cepat, dan tanpa perlu memasukkan password setiap kali melakukan update. Metode ini ideal untuk backend developer, DevOps pemula, hingga pemilik website yang ingin menerapkan workflow lebih profesional.
