Hemat 15% untuk semua layanan hosting

Uji kemampuanmu dan dapatkan Diskon pada paket hosting apa saja

Gunakan kode: Skills Memulai
Bagian FAQ
Administrasi Linux

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 -y

Tunggu 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 perl

Berikut adalah fungsi setiap paket:

PaketTujuan
curlMengunduh skrip dan file dari web
openssh-serverMengaktifkan akses SSH ke server Anda
ca-certificatesMemvalidasi sertifikat SSL/TLS
tzdataMenyediakan data zona waktu
perlDiperlukan 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 bash

Skrip 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-ce

Jika Anda menggunakan alamat IP (misalnya, untuk server lokal atau pribadi):

sudo EXTERNAL_URL="http://YOUR_SERVER_IP" apt install gitlab-ce

Ganti 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_URL yang 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 reconfigure

Perintah 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.com

atau

http://YOUR_SERVER_IP

Login 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.rb

Tambahkan 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'] = true

Simpan 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.rb

Tambahkan 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 reconfigure

GitLab 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 start

Hentikan GitLab

sudo gitlab-ctl stop

Restart GitLab

sudo gitlab-ctl restart

Periksa Status Layanan

sudo gitlab-ctl status

Lihat Log Real-Time

sudo gitlab-ctl tail

Lihat Log untuk Layanan Tertentu (misalnya, NGINX)

sudo gitlab-ctl tail nginx

Perintah-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 days

Jalankan backup manual kapan saja dengan:

sudo gitlab-backup create

Konfigurasi 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 status

Pemecahan Masalah Umum

MasalahSolusi
GitLab tidak dapat diakses setelah instalasiPeriksa aturan firewall; verifikasi EXTERNAL_URL di /etc/gitlab/gitlab.rb
Error 502 Bad GatewayJalankan sudo gitlab-ctl restart; periksa log dengan sudo gitlab-ctl tail
Kegagalan sertifikat Let's EncryptPastikan port 80 terbuka dan DNS domain dikonfigurasi dengan benar
Penggunaan memori tinggiKurangi pekerja Puma di gitlab.rb: puma['worker_processes'] = 2
Notifikasi email tidak terkirimVerifikasi 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.