在Debian上部署GitLab可以分为几个步骤,包括安装必要的依赖、添加GitLab的官方仓库、安装GitLab软件包、配置GitLab以及启动服务。以下是详细的步骤:
首先,确保你的Debian系统是最新的:
sudo apt update
sudo apt upgrade -y
安装一些必要的软件包,如curl
、openssh-server
、ca-certificates
和postfix
:
sudo apt install -y curl openssh-server ca-certificates postfix
在安装postfix
时,你可以选择配置它以发送邮件,或者跳过配置。
下载并运行GitLab的安装脚本,该脚本会设置GitLab的官方仓库:
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
按照提示输入GitLab的安装名称和域名。
使用以下命令安装GitLab社区版:
sudo apt install gitlab-ce
安装完成后,你需要配置GitLab。首先,找到并编辑GitLab的配置文件:
sudo nano /etc/gitlab/gitlab.rb
external_url
为你服务器的域名或IP地址。nginx['listen_port']
(默认是80)和gitlab_rails['信任的代理']
等。保存并退出编辑器,然后重新配置GitLab以应用更改:
sudo gitlab-ctl reconfigure
启动GitLab服务并设置为开机自启:
sudo gitlab-ctl start
sudo systemctl enable gitlab
打开浏览器,访问你在配置文件中设置的external_url
,你应该能够看到GitLab的登录页面。使用默认的管理员账户(root)和密码登录。
如果你使用的是UFW防火墙,可以添加允许GitLab使用的端口(默认为80):
sudo ufw allow 80/tcp
sudo ufw enable
虽然GitLab自带了Nginx服务器,但你可以选择配置一个外部Nginx服务器来反向代理GitLab。这通常用于负载均衡和提高安全性。
创建一个新的Nginx配置文件,例如/etc/nginx/sites-available/gitlab
:
server {
listen 80;
server_name your_gitlab_domain_or_ip;
location / {
proxy_pass http://localhost:8022;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
然后,在/etc/nginx/sites-enabled/
目录下创建一个符号链接:
sudo ln -s /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/
最后,测试Nginx配置并重启Nginx:
sudo nginx -t
sudo systemctl restart nginx
完成以上步骤后,你就成功在Debian上部署了GitLab。根据需要,你可以进一步配置GitLab以满足特定的需求,如设置邮件服务、监控和日志记录等。