ฉันพยายามติดตั้ง GitLab (EE) บนพีซีเซิร์ฟเวอร์แบบเปลือยภายในองค์กรที่ใช้ Ubuntu Server 20.04 แต่ล้มเหลว เซิร์ฟเวอร์มีไว้สำหรับการเข้าถึงอินเทอร์เน็ตในภายหลัง แต่สำหรับตอนนี้จำเป็นต้องเป็น LAN ภายในเท่านั้น เข้าถึงได้โดย IP หรือชื่อโฮสต์หากเป็นไปได้ ขณะนี้พีซีได้รับการตั้งค่าด้วย IP ภายในแบบคงที่ผ่าน netplan เราไม่ได้สงวนชื่อโดเมนสำหรับเซิร์ฟเวอร์นี้หรือใบรับรอง SSL ในขณะนี้
ฉันได้ตั้งค่าเซิร์ฟเวอร์ Git ที่ใช้งานได้บนเครื่องด้วยการเข้าถึงสำเร็จผ่าน SSH และผ่าน HTTP (Apache2 จากนั้นเปลี่ยนเป็น Nginx) เป้าหมายของฉันคือการตั้งค่า GitLab บนเครื่องที่ทำงานขนานกับเซิร์ฟเวอร์ Git ที่มีอยู่
หลังจากทำให้ Nginx ทำงานได้อย่างถูกต้องเมื่อวานนี้ ฉันพยายามติดตั้ง GitLab ผ่าน Omnibus โดยใช้ขั้นตอนที่อธิบายไว้ใน หน้าติดตั้ง GitLab อย่างเป็นทางการสำหรับ Ubuntuอันดับแรก ขด
เพิ่มที่เก็บแล้วเรียกใช้ EXTERNAL_URL="http://10.7.2.xxx" apt ติดตั้ง gitlab-ee
(IP ภายใน แต่ถูกเซ็นเซอร์ในกรณี) กระบวนการเสร็จสิ้นโดยไม่มีข้อผิดพลาด แต่เมื่อพยายามเชื่อมต่อกับเซิร์ฟเวอร์ด้วย URL นั้น ฉันได้รับเพียง 403 จาก Nginx ฉันสงสัยว่านี่เป็นเพราะ Nginx ทำงานก่อนหน้านี้สำหรับ Git ธรรมดา /srv/www/git
. ฉันพยายามที่จะลบมันด้วย apt ลบ gitlab-ee
ตามด้วยการลบไดเร็กทอรีที่เหลือที่ /etc/gitlab
, /var/opt/gitlab
, /opt/gitlab
, และ /var/log/gitlab
. ตอนนั้นฉันไม่รู้ว่าการถอนการติดตั้ง GitLab นั้นผิดวิธี
เช้านี้ฉันพยายามติดตั้งใหม่ ก่อนอื่นฉันหยุดและปิดการใช้งาน Nginx ด้วย systemctl
สำรองข้อมูลการกำหนดค่าของฉันโดยย้ายออกจาก /etc/nginx/enabled-sites
ลงในโฮมไดเร็กทอรีของฉัน จากนั้นถอนการติดตั้งด้วย ฉลาด ลบ nginx
. หลังจากรีบูตและยืนยันว่าทั้ง Apache2 และไม่ได้ทำงานอยู่ ฉันพยายามติดตั้ง GitLab ใหม่ด้วย ฉลาดติดตั้ง gitlab-ee
อีกครั้ง. มันเสร็จสิ้นอย่างรวดเร็วโดยไม่คาดคิดเนื่องจากดูเหมือนว่าทรัพยากรยังคงอยู่ในระบบ การเชื่อมต่อจากเบราว์เซอร์ล้มเหลวโดยสิ้นเชิง ไม่มีการเชื่อมต่อเลย
ฉันพยายามติดตั้งใหม่อีกครั้ง ครั้งนี้ถอนการติดตั้ง GitLab ทั้งหมดด้วยคำสั่งต่อไปนี้:
# ถอนการติดตั้ง gitlab-ctl
# ทำความสะอาด gitlab-ctl
# gitlab-ctl ลบบัญชี
# dpkg -P gitlab-ee
การลบบัญชีหยุดทำงานเป็นเวลา 10 นาทีโดยไม่มีผลลัพธ์ ดังนั้นฉันจึงต้องทำ ^ซี
มัน. หลังจากถอดด้วย dpkg
จากนั้นฉันก็ลบไดเร็กทอรีสี่รายการเหมือนเดิม /opt/gitlab
และ /var/log/gitlab
ยังคงอยู่
หลังจากถอนการติดตั้งแบบสะอาดหมดจด ฉันรีบูทและลองสิ่งที่คิดว่าเป็นการติดตั้งใหม่ทั้งหมด มันแขวนอยู่บน * ruby_block [รอสำหรับล็อกโรเตทเซอร์วิสซ็อกเก็ต] ดำเนินการ
อย่างไม่รู้จบเป็นเวลากว่าหนึ่งชั่วโมง การวิจัยชี้ไปที่การเปิดเทอร์มินัลอื่นและเรียกใช้คำสั่งต่อไปนี้ในขณะที่รถโดยสารหยุดทำงาน:
# nohup /opt/gitlab/embedded/bin/runsvdir-start &
# gitlab-ctl กำหนดค่าใหม่
ไม่ได้ผล gitlab-ctl กำหนดค่าใหม่
ค้างอยู่ 10 นาทีก่อนที่ฉันจะยอมแพ้ และ Omnibus ที่อีกเทอร์มินอลก็ไม่ดำเนินการต่อ มันจะไม่ตอบสนองด้วยซ้ำ ^ซี
. ฉันต้องบังคับให้รีบูตจากเซสชันอื่น และพยายามถอนการติดตั้ง "สะอาด" รีบูต และติดตั้งใหม่อีกครั้ง
ถอนการติดตั้งครั้งนี้ไม่มีปัญหาใดๆ ลบบัญชี
(บันทึก Pastebin, ชื่อผู้ใช้, ชื่อโฮสต์, IP เซ็นเซอร์). อย่างไรก็ตามอีกครั้งที่แขวนอยู่ที่ เข้าสู่ระบบ
เป็นเวลากว่าชั่วโมงอีกครั้งและไม่ตอบสนองอีกครั้ง ^ซี
. เอาต์พุต Pastebin, บันทึก Pastebin จาก /var/log/gitlab/reconfigure/1636492507.log.
สิ่งที่ไม่ได้แก้ปัญหาของฉัน:
systemctl เริ่ม logrotate.service
(หยุด/จบทันที, รอตัวจับเวลา), logrotate.จับเวลา
(กำลังทำงานอยู่) ไม่มีการตอบสนองจาก Omnibus เมื่อเริ่มต้นเช่นกัน
- วิ่ง
runvdir-เริ่ม
และ gitlab-ctl กำหนดค่าใหม่
(ดูด้านบน)
- วิ่ง
หาง gitlab-ctl
(พ่น หาง: ไม่สามารถตามด้วย '-' ตามชื่อ
)
หลาย user.target
โหลดและใช้งานได้ตาม systemctl -t เป้าหมาย
.
ผลลัพธ์อื่นๆ ทั้งหมดที่ฉันพบนั้นเกี่ยวข้องกับลักษณะเฉพาะของ GitLab ที่ล้มเหลว แทนที่จะเป็นการติดตั้งครั้งแรก ฉันนิ่งงันและไม่พบสิ่งอื่นที่เกี่ยวข้อง ฉันจะทำอย่างไร