Cách cài đặt GitLab Community Edition (CE) 11.x trên CentOS 7

Kể từ khi GitHub được Microsoft mua lại, khá nhiều nhà phát triển đã lên kế hoạch chuyển kho mã riêng của họ từ github.com sang một giải pháp tự lưu trữ thay thế. GitLab Community Edition (CE) là lựa chọn phổ biến nhất.

* Những thứ cần chuẩn bị:

  • VPS CentOS 7 với bộ nhớ ít nhất 4GB
  • Tài khoản có quyền sudo

Bước 1: Thực hiện các tác vụ cơ bản để lưu trữ GitLab CE

Kích hoạt thiết bị đầu cuối SSH và đăng nhập vào phiên bản máy chủ CentOS 7 của bạn với tư cách là người dùng sudo.

Bước 2:  Thêm phân vùng hoán đổi và chỉnh sửa cài đặt swappiness
Khi triển khai GitLab CE 11.x trên máy có bộ nhớ 4GB, bạn phải thiết lập phân vùng hoán đổi 4GB để chạy trơn tru.

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

Đối với mục đích hiệu suất hệ thống, bạn nên định cấu hình cài đặt swappiness thành giá trị thấp như 10:

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

Đầu ra của lệnh sẽ là 10.

Bước 3. Thiết lập tên máy chủ của máy và tên miền đủ điều kiện (FQDN)

Sử dụng các lệnh sau để thiết lập tên máy chủ gitlab và FQDN gitlab.example.com cho máy:

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

Bạn có thể xác nhận kết quả:

hostname
hostname -f

Cho phép lưu lượng HTTP và HTTPS đến:

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

Cài đặt repo EPEL YUM và sau đó cập nhật hệ thống:

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

Khi hệ thống hoạt động trở lại, hãy đăng nhập lại với tư cách là người dùng sudo tương tự để tiếp tục.

Trước khi cài đặt GitLab CE:

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

Nếu bạn muốn sử dụng Postfix để gửi tin nhắn thông báo, bạn cần cài đặt Postfix và sửa đổi các quy tắc tường lửa như sau:

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

Sau khi cài đặt Postfix, bạn cần định cấu hình Postfix bằng cách chỉnh sửa tệp cấu hình chính của nó /etc/postfix/main.cf phù hợp với cài đặt máy chủ thực tế của bạn.

Bước 4: Thiết lập repo GitLab RPM và sau đó cài đặt GitLab CE

Thiết lập kho lưu trữ GitLab CE RPM trên hệ thống của bạn:

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

Tiếp theo, cài đặt GitLab CE 11.x:

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

Cuối cùng, trỏ trình duyệt web yêu thích của bạn tới http://gitlab.example.com, rồi hoàn tất cài đặt.Từ bây giờ, hãy sử dụng thông tin đăng nhập dưới đây để đăng nhập với tư cách quản trị viên:

Tên tài khoản: root
Mật khẩu: <your-new-password>

Bước 5: Bật quyền truy cập HTTPS bằng cách tích hợp chứng chỉ SSL Let’s Encrypt

Sử dụng vitrình chỉnh sửa để mở tệp cấu hình GitLab CE:

sudo vi /etc/gitlab/gitlab.rb

Tìm hai dòng sau:

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

Thay thế chúng cho phù hợp:

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

Lưu và thoát:

:wq!

Chạy lệnh sau để định cấu hình lại GitLab CE bằng cài đặt đã cập nhật:

sudo gitlab-ctl reconfigure

Việc cấu hình lại sẽ mất một lúc.

Sau khi cấu hình lại hoàn tất, tất cả người dùng sẽ buộc phải sử dụng giao thức HTTPS khi truy cập trang GitLab.

Lưu ý: Sau khi chuyển từ HTTP sang HTTPS, cookie cũ có thể gây ra lỗi GitLab 422. Xóa cookie sẽ khắc phục sự cố này.

 

Be the first to comment

Leave a Reply

Your email address will not be published.


*