Cara Pasang Edisi Komuniti GitLab (CE) 11.x pada Debian 9

Sejak GitHub diperolehi oleh Microsoft, beberapa pemaju telah merancang untuk memindahkan repositori kod mereka sendiri dari github.com kepada penyelesaian sendiri yang dihoskan alternatif. Edisi Komuniti GitLab (CE) adalah pilihan yang paling umum.

Sebagai penyelesaian yang canggih dan fleksibel, GitLab CE boleh digunakan menggunakan pelbagai kaedah, tetapi hanya kaedah yang disyorkan secara rasmi, pemasangan pakej Omnibus, akan dibincangkan di sini.

Prasyarat

  • Contoh pelayan Vultr Debian 9 x64 segar dengan memori sekurang-kurangnya 4GB. 8GB atau lebih disyorkan untuk berkhidmat sehingga 100 pengguna. Katakan alamat IPv4nya adalah 203.0.113.1.
  • Pengguna sudo .
  • Satu domain gitlab.example.comyang menunjuk ke arah contoh yang disebutkan di atas.

Nota: Apabila menggunakan contoh pelayan anda sendiri, pastikan anda menggantikan semua nilai contoh dengan yang sebenar.

Langkah 1: Lakukan tugas asas untuk hosting GitLab CE

Nyalakan terminal SSH, dan log masuk ke contoh server Debian 9 x64 anda sebagai pengguna sudo.

Tambah partition swap dan tweak setting swappiness

Apabila menggunakan GitLab CE 11.x pada mesin dengan memori 4GB, ia diperlukan untuk menyediakan partition swap 4GB untuk 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

Nota: Sekiranya anda menggunakan saiz server yang berbeza, saiz partition swap mungkin berbeza-beza.

Untuk tujuan prestasi sistem, disarankan untuk mengkonfigurasi tetapan swap ke 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 catperintah itu akan 10.

Persediaan nama hos mesin dan nama domain yang memenuhi syarat (FQDN)

Gunakan arahan berikut untuk menyediakan 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 boleh mengesahkan hasilnya:

hostname
hostname -f

Siapkan peraturan firewall

Sediakan peraturan firewall munasabah untuk menjalankan laman 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 tetapan di atas akan berkuatkuasa serta merta. Gunakan perintah berikut untuk menyenaraikannya untuk semakan:

sudo iptables -L -n

Gunakan iptable-persistentalat untuk menyelamatkan semua peraturan iptables sedia ada dalam fail /etc/iptables/rules.v4, membuat semua peraturan iptables tetap:

sudo apt install -y iptables-persistent

Semasa pemasangan, anda akan ditanya sama ada anda mahu menyimpan peraturan IPv4 / IPv6 semasa. Tekan ENTERdua kali untuk menyimpan kedua-dua peraturan IPv4 dan IPv6 semasa ke /etc/iptables/rules.v4dan /etc/iptables/rules.v6.

Jika anda cuba mengemas kini peraturan IPv4 nanti, gunakan yang berikut untuk menyimpan kemas kini anda:

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

Kemas kini sistem

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

Apabila sistem dihidupkan dan berjalan semula, log masuk kembali sebagai pengguna sudo yang sama untuk meneruskannya.

Langkah 2: Pasang dependensi yang diperlukan

Sebelum memasang GitLab CE, anda perlu memasang pergantungan yang diperlukan:

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

Juga, jika anda ingin menggunakan Postfix untuk mengirim mesej pemberitahuan, anda perlu memasang Postfix:

sudo apt install -y postfix

Semasa pemasangan, skrin konfigurasi mungkin muncul:

  1. Tekan TABuntuk menyerlahkan <OK>butang pada skrin pertama, dan kemudian tekan ENTER.
  2. Pilih Internet Sitedan tekan ENTER.
  3. Untuk mail namemedan, masukkan FQDN server anda,, gitlab.example.comdan tekan ENTER.
  4. Sekiranya skrin lain muncul, tekan ENTERuntuk menerima tetapan lalai.

Mulakan dan aktifkan perkhidmatan Postfix:

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

Ubah suai peraturan 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 dipasang, anda perlu mengkonfigurasi Postfix dengan mengedit fail konfigurasi utamanya /etc/postfix/main.cfsesuai dengan tetapan pelayan anda yang sebenarnya.

Nota: Sebagai tambahan kepada arahan di atas, anda perlu menghantar tiket sokongan untuk membatalkan blok lalai Vultr pada port SMTP 25.

Sebagai alternatif, jika anda ingin menggunakan penyelesaian pemesejan lain, langkau pasang Postfix dan pilih untuk menggunakan pelayan SMTP luaran setelah GitLab CE dipasang.

Langkah 3: Persediaan GtLab APT repo dan kemudian pasang GitLab CE

Persediaan repositori AP GitLab CE pada sistem anda:

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

Seterusnya, pasang GitLab CE 11.x:

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

Pemasangan mungkin mengambil sedikit masa.

Akhir sekali, arahkan pelayar web kegemaran anda http://gitlab.example.com, dan kemudian serahkan kata laluan baru seperti yang diminta untuk menyelesaikan pemasangan.

Mulai sekarang, gunakan kelayakan di bawah untuk log masuk sebagai pentadbir:

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

Langkah 4: Dayakan akses HTTPS dengan mengintegrasikan Sijil Sijil SSL

Buat masa ini, anda telah berjaya memasang GitLab CE 11.x pada contoh pelayan anda, dan pengguna sudah boleh mengunjungi laman web ini menggunakan protokol HTTP. Untuk tujuan keselamatan, disyorkan untuk membolehkan akses HTTPS ke pelayan GitLab anda dengan mengintegrasikan Sijil Encik Sijil SSL.

Gunakan vieditor untuk membuka fail konfigurasi CE GitLab:

sudo vi /etc/gitlab/gitlab.rb

Cari dua baris berikut:

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

Gantikannya dengan sewajarnya:

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

Simpan dan tutup:

:wq!

Kembalikan semula GitLab CE menggunakan tetapan yang dikemas kini:

sudo gitlab-ctl reconfigure

Penyusunan semula mungkin memerlukan sedikit masa.

Selepas konfigurasi semula selesai, semua pengguna akan terpaksa menggunakan protokol HTTPS semasa mengakses laman GitLab.

Nota: Selepas beralih dari HTTP ke HTTPS, kuki warisan boleh menyebabkan ralat GitLab 422. Mengosongkan kuki akan menyelesaikan masalah ini.



Sediakan NFS Share di Debian

Sediakan NFS Share di Debian

NFS adalah sistem fail berasaskan rangkaian yang membolehkan komputer mengakses fail di seluruh rangkaian komputer. Panduan ini menerangkan bagaimana anda boleh mendedahkan folder di atas NF

Menggunakan Paparan MySQL pada Debian 7

Menggunakan Paparan MySQL pada Debian 7

Pengenalan MySQL mempunyai ciri hebat yang dikenali sebagai pandangan. Paparan adalah pertanyaan yang disimpan. Anggap mereka sebagai alias untuk pertanyaan yang panjang. Dalam panduan ini,

Menyiapkan Chroot di Debian

Menyiapkan Chroot di Debian

Artikel ini akan mengajar anda cara menyediakan penjara chroot di Debian. Saya menganggap bahawa anda menggunakan Debian 7.x. Sekiranya anda menjalankan Debian 6 atau 8, ini mungkin berfungsi,

Cara Memasang PiVPN pada Debian

Cara Memasang PiVPN pada Debian

Pengenalan Cara mudah untuk menyediakan pelayan VPN di Debian adalah dengan PiVPN. PiVPN adalah pemasang dan pembungkus untuk OpenVPN. Ini membuat perintah mudah untuk anda

Pasang PBX dalam Flash 5 pada Debian 8

Pasang PBX dalam Flash 5 pada Debian 8

PBX In A Flash 5 (PIAF5) adalah sistem operasi berasaskan Debian 8 yang menjadikan Vultr VPS anda menjadi PBX lengkap. Ia mempunyai ciri-ciri berikut, dan banyak lagi.

Cara Membangun Brotli Dari Sumber pada Debian 9

Cara Membangun Brotli Dari Sumber pada Debian 9

Menggunakan Sistem Berbeza? Brotli adalah kaedah pemampatan baru dengan nisbah mampatan yang lebih baik daripada Gzip. Kod sumbernya dihoskan secara umum di Github. Thi

Pasang Lynis di Debian 8

Pasang Lynis di Debian 8

Pengenalan Lynis adalah alat audit sistem sumber terbuka yang percuma yang digunakan oleh banyak pentadbir sistem untuk mengesahkan integriti dan mengeraskan sistem mereka. Saya

Cara Memasang Neos CMS pada Debian 9

Cara Memasang Neos CMS pada Debian 9

Menggunakan Sistem Berbeza? Neos adalah Platform Aplikasi Kandungan dengan CMS dan kerangka aplikasi di terasnya. Panduan ini akan menunjukkan cara pemasangan

Cara Memasang InvoicePlane pada Debian 9

Cara Memasang InvoicePlane pada Debian 9

Menggunakan Sistem Berbeza? InvoicePlane adalah aplikasi invois sumber bebas dan terbuka. Kod sumbernya boleh didapati di repositori Github ini. Panduan ini

Cara Memasang BookStack pada Debian 9

Cara Memasang BookStack pada Debian 9

Menggunakan Sistem Berbeza? BookStack adalah platform yang mudah dihoskan sendiri, mudah digunakan untuk mengatur dan menyimpan maklumat. BookStack adalah percuma dan terbuka

Cara Pasang Matomo Analytics pada Debian 9

Cara Pasang Matomo Analytics pada Debian 9

Menggunakan Sistem Berbeza? Matomo (dahulunya Piwik) adalah platform analitik sumber terbuka, alternatif terbuka kepada Google Analytics. Sumber Matomo dihoskan o

Cara Memasang X-Cart 5 pada Debian 10

Cara Memasang X-Cart 5 pada Debian 10

Menggunakan Sistem Berbeza? X-Cart adalah platform eCommerce sumber terbuka yang sangat fleksibel dengan banyak ciri dan integrasi. Kod sumber X-Cart adalah hoste

Pantau Status Pelayan Debian dengan Munin

Pantau Status Pelayan Debian dengan Munin

Munin adalah alat pemantauan untuk meninjau proses dan sumber di mesin anda dan menyampaikan maklumat dalam grafik melalui antara muka web. Gunakan ikutan

Cara Memasang Pembaca RSS Tiny Tiny pada Debian 9 LAMP VPS

Cara Memasang Pembaca RSS Tiny Tiny pada Debian 9 LAMP VPS

Menggunakan Sistem Berbeza? Tiny Tiny RSS Reader adalah pembaca berita dan agregator suapan berita (RSS / Atom) berasaskan laman web bebas dan terbuka sumber bebas dan terbuka, yang direka untuk semua

Tambahkan Julat Alamat IP ke Pelayan Anda (CentOS / Ubuntu / Debian)

Tambahkan Julat Alamat IP ke Pelayan Anda (CentOS / Ubuntu / Debian)

Pengenalan Dalam tutorial ini, kita akan membahas proses penambahan keseluruhan rangkaian / subnet IP ke pelayan Linux yang menjalankan CentOS, Debian, atau Ubuntu. Proses

Menyiapkan Counter Strike: Sumber pada Debian

Menyiapkan Counter Strike: Sumber pada Debian

Dalam panduan ini, kami akan menyiapkan Counter Strike: Server permainan sumber di Debian 7. Perintah ini diuji pada Debian 7 tetapi mereka juga harus berfungsi

Cara Memasang Revolusi MODX pada VPS Debian 9 LAMP

Cara Memasang Revolusi MODX pada VPS Debian 9 LAMP

Menggunakan Sistem Berbeza? MODX Revolution adalah Sistem Pengurusan Kandungan (CMS) bertaraf perusahaan yang pantas, fleksibel, berskala, bebas dan terbuka, bertulis i

Cara Memasang Dolibarr pada Debian 9

Cara Memasang Dolibarr pada Debian 9

Menggunakan Sistem Berbeza? Dolibarr adalah perancangan sumber perusahaan sumber terbuka (ERP) dan pengurusan hubungan pelanggan (CRM) untuk perniagaan. Dolibarr

Pasang Mailcow pada Debian 7

Pasang Mailcow pada Debian 7

Pengenalan Mailcow adalah suite mailserver ringan berdasarkan pelbagai pakej, seperti DoveCot, Postfix dan banyak pakej sumber terbuka yang lain. Mailcow dll

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut