在 Debian 上自建的 GitLab 中开启用户注册,需要从 GitLab 配置 和(可选)SMTP/邮件 两方面处理。下面按常见场景说明。
Admin Area(管理员) → Settings → General
默认注册地址一般是:
http://你的域名或IP/users/sign_up
如果你是用官方 Omnibus 包安装的 GitLab(Debian 最常见):
sudo nano /etc/gitlab/gitlab.rb
gitlab_rails['gitlab_signup_enabled'] = true
sudo gitlab-ctl reconfigure
如果你是用 Docker 跑的:
docker exec -it gitlab bash
然后:
gitlab-rails console
在控制台里:
ApplicationSetting.current.update(signup_enabled: true)
exit
或者直接在 docker run 时加环境变量(不推荐长期用):
-e GITLAB_OMNIBUS_CONFIG="gitlab_rails['gitlab_signup_enabled']=true;"
GitLab 注册 默认需要邮件验证,否则:
在 /etc/gitlab/gitlab.rb 中配置:
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.example.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "gitlab@example.com"
gitlab_rails['smtp_password'] = "password"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = "gitlab@example.com"
然后:
sudo gitlab-ctl reconfigure
gitlab_rails['send_user_confirmation_email'] = false
⚠️ 生产环境不建议关闭
在 Sign-up restrictions 中还可以:
@company.com)/users/sign_up
如果你能告诉我:
我可以给你更精确的配置示例。