วิธีติดตั้ง GitLab Community Edition (CE) 11.x บน CentOS 7

เนื่องจาก GitHub ถูกซื้อโดย Microsoft นักพัฒนาซอฟต์แวร์บางรายได้วางแผนที่จะย้ายที่เก็บรหัสของตนเองจาก github.com ไปยังโซลูชันที่โฮสต์ด้วยตนเองทางเลือก GitLab Community Edition (CE) เป็นตัวเลือกที่ใช้กันมากที่สุด ในฐานะที่เป็นโซลูชั่นที่ซับซ้อนและยืดหยุ่นได้ GitLab CE สามารถปรับใช้โดยใช้วิธีการต่าง ๆ แต่จะมีเพียงวิธีการแนะนำอย่างเป็นทางการเท่านั้นคือการติดตั้งแพ็คเกจ Omnibus เท่านั้น

ข้อกำหนดเบื้องต้น

  • อินสแตนซ์เซิร์ฟเวอร์ Vultr CentOS 7 ที่สดใหม่พร้อมหน่วยความจำอย่างน้อย 4GB แนะนำให้ใช้ 8GB หรือมากกว่าสำหรับผู้ใช้งานสูงสุด 100 ราย บอกว่าอยู่ IPv4 203.0.113.1ของมันคือ
  • sudo ผู้ใช้
  • โดเมนที่gitlab.example.comถูกชี้ไปยังอินสแตนซ์ดังกล่าวข้างต้น

หมายเหตุ: เมื่อปรับใช้บนอินสแตนซ์เซิร์ฟเวอร์ของคุณเองโปรดแทนที่ค่าตัวอย่างทั้งหมดด้วยค่าจริง

ขั้นตอนที่ 1: ทำงานพื้นฐานสำหรับการโฮสต์ GitLab CE

เปิดใช้งานเทอร์มินัล SSH และลงชื่อเข้าใช้อินสแตนซ์เซิร์ฟเวอร์ CentOS 7 ของคุณในฐานะผู้ใช้ sudo

เพิ่ม swap partition และปรับแต่งการตั้งค่า swappiness

เมื่อปรับใช้ GitLab CE 11.x บนเครื่องที่มีหน่วยความจำ 4GB ต้องทำการติดตั้งพาร์ติชั่น swap 4GB เพื่อการใช้งานที่ราบรื่น

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

หมายเหตุ: หากคุณใช้เซิร์ฟเวอร์ขนาดอื่นขนาดของพาร์ติชัน swap อาจแตกต่างกัน

เพื่อวัตถุประสงค์ด้านประสิทธิภาพของระบบขอแนะนำให้กำหนดการตั้งค่า swappiness ของเคอร์เนลให้มีค่าต่ำเช่น10:

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

ผลลัพธ์ของคำสั่งจะเป็นcat10

ตั้งค่าชื่อโฮสต์ของเครื่องและชื่อโดเมนแบบเต็ม (FQDN)

ใช้คำสั่งต่อไปนี้เพื่อตั้งค่าชื่อโฮสต์gitlabและ FQDN gitlab.example.comสำหรับเครื่อง:

sudo hostnamectl set-hostname gitlab
cat <<EOF | sudo tee /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
203.0.113.1 gitlab.example.com gitlab
EOF

คุณสามารถยืนยันผลลัพธ์:

hostname
hostname -f

ปรับเปลี่ยนกฎไฟร์วอลล์

อนุญาตการรับส่งข้อมูล HTTP และ HTTPS ขาเข้า:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld.service

ติดตั้ง repo EPEL YUM แล้วอัปเดตระบบ

sudo yum install -y epel-release
sudo yum -y update && sudo shutdown -r now

เมื่อระบบกลับมาทำงานอีกครั้งให้ลงชื่อเข้าใช้ด้วยชื่อเดิมของผู้ใช้ sudo

ขั้นตอนที่ 2: ติดตั้งการพึ่งพาที่จำเป็น

ก่อนที่จะติดตั้ง GitLab CE คุณจะต้องติดตั้งการพึ่งพาที่จำเป็น:

sudo yum install -y curl policycoreutils-python openssh-server openssh-clients

นอกจากนี้หากคุณต้องการใช้ Postfix เพื่อส่งข้อความแจ้งเตือนคุณต้องติดตั้ง Postfix และแก้ไขกฎไฟร์วอลล์ดังนี้:

sudo yum install -y postfix
sudo systemctl enable postfix.service
sudo systemctl start postfix.service
sudo firewall-cmd --permanent --add-service=smtp
sudo firewall-cmd --permanent --add-service=pop3
sudo firewall-cmd --permanent --add-service=imap
sudo firewall-cmd --permanent --add-service=smtps
sudo firewall-cmd --permanent --add-service=pop3s
sudo firewall-cmd --permanent --add-service=imaps
sudo firewall-cmd --reload

เมื่อติดตั้ง Postfix คุณจะต้องกำหนดค่า Postfix โดยแก้ไขไฟล์กำหนดค่าหลัก/etc/postfix/main.cfตามการตั้งค่าเซิร์ฟเวอร์จริงของคุณ

หมายเหตุ: นอกเหนือจากคำแนะนำข้างต้นคุณต้องส่งตั๋วสนับสนุนเพื่อยกเลิกบล็อกเริ่มต้นของ Vultr บนพอร์ต SMTP 25

หรือหากคุณต้องการใช้โซลูชันการส่งข้อความอื่นเพียงแค่ข้ามการติดตั้ง Postfix และเลือกใช้เซิร์ฟเวอร์ SMTP ภายนอกหลังจากติดตั้ง GitLab CE แล้ว

ขั้นตอนที่ 3: ตั้���ค่า repo GitLab RPM แล้วติดตั้ง GitLab CE

ตั้งค่าที่เก็บ GitLab CE RPM ในระบบของคุณ:

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

ถัดไปติดตั้ง GitLab CE 11.x:

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

การติดตั้งอาจใช้เวลาสักครู่

สุดท้ายให้ชี้เว็บเบราว์เซอร์ที่คุณโปรดปรานไปhttp://gitlab.example.comจากนั้นส่งรหัสผ่านใหม่ตามที่ระบบแจ้งเพื่อให้การติดตั้งเสร็จ

จากนี้ไปใช้ข้อมูลประจำตัวด้านล่างเพื่อเข้าสู่ระบบในฐานะผู้ดูแลระบบ:

  • ชื่อผู้ใช้: root
  • รหัสผ่าน: <your-new-password>

ขั้นตอนที่ 4: เปิดใช้งานการเข้าถึง HTTPS โดยรวมใบรับรอง Let's Encrypt SSL

ในตอนนี้คุณได้ติดตั้ง GitLab CE 11.x สำเร็จแล้วบนเซิร์ฟเวอร์ของคุณและผู้ใช้สามารถเยี่ยมชมเว็บไซต์โดยใช้โปรโตคอล HTTP เพื่อความปลอดภัยขอแนะนำให้เปิดใช้งานการเข้าถึง HTTPS ไปยังเซิร์ฟเวอร์ GitLab ของคุณโดยการรวมใบรับรอง Let's Encrypt SSL

ใช้viเครื่องมือแก้ไขเพื่อเปิดไฟล์กำหนดค่า GitLab CE:

sudo vi /etc/gitlab/gitlab.rb

ค้นหาสองบรรทัดต่อไปนี้:

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

แทนที่พวกเขาตาม:

external_url 'https://gitlab.example.com'
letsencrypt['contact_emails'] = ['admin@example.com']

บันทึกและออก:

:wq!

เรียกใช้คำสั่งต่อไปนี้เพื่อกำหนดค่า GitLab CE ใหม่โดยใช้การตั้งค่าที่อัปเดต:

sudo gitlab-ctl reconfigure

การกำหนดค่าใหม่จะใช้เวลาสักครู่

หลังจากเสร็จสิ้นการกำหนดค่าใหม่ผู้ใช้ทั้งหมดจะถูกบังคับให้ใช้โปรโตคอล HTTPS เมื่อเข้าถึงไซต์ GitLab

หมายเหตุ: หลังจากเปลี่ยนจาก HTTP เป็น HTTPS คุกกี้ดั้งเดิมอาจทำให้เกิดข้อผิดพลาด GitLab 422 การล้างคุกกี้แก้ไขปัญหานี้

ฝากความเห็น

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true