Triển khai Gitlab trên Centos

Centos Git

Gitlab là gì?

GitLab là một dự án mã nguồn mở với rất nhiều người phát triển trên toàn thế giới. Gitlab cung cấp dịch vụ lưu trữ nền web được dùng cho các mã nguồn lập trình và phát triển những dự án lập trình có sử dụng hệ thống kiểm soát Git revision tương tự như Bitbucket trên trang Gitlab.com Ngoài ra nếu bạn muốn Gitlab cũng cung cấp gói cài đặt để bạn có thể tự tải về và cài đặt lên máy chủ của bạn tại trang Gitlab.org.

Cài đặt và triển khai GitLab

Dưới đây là cách cài đặt và triển khai Gitlab trên Centos. Nếu các bạn muốn tham khảo cách cài đặt trên các nền tảng khác có thể tham khảo tại link sau: https://about.gitlab.com/installation

Các bước triển khai như sau:

Chuẩn bị các công cụ cần thiết

Cập nhật hệ thống:

yum update -y

Cài đặt các công cụ và mở port cần thiết tường lửa:

sudo yum install -y curl policycoreutils-python openssh-server cronie
sudo lokkit -s http -s ssh

Mở port http và mail

iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT
iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 465 -j ACCEPT
iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 587 -j ACCEPT
service iptables save
service iptables restart

Cài đặt mail server

sudo yum install postfix
sudo service postfix start
sudo chkconfig postfix on

Cài đặt Gitlab

Thêm repository và cài đặt Gitlab

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

yum -y install gitlab-ce


Khởi động Gitlab

sudo gitlab-ctl reconfigure

Cấu hình

nano /etc/gitlab/gitlab.rb

Các bạn chỉnh sửa tập tin gitlab.rb phụ hợp với môi trường sử dụng, ví dụ như mình cấu hình như sau:

external_url 'http://192.168.1.169' #IP Gitlab Server
Cấu hình mail
### GitLab email server settings

gitlab_rails['smtp_enable'] = true;
 gitlab_rails['smtp_address'] = 'localhost';
 gitlab_rails['smtp_port'] = 25;
 gitlab_rails['smtp_domain'] = 'localhost';
 gitlab_rails['smtp_tls'] = false;
 gitlab_rails['smtp_openssl_verify_mode'] = 'none'
 gitlab_rails['smtp_enable_starttls_auto'] = false
 gitlab_rails['smtp_ssl'] = false
 gitlab_rails['smtp_force_ssl'] = false
Cấu hình LDAP
### LDAP Settings
 ###! Docs: https://docs.gitlab.com/omnibus/settings/ldap.html
 ###! **Be careful not to break the indentation in the ldap_servers block. It is
 ###! in yaml format and the spaces must be retained. Using tabs will not work.**

gitlab_rails['ldap_enabled'] = true

###! **remember to close this block with 'EOS' below**
 gitlab_rails['ldap_servers'] = YAML.load <<-'EOS'
 main:
 label: 'LDAP'
 host: 'AD IP'
 port: 389
 uid: 'sAMAccountName'
 method: 'plain'
 bind_dn: 'domain LDPA user'
 password: 'password'
 active_directory: true
 allow_username_or_email_login: true
 block_auto_created_users: false
 base: 'OU=,OU=,DC=,DC=com'
 user_filter: ''
 attributes:
 username: ['uid', 'userid', 'sAMAccountName']
 email: ['mail', 'email', 'userPrincipalName']
 name: 'displayName'
 first_name: 'givenName'
 last_name: 'sn'
 EOS
Cấu hình Postfix Mail (relay đến Office 365)
Cấu hình file generic
nano /etc/postfix/generic

Ghi vào cuối file:

/.*/

[email protected] [email protected]
@localdomain [email protected]

Sau đó thực hiện các lệnh sau:

sudo chown root:root /etc/postfix/generic
sudo chmod 0600 /etc/postfix/generic
sudo postmap /etc/postfix/generic
Cấu hình Postfix
nano /etc/postfix/main.cf
relayhost = [smtp.office365.com]:587
 smtp_use_tls = yes
 smtp_always_send_ehlo = yes
 smtp_sasl_auth_enable = yes
 smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
 smtp_sasl_security_options = noanonymous
 smtp_sasl_tls_security_options = noanonymous
 smtp_tls_security_level = encrypt
 smtp_generic_maps = hash:/etc/postfix/generic
 smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt

 

nano /etc/postfix/sasl_passwd

 

Ghi vào cuối file:

[smtp.office365.com]:587 [email protected]:office365password

 

Tiếp theo thực hiện các lệnh sau:

sudo chown root:root /etc/postfix/sasl_passwd
sudo chmod 0600 /etc/postfix/sasl_passwd
sudo postmap /etc/postfix/sasl_passwd

Khởi động lại Postfix

service postfix restart
TSL check
openssl s_client -starttls smtp -connect smtp.office365.com:587
Test mail
echo "This is the test mail" | mail -s "this is the subject line" "[email protected]"

Như vậy việc cài đặt Gitlab và Mail Server đã hoàn tất. Bạn có thể truy cập vào IP của Gitlab để sử dụng. Chúc các bạn thành công.

Share: