下面以 Linux(Ubuntu / CentOS 为例) 说明如何配置 GitLab(CE 社区版),包括安装、基础配置和常用设置。
推荐配置
# 安装依赖
sudo apt update
sudo apt install -y curl openssh-server ca-certificates tzdata
# 添加 GitLab 仓库
curl -fsSL https://packages.gitlab.com/gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/gitlab-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/gitlab-archive-keyring.gpg] https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gitlab_gitlab-ce.list
# 安装 GitLab
sudo apt update
sudo apt install -y gitlab-ce
# 安装依赖
sudo yum install -y curl policycoreutils-python openssh-server
# 添加 GitLab 仓库
curl -fsSL https://packages.gitlab.com/gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/gitlab-archive-keyring.gpg
cat <<EOF | sudo tee /etc/yum.repos.d/gitlab_gitlab-ce.repo
[gitlab_gitlab-ce]
name=gitlab_gitlab-ce
baseurl=https://packages.gitlab.com/gitlab/gitlab-ce/el/7/\$basearch
repo_gpgcheck=1
gpgcheck=1
enabled=1
gpgkey=https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey
EOF
# 安装
sudo yum install -y gitlab-ce
sudo vim /etc/gitlab/gitlab.rb
# 访问地址(必须)
external_url 'http://gitlab.example.com'
# 邮箱配置(可选)
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "your@qq.com"
gitlab_rails['smtp_password'] = "password"
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
sudo gitlab-ctl reconfigure
⚠️ 第一次执行时间较长,耐心等待。
sudo gitlab-ctl start
sudo gitlab-ctl stop
sudo gitlab-ctl restart
sudo gitlab-ctl status
浏览器访问:
http://服务器IP
首次登录会要求设置 root 密码
sudo ufw allow 80
sudo ufw allow 22
sudo ufw reload
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload
右上角头像 → Preferences → Localization → 简体中文
gitlab_rails['gitlab_signup_enabled'] = false
external_url 'https://gitlab.example.com'
letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['admin@example.com']
然后执行:
sudo gitlab-ctl reconfigure
sudo gitlab-backup create
sudo gitlab-backup restore BACKUP=timestamp
# 查看日志
sudo gitlab-ctl tail
# 检查配置
sudo gitlab-rake gitlab:check
如果你需要:
可以告诉我你的 Linux 版本和使用场景,我可以给你更精准的配置方案。