在 CentOS 上安装 Gitlab CE

本文以 CentOS 7 为例,介绍如何安装搭建 Gitlab 社区版。

准备

非 root 用户,创建新用户的方法可见这篇文章

官方推荐的最低配置要求: 2 核心,8 GB 物理内存。

如有域名,A 记录指向服务器 ip 。

安装依赖:

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

可选,安装 postfix 邮件功能,你可以不必安装 postfix 而使用其他的 SMTP 服务:

1
2
3
sudo yum install -y postfix
sudo systemctl enable postfix.service
sudo systemctl start postfix.service

配置防火墙

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

如果安装了 postfix ,还需:

1
2
3
4
5
6
7
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

安装 Gitlab

1
2
3
cd
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ce

可登录 http://gitlab.example.com 输入密码完成安装。此时已基本配置完毕。

修改配置文件

如需再做修改:

1
sudo vim /etc/gitlab/gitlab.rb
/etc/gitlab/gitlab.rb
1
2
3
##! For more details on configuring external_url see:
##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab
external_url 'http://example.com'

如无域名,将 example.com 改为 ip 地址;如需要开启 HTTPS ,则将 http 改为 https ,安装程序将引导进行 Let’s encrypt 的证书配置,并去掉配置文件中的此行注释,加以正确修改:

/etc/gitlab/gitlab.rb
1
letsencrypt['contact_emails'] = ['[email protected]']

配置 SMTP 以发送邮件(可选)

以 qq 的个人邮箱为例,企业邮箱同理。

/etc/gitlab/gitlab.rb
1
2
3
4
5
6
7
8
9
10
11
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxx"
gitlab_rails['smtp_password'] = "********"
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_openssl_verify_mode'] = 'peer'
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = '[email protected]'

重启服务

1
sudo gitlab-ctl reconfigure

Web 配置

可登录网页进行相应配置,不再赘述。

References

How to Install GitLab Community Edition (CE) 11.x on CentOS 7

Mastodon