在Debian系统中配置GitLab网络涉及多个步骤,包括安装必要的依赖项、添加GitLab官方仓库、安装GitLab本身、配置GitLab以及设置防火墙规则等。以下是详细的步骤指南:
首先,确保你的Debian系统已经更新到最新版本:
sudo apt update && sudo apt upgrade -y
安装一些必要的软件包,包括PostgreSQL数据库、Nginx和GitLab所需的依赖:
sudo apt install -y curl openssh-server ca-certificates tzdata perl
sudo apt install -y postgresql postgresql-contrib
添加GitLab官方仓库的GPG密钥:
curl https://packages.gitlab.com/gpg.key | sudo apt-key add -
然后,添加GitLab仓库:
sudo sh -c 'echo "deb https://packages.gitlab.com/gitlab/gitlab-ce/debian buster main" > /etc/apt/sources.list.d/gitlab.list'
更新包列表并安装GitLab:
sudo apt update
sudo EXTERNAL_URL="http://your_server_ip_or_domain" apt install gitlab-ce
将 http://your_server_ip_or_domain
替换为你的服务器IP地址或域名。
编辑GitLab配置文件 /etc/gitlab/gitlab.rb
,根据需要进行配置。例如,你可以更改外部URL、设置SSL证书等:
external_url 'http://your_server_ip_or_domain'
# 如果你有SSL证书,可以配置如下
nginx['ssl_certificate'] = "/etc/gitlab/ssl/your_domain_name.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/your_domain_name.key"
保存配置文件后,运行以下命令重新配置并重启GitLab:
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
打开浏览器,访问 http://your_server_ip_or_domain
,你应该能够看到GitLab的登录页面。
如果你有防火墙,确保开放HTTP(80)和HTTPS(443)端口:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw reload
如果你还没有SSL证书,可以使用Let’s Encrypt免费获取:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d your_domain_name
按照提示完成SSL证书的安装和配置。
如果你选择使用PostgreSQL而不是默认的SQLite3,你需要进行一些额外的配置。编辑 /etc/gitlab/gitlab.rb
文件,找到并修改以下行:
gitlab_rails['database_adapter'] = "postgresql"
gitlab_rails['database_host'] = "localhost"
gitlab_rails['database_port'] = 5432
gitlab_rails['database_username'] = "gitlab"
gitlab_rails['database_password'] = "your_password"
gitlab_rails['database_database'] = "gitlabhq_production"
然后重新配置并重启GitLab:
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
完成以上步骤后,你的Debian系统上应该已经成功配置了GitLab。