Cara Menginstal GitLab di Ubuntu: Panduan Lengkap Langkah demi Langkah
GitLab adalah salah satu platform DevOps open-source paling powerful yang tersedia saat ini, menawarkan suite tools komprehensif termasuk version control berbasis Git, continuous integration/continuous delivery (CI/CD) pipelines, issue tracking, dan fitur team collaboration — semuanya dalam satu tempat. Baik Anda mengelola tim development kecil atau menjalankan proyek software skala enterprise, self-hosting GitLab di Ubuntu memberikan Anda kontrol penuh atas data, workflows, dan infrastructure Anda.
Panduan ini memandu Anda melalui setiap langkah instalasi dan konfigurasi GitLab Community Edition (CE) di server Ubuntu, dari persiapan sistem awal hingga mengaktifkan HTTPS dan mengelola services.
Prasyarat
Sebelum Anda memulai, pastikan Anda memiliki hal-hal berikut:
- Server yang menjalankan Ubuntu 20.04 atau 22.04 LTS (instalasi fresh direkomendasikan)
- Minimum 4 GB RAM dan 2 CPU cores (GitLab merekomendasikan minimal 4 cores untuk penggunaan production)
- Root atau sudo access ke server
- Nama domain terdaftar yang menunjuk ke alamat IP server Anda (opsional tetapi sangat direkomendasikan untuk HTTPS)
- Port 80 dan 443 terbuka di firewall Anda
> Tip: Untuk performa GitLab terbaik, pertimbangkan untuk deploy di paket VPS Hosting dengan RAM dan CPU resources yang cukup. Paket VPS AlexHost dioptimalkan untuk workload Linux dan dilengkapi dengan full root access, menjadikannya lingkungan ideal untuk platform DevOps self-hosted seperti GitLab.
Langkah 1: Perbarui Paket Sistem
Sebelum menginstal perangkat lunak apa pun, sangat penting untuk memastikan indeks paket sistem Anda dan paket yang diinstal sepenuhnya terbaru. Ini mencegah konflik ketergantungan dan memastikan Anda bekerja dengan patch keamanan terbaru.
sudo apt update && sudo apt upgrade -yTunggu proses upgrade selesai sebelum melanjutkan ke langkah berikutnya.
Langkah 2: Instal Dependensi yang Diperlukan
GitLab memerlukan beberapa paket pendukung untuk berfungsi dengan benar, termasuk alat untuk komunikasi aman, manajemen zona waktu, dan scripting. Instal dengan perintah berikut:
sudo apt install -y curl openssh-server ca-certificates tzdata perlBerikut adalah fungsi setiap paket:
| Paket | Tujuan |
|---|---|
curl | Mengunduh skrip dan file dari web |
openssh-server | Mengaktifkan akses SSH ke server Anda |
ca-certificates | Memvalidasi sertifikat SSL/TLS |
tzdata | Menyediakan data zona waktu |
perl | Diperlukan untuk skrip internal GitLab |
Langkah 3: Tambahkan Repositori GitLab Resmi
GitLab memelihara repositori paket resmi yang membuat instalasi dan upgrade di masa depan menjadi mudah. Gunakan perintah berikut untuk mengunduh dan menjalankan skrip pengaturan repositori:
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bashSkrip ini secara otomatis:
- Mendeteksi versi Ubuntu Anda
- Menambahkan repositori paket GitLab ke sumber APT Anda
- Mengimpor kunci penandatanganan GPG repositori untuk verifikasi paket
Setelah skrip selesai, sistem Anda siap untuk menginstal GitLab langsung dari sumber resmi.
Langkah 4: Instal GitLab Community Edition
Sekarang instal GitLab CE menggunakan manajer paket apt. Anda harus menetapkan variabel lingkungan EXTERNAL_URL ke URL atau alamat IP tempat pengguna akan mengakses instans GitLab Anda.
Jika Anda memiliki nama domain:
sudo EXTERNAL_URL="https://gitlab.yourdomain.com" apt install gitlab-ceJika Anda menggunakan alamat IP (misalnya, untuk server lokal atau pribadi):
sudo EXTERNAL_URL="http://YOUR_SERVER_IP" apt install gitlab-ceGanti gitlab.yourdomain.com atau YOUR_SERVER_IP dengan domain atau alamat IP aktual Anda.
> Catatan: Proses instalasi mungkin memakan waktu beberapa menit karena mengunduh dan mengonfigurasi semua komponen GitLab, termasuk PostgreSQL, Redis, NGINX, dan Sidekiq.
Selama instalasi, GitLab akan:
- Instal semua layanan bundel (database, cache, server web, dll.)
- Mengonfigurasi dirinya sendiri berdasarkan
EXTERNAL_URLyang Anda berikan - Hasilkan file konfigurasi awal di
/etc/gitlab/
Langkah 5: Jalankan Rekonfigurasi GitLab
Setelah instalasi, jalankan perintah rekonfigurasi untuk menyelesaikan pengaturan, menginisialisasi database, dan memulai semua layanan GitLab:
sudo gitlab-ctl reconfigurePerintah ini membaca konfigurasi dari /etc/gitlab/gitlab.rb dan menerapkan semua pengaturan. Perintah ini juga menghasilkan sertifikat SSL (jika Let’s Encrypt dikonfigurasi), menyiapkan skema database, dan memulai semua layanan latar belakang yang diperlukan.
Anda akan melihat output yang panjang diakhiri dengan pesan serupa dengan:
gitlab Reconfigured!Langkah 6: Akses GitLab di Browser Web Anda
Setelah rekonfigurasi selesai, buka browser web Anda dan navigasikan ke URL yang Anda tentukan selama instalasi:
https://gitlab.yourdomain.comatau
http://YOUR_SERVER_IPLogin Pertama Kali
Pada kunjungan pertama Anda, GitLab akan meminta Anda untuk menetapkan kata sandi administrator. Setelah menetapkannya, masuk menggunakan kredensial berikut:
- Nama pengguna:
root - Kata sandi: Kata sandi yang baru saja Anda buat
> Tips Keamanan: Ubah kredensial akun root default segera setelah login pertama Anda. Buat akun admin pribadi dan batasi akun root hanya untuk penggunaan darurat.
Langkah 7: Konfigurasi Notifikasi Email GitLab (Opsional)
Mengirim notifikasi email sangat penting untuk instance GitLab produksi — ini memungkinkan fitur seperti verifikasi akun, pembaruan merge request, peringatan CI/CD, dan reset kata sandi. Konfigurasi pengaturan SMTP dalam file konfigurasi GitLab utama:
sudo nano /etc/gitlab/gitlab.rbTambahkan atau modifikasi blok konfigurasi SMTP berikut:
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.yourmailprovider.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "your_email@yourdomain.com"
gitlab_rails['smtp_password'] = "your_email_password"
gitlab_rails['smtp_domain'] = "yourdomain.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = trueSimpan file dan terapkan perubahan:
sudo gitlab-ctl reconfigure> Mencari infrastruktur email yang andal? AlexHost menawarkan layanan Email Hosting profesional yang terintegrasi dengan mulus dengan aplikasi yang di-host sendiri seperti GitLab, menyediakan relay SMTP stabil dengan deliverability tinggi.
Langkah 8: Aktifkan HTTPS dengan Let’s Encrypt (Direkomendasikan)
Menjalankan GitLab melalui HTTPS sangat direkomendasikan untuk lingkungan produksi atau tim apa pun. GitLab memiliki dukungan bawaan untuk Let’s Encrypt, otoritas sertifikat SSL gratis dan otomatis.
> Penting: Let’s Encrypt memerlukan nama domain Anda dapat diakses secara publik dan port 80 terbuka di server Anda. Ini tidak akan berfungsi dengan alamat IP mentah.
Buka file konfigurasi GitLab:
sudo nano /etc/gitlab/gitlab.rbTambahkan konfigurasi berikut:
letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['your_admin_email@yourdomain.com']
letsencrypt['auto_renew'] = true
letsencrypt['auto_renew_hour'] = 12
letsencrypt['auto_renew_minute'] = 30
letsencrypt['auto_renew_day_of_month'] = "*/7"Simpan file dan konfigurasikan ulang GitLab:
sudo gitlab-ctl reconfigureGitLab akan secara otomatis memperoleh dan menginstal sertifikat SSL Anda, dan pengaturan auto_renew memastikan sertifikat diperbaharui sebelum kedaluwarsa tanpa intervensi manual apa pun.
> Alternatif: Jika Anda lebih suka mengelola sertifikat SSL secara independen atau memerlukan sertifikat wildcard/multi-domain, AlexHost menawarkan berbagai Sertifikat SSL yang dapat dikonfigurasi secara manual dalam pengaturan NGINX GitLab.
Langkah 9: Mengelola Layanan GitLab
GitLab menggabungkan alat manajemen layanan sendiri yang disebut gitlab-ctl. Gunakan perintah berikut untuk mengontrol layanan GitLab:
Mulai GitLab
sudo gitlab-ctl startHentikan GitLab
sudo gitlab-ctl stopRestart GitLab
sudo gitlab-ctl restartPeriksa Status Layanan
sudo gitlab-ctl statusLihat Log Real-Time
sudo gitlab-ctl tailLihat Log untuk Layanan Tertentu (misalnya, NGINX)
sudo gitlab-ctl tail nginxPerintah-perintah ini sangat berharga untuk pemecahan masalah dan pemeliharaan rutin. Perintah status akan menampilkan status semua sub-layanan GitLab, termasuk PostgreSQL, Redis, Sidekiq, Puma (web server), dan NGINX.
Langkah 10: Konfigurasi Awal GitLab untuk Organisasi Anda
Dengan GitLab terinstal dan berjalan, saatnya mengonfigurasinya sesuai kebutuhan tim Anda. Berikut adalah area-area kunci yang perlu diatur melalui antarmuka web GitLab:
Manajemen Pengguna
Navigasikan ke Admin Area → Users untuk membuat akun pengguna bagi anggota tim Anda. Anda dapat mengonfigurasi metode autentikasi, termasuk LDAP, OAuth, dan SAML untuk single sign-on enterprise.
Grup dan Proyek
- Grup memungkinkan Anda mengorganisir proyek-proyek terkait dan mengelola izin dalam skala besar
- Proyek adalah repositori individual dengan pelacak masalah, wiki, dan pipeline CI/CD mereka sendiri
Pipeline CI/CD
CI/CD bawaan GitLab adalah salah satu fitur paling powerful-nya. Buat file .gitlab-ci.yml di root repositori Anda untuk menentukan pipeline build, test, dan deployment otomatis.
Pengaturan Repositori
Konfigurasi aturan perlindungan branch, persetujuan merge request, dan alur kerja review kode di bawah bagian Settings → Repository setiap proyek.
Konfigurasi Backup
Atur backup otomatis dengan mengonfigurasi hal berikut di /etc/gitlab/gitlab.rb:
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
gitlab_rails['backup_keep_time'] = 604800 # Keep backups for 7 daysJalankan backup manual kapan saja dengan:
sudo gitlab-backup createKonfigurasi Firewall
Jika Anda memiliki UFW (Uncomplicated Firewall) yang diaktifkan di server Ubuntu Anda, pastikan untuk mengizinkan traffic HTTP dan HTTPS:
sudo ufw allow http
sudo ufw allow https
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw statusPemecahan Masalah Umum
| Masalah | Solusi |
|---|---|
| GitLab tidak dapat diakses setelah instalasi | Periksa aturan firewall; verifikasi EXTERNAL_URL di /etc/gitlab/gitlab.rb |
| Error 502 Bad Gateway | Jalankan sudo gitlab-ctl restart; periksa log dengan sudo gitlab-ctl tail |
| Kegagalan sertifikat Let's Encrypt | Pastikan port 80 terbuka dan DNS domain dikonfigurasi dengan benar |
| Penggunaan memori tinggi | Kurangi pekerja Puma di gitlab.rb: puma['worker_processes'] = 2 |
| Notifikasi email tidak terkirim | Verifikasi kredensial SMTP dan jalankan sudo gitlab-rails console untuk menguji |
Kesimpulan
Menginstal GitLab di Ubuntu adalah proses yang mudah yang memberikan platform DevOps tingkat enterprise di bawah kontrol penuh Anda. Dengan mengikuti panduan ini, Anda telah menyiapkan instance GitLab yang berfungsi penuh dengan enkripsi HTTPS, notifikasi email, dan manajemen layanan yang tepat — siap untuk alur kerja pengembangan dunia nyata.
Self-hosting GitLab memberikan tim Anda kebebasan untuk menyesuaikan alur kerja, mempertahankan kedaulatan data, dan mengintegrasikan dengan infrastruktur yang ada tanpa biaya langganan SaaS berulang. Kunci untuk pengalaman GitLab yang lancar adalah memulai dengan server yang andal dan berkinerja tinggi.
Untuk tim yang membutuhkan fondasi yang kuat untuk GitLab, Dedicated Servers AlexHost menawarkan performa maksimal dan isolasi, sementara paket VPS Hosting memberikan alternatif yang hemat biaya dan dapat diskalakan untuk tim yang lebih kecil dan proyek yang berkembang. Kedua opsi dilengkapi dengan akses root penuh, penyimpanan SSD, dan dukungan teknis 24/7 — semua yang Anda butuhkan untuk menjalankan GitLab dengan percaya diri.
untuk semua layanan hosting