Cara Memasang GitLab Community Edition (CE) 11.x pada Debian 9

Sejak GitHub diakuisisi oleh Microsoft, beberapa pengembang telah merencanakan untuk memigrasi repositori kode mereka sendiri dari github.com ke solusi alternatif yang di-host-sendiri. Edisi Komunitas GitLab (CE) adalah pilihan paling umum.

Sebagai solusi canggih dan fleksibel, GitLab CE dapat digunakan dengan berbagai metode, tetapi hanya metode yang direkomendasikan secara resmi, instalasi paket Omnibus, yang akan dibahas di sini.

Prasyarat

  • Contoh server baru Vultr Debian 9 x64 dengan memori minimal 4GB. 8GB atau lebih direkomendasikan untuk melayani hingga 100 pengguna. Katakan alamat IPv4-nya 203.0.113.1.
  • Seorang pengguna sudo .
  • Domain gitlab.example.comdiarahkan ke instance yang disebutkan di atas.

Catatan: Saat menggunakan instance server Anda sendiri, pastikan untuk mengganti semua nilai contoh dengan nilai aktual.

Langkah 1: Lakukan tugas dasar untuk hosting GitLab CE

Jalankan terminal SSH, dan masuk ke instance server Debian 9 x64 Anda sebagai pengguna sudo.

Tambahkan partisi swap dan atur pengaturan swappiness

Saat menggunakan GitLab CE 11.x pada mesin dengan memori 4GB, diperlukan untuk menyiapkan partisi swap 4GB agar berjalan lancar.

sudo dd if=/dev/zero of=/swapfile count=4096 bs=1M
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile   none    swap    sw    0   0' | sudo tee -a /etc/fstab
free -m

Catatan: Jika Anda menggunakan ukuran server yang berbeda, ukuran partisi swap dapat bervariasi.

Untuk tujuan kinerja sistem, disarankan untuk mengkonfigurasi pengaturan swappiness kernel ke nilai yang rendah seperti 10:

echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
cat /proc/sys/vm/swappiness

Output dari catperintah tersebut adalah 10.

Atur nama host mesin dan nama domain yang memenuhi syarat (FQDN)

Gunakan perintah berikut untuk mengatur nama host gitlab,, dan FQDN gitlab.example.com,, untuk mesin:

sudo hostnamectl set-hostname gitlab
sudo sed -i "1 i\203.0.113.1 gitlab.example.com gitlab" /etc/hosts

Anda dapat mengkonfirmasi hasilnya:

hostname
hostname -f

Atur aturan firewall

Menyiapkan aturan firewall yang wajar untuk menjalankan situs web:

sudo iptables -F
sudo iptables -X
sudo iptables -Z
sudo iptables -A INPUT -s $(echo $(w -h ${USER}) | cut -d " " -f3) -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -d 127.0.0.0/8 -j REJECT
sudo iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
sudo iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
sudo iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
sudo iptables -P INPUT DROP
sudo iptables -P OUTPUT ACCEPT
sudo iptables -P FORWARD DROP

Semua pengaturan di atas akan segera berlaku. Gunakan perintah berikut untuk mendaftar mereka untuk ditinjau:

sudo iptables -L -n

Gunakan iptable-persistentalat ini untuk menyimpan semua aturan iptables yang ada dalam file /etc/iptables/rules.v4, membuat semua aturan iptables tetap ada:

sudo apt install -y iptables-persistent

Selama instalasi, Anda akan ditanya apakah Anda ingin menyimpan aturan IPv4 / IPv6 saat ini. Tekan ENTERdua kali untuk menyimpan aturan IPv4 dan IPv6 saat ini ke /etc/iptables/rules.v4dan /etc/iptables/rules.v6.

Jika Anda mencoba memperbarui aturan IPv4 nanti, gunakan yang berikut untuk menyimpan pembaruan Anda:

sudo bash -c 'iptables-save > /etc/iptables/rules.v4'

Perbarui sistem

sudo apt update
sudo apt upgrade -y && sudo shutdown -r now

Ketika sistem menyala dan berjalan kembali, masuk kembali sebagai pengguna sudo yang sama untuk melanjutkan.

Langkah 2: Instal dependensi yang diperlukan

Sebelum menginstal GitLab CE, Anda harus menginstal dependensi yang diperlukan:

sudo apt install -y curl openssh-server ca-certificates

Juga, jika Anda ingin menggunakan Postfix untuk mengirim pesan notifikasi, Anda perlu menginstal Postfix:

sudo apt install -y postfix

Selama instalasi, layar konfigurasi mungkin muncul:

  1. Tekan TABuntuk menyorot <OK>tombol di layar pertama, lalu tekan ENTER.
  2. Pilih Internet Sitedan tekan ENTER.
  3. Untuk mail nameisian, masukkan FQDN server Anda gitlab.example.com,, dan tekan ENTER.
  4. Jika layar lain muncul, tekan ENTERuntuk menerima pengaturan default.

Mulai dan aktifkan layanan Postfix:

sudo systemctl enable postfix.service
sudo systemctl start postfix.service

Ubah aturan firewall untuk Postfix:

sudo iptables -A INPUT -i eth0 -p tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -i eth0 -p tcp --dport 143 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -i eth0 -p tcp --dport 993 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -i eth0 -p tcp --dport 110 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -i eth0 -p tcp --dport 995 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo bash -c 'iptables-save > /etc/iptables/rules.v4'

Setelah Postfix diinstal, Anda perlu mengkonfigurasi Postfix dengan mengedit file konfigurasi utamanya /etc/postfix/main.cfsesuai dengan pengaturan server Anda yang sebenarnya.

Catatan: Selain instruksi di atas, Anda perlu mengirimkan tiket dukungan untuk membatalkan blok default Vultr pada port SMTP 25.

Atau, jika Anda ingin menggunakan solusi perpesanan lain, lewati saja menginstal Postfix dan pilih untuk menggunakan server SMTP eksternal setelah GitLab CE diinstal.

Langkah 3: Atur repo GitLab APT dan kemudian instal GitLab CE

Atur repositori GitLab CE APT di sistem Anda:

cd
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

Selanjutnya, instal GitLab CE 11.x:

sudo EXTERNAL_URL="http://gitlab.example.com" apt install -y gitlab-ce

Instalasi mungkin memakan waktu cukup lama.

Terakhir, arahkan browser web favorit Anda ke http://gitlab.example.com, dan kemudian kirimkan kata sandi baru seperti yang diminta untuk menyelesaikan instalasi.

Mulai sekarang, gunakan kredensial di bawah ini untuk masuk sebagai administrator:

  • Nama pengguna: root
  • Kata sandi: <your-new-password>

Langkah 4: Aktifkan akses HTTPS dengan mengintegrasikan sertifikat SSL Mari Kita Enkripsi

Untuk saat ini, Anda telah berhasil menginstal GitLab CE 11.x di server Anda, dan pengguna sudah dapat mengunjungi situs menggunakan protokol HTTP. Untuk tujuan keamanan, disarankan untuk mengaktifkan akses HTTPS ke server GitLab Anda dengan mengintegrasikan sertifikat SSL Enkripsi Ayo.

Gunakan vieditor untuk membuka file konfigurasi GitLab CE:

sudo vi /etc/gitlab/gitlab.rb

Temukan dua baris berikut:

external_url 'http://gitlab.example.com'
# letsencrypt['contact_emails'] = [] # This should be an array of email addresses to add as contacts

Ganti sesuai dengan itu:

external_url 'https://gitlab.example.com'
letsencrypt['contact_emails'] = ['[email protected]']

Simpan dan keluar:

:wq!

Mengkonfigurasi ulang GitLab CE menggunakan pengaturan yang diperbarui:

sudo gitlab-ctl reconfigure

Konfigurasi ulang mungkin perlu waktu.

Setelah konfigurasi ulang selesai, semua pengguna akan dipaksa untuk menggunakan protokol HTTPS ketika mengakses situs GitLab.

Catatan: Setelah beralih dari HTTP ke HTTPS, cookie lawas dapat menyebabkan kesalahan GitLab 422. Menghapus cookie memperbaiki masalah ini.



Leave a Comment

Siapkan Berbagi NFS di Debian

Siapkan Berbagi NFS di Debian

NFS adalah sistem file berbasis jaringan yang memungkinkan komputer untuk mengakses file di seluruh jaringan komputer. Panduan ini menjelaskan bagaimana Anda dapat mengekspos folder melalui NF

Menggunakan Tampilan MySQL pada Debian 7

Menggunakan Tampilan MySQL pada Debian 7

Pendahuluan MySQL memiliki fitur hebat yang dikenal sebagai tampilan. Tampilan adalah kueri yang disimpan. Pikirkan mereka sebagai alias untuk permintaan yang panjang. Dalam panduan ini,

Cara Memasang Thelia 2.3 pada Debian 9

Cara Memasang Thelia 2.3 pada Debian 9

Menggunakan Sistem yang Berbeda? Thelia adalah alat sumber terbuka untuk membuat situs web e-bisnis dan mengelola konten online yang ditulis dalam PHP. Kode sumber thelia i

Menyiapkan Chroot di Debian

Menyiapkan Chroot di Debian

Artikel ini akan mengajarkan Anda cara mengatur chroot jail di Debian. Saya berasumsi bahwa Anda menggunakan Debian 7.x. Jika Anda menjalankan Debian 6 atau 8, ini mungkin berhasil, bu

Cara Memasang PiVPN pada Debian

Cara Memasang PiVPN pada Debian

Pendahuluan Cara mudah untuk menyiapkan server VPN pada Debian adalah dengan PiVPN. PiVPN adalah penginstal dan pembungkus untuk OpenVPN. Ini menciptakan perintah sederhana untuk Anda

Instal Nginx, Wordpress, dan Mari Mengenkripsi dalam Menit dengan EasyEngine di Debian 8 atau Ubuntu 16.04

Instal Nginx, Wordpress, dan Mari Mengenkripsi dalam Menit dengan EasyEngine di Debian 8 atau Ubuntu 16.04

EasyEngine (ee) adalah alat Python yang memungkinkan Anda untuk mengelola situs Wordpress di Nginx dengan mudah dan otomatis. Menggunakan EasyEngine, Anda tidak perlu dea

Cara Memasang BlogoText CMS pada Debian 9 LAMP VPS

Cara Memasang BlogoText CMS pada Debian 9 LAMP VPS

Menggunakan Sistem yang Berbeda? BlogoText CMS adalah Content Management System (CMS) yang sederhana dan ringan, gratis, dan engine blog minimalis

Cara Memasang InvoicePlane di Debian 9

Cara Memasang InvoicePlane di Debian 9

Menggunakan Sistem yang Berbeda? InvoicePlane adalah aplikasi faktur sumber terbuka dan gratis. Kode sumbernya dapat ditemukan di repositori Github ini. Panduan ini

Cara Memasang Backdrop CMS 1.8.0 pada Debian 9 LAMP VPS

Cara Memasang Backdrop CMS 1.8.0 pada Debian 9 LAMP VPS

Menggunakan Sistem yang Berbeda? Backdrop CMS 1.8.0 adalah Content Management System (CMS) yang sederhana dan fleksibel, ramah seluler, gratis dan terbuka yang memungkinkan kami

Cara Memasang BookStack pada Debian 9

Cara Memasang BookStack pada Debian 9

Menggunakan Sistem yang Berbeda? BookStack adalah platform sederhana, self-host, mudah digunakan untuk mengatur dan menyimpan informasi. BookStack sepenuhnya gratis dan terbuka

Cara Memasang Pagekit 1.0 CMS pada Debian 9 LAMP VPS

Cara Memasang Pagekit 1.0 CMS pada Debian 9 LAMP VPS

Menggunakan Sistem yang Berbeda? Pagekit 1.0 CMS adalah Content Management System (CMS) yang indah, modular, dapat diperpanjang dan ringan, dengan

Alat Pemantauan Yang Lebih Baik Untuk Ubuntu Dan CentOS

Alat Pemantauan Yang Lebih Baik Untuk Ubuntu Dan CentOS

Pendahuluan Sistem Linux dilengkapi dengan alat pemantauan secara default seperti top, df, dan du yang membantu memonitor proses dan ruang disk. Namun sering kali, mereka ar

Pantau Status Server Debian dengan Munin

Pantau Status Server Debian dengan Munin

Munin adalah alat pemantauan untuk mensurvei proses dan sumber daya di mesin Anda dan menyajikan informasi dalam grafik melalui antarmuka web. Gunakan tindak lanjutnya

Cara Mengaktifkan TLS 1.3 di Apache pada Debian 10

Cara Mengaktifkan TLS 1.3 di Apache pada Debian 10

Menggunakan Sistem yang Berbeda? TLS 1.3 adalah versi protokol Transport Layer Security (TLS) yang diterbitkan pada 2018 sebagai standar yang diusulkan dalam RFC 8446

Cara Memasang PyroCMS di Debian 9

Cara Memasang PyroCMS di Debian 9

Menggunakan Sistem yang Berbeda? PyroCMS adalah CMS open source yang ditulis dalam PHP. Kode sumber PyroCMS dihosting di GitHub. Dalam panduan ini berjalan dengan baik melalui keseluruhan

Cara Memasang Redaxscript 3.2 CMS pada VPS Debian 9 LAMP

Cara Memasang Redaxscript 3.2 CMS pada VPS Debian 9 LAMP

Menggunakan Sistem yang Berbeda? Redaxscript 3.2 CMS adalah Content Management System (CMS) yang modern dan sangat ringan, gratis dan open source dengan roket

Tambahkan Kisaran Alamat IP ke Server Anda (CentOS / Ubuntu / Debian)

Tambahkan Kisaran Alamat IP ke Server Anda (CentOS / Ubuntu / Debian)

Pendahuluan Dalam tutorial ini, kita akan membahas proses menambahkan seluruh rentang IP / subnet ke server Linux yang menjalankan CentOS, Debian, atau Ubuntu. Prosesnya

Menyiapkan Counter Strike: Sumber di Debian

Menyiapkan Counter Strike: Sumber di Debian

Dalam panduan ini, kami akan menyiapkan Counter Strike: Server game sumber pada Debian 7. Perintah ini diuji pada Debian 7 tetapi perintah itu juga harus berfungsi

Instal PBX dalam Flash 5 pada Debian 8

Instal PBX dalam Flash 5 pada Debian 8

PBX In A Flash 5 (PIAF5) adalah sistem operasi berbasis Debian 8 yang mengubah Vultr VPS Anda menjadi PBX yang lengkap. Ia memiliki fitur berikut, dan banyak lagi.

Cara Memasang Dolibarr di Debian 9

Cara Memasang Dolibarr di Debian 9

Menggunakan Sistem yang Berbeda? Dolibarr adalah perencanaan sumber daya perusahaan sumber terbuka (ERP) dan manajemen hubungan pelanggan (CRM) untuk bisnis. Dolibarr

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

6 Hal yang Sangat Menggila dari Nintendo Switch

6 Hal yang Sangat Menggila dari Nintendo Switch

Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.

Janji Teknologi Yang Masih Belum Ditepati

Janji Teknologi Yang Masih Belum Ditepati

Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.

Pembaruan Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Masalah Daripada Menyelesaikan

Pembaruan Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Masalah Daripada Menyelesaikan

Baru-baru ini Apple merilis macOS Catalina 10.15.4 pembaruan suplemen untuk memperbaiki masalah tetapi tampaknya pembaruan menyebabkan lebih banyak masalah yang mengarah ke bricking mesin mac. Baca artikel ini untuk mempelajari lebih lanjut