GitLab在Debian上的网络配置要点
/etc/netplan/01-netcfg.yaml文件(如sudo nano /etc/netplan/01-netcfg.yaml),添加如下内容(以ens4接口为例):network:
version: 2
renderer: networkd
ethernets:
ens4:
dhcp4: no
addresses: ["192.168.1.100/24"] # 替换为你的静态IP及子网掩码
gateway4: 192.168.1.1 # 替换为你的网关地址
nameservers:
addresses: ["8.8.8.8", "8.8.4.4"] # 替换为你的DNS服务器
保存后运行sudo netplan apply使配置生效。对于Debian 11及以下版本,编辑/etc/network/interfaces文件,配置静态IP(示例略)。sudo apt-get update && sudo apt-get install -y curl openssh-server ca-certificates tzdata perl
/etc/gitlab/gitlab.rb,找到external_url参数,将其修改为服务器的IP地址或域名(如http://192.168.1.100或http://gitlab.example.com)。此配置决定了GitLab的访问入口,需与后续防火墙、反向代理设置一致。gitlab.rb后,必须运行以下命令使配置生效并重启GitLab服务:sudo gitlab-ctl reconfigure # 应用配置变更
sudo gitlab-ctl restart # 重启GitLab服务
ufw(Ubuntu默认防火墙),运行以下命令:sudo ufw allow 80/tcp # 允许HTTP流量
sudo ufw allow 443/tcp # 允许HTTPS流量
sudo ufw reload # 重新加载防火墙规则
若使用其他防火墙工具(如iptables),需添加对应规则放行上述端口。/etc/nginx/sites-available/gitlab,添加如下内容:server {
listen 80;
server_name gitlab.example.com; # 替换为你的域名或IP
location / {
proxy_pass http://localhost:8080; # GitLab默认监听端口(需与gitlab.rb中nginx['listen_port']一致)
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;
}
}
启用配置并重启Nginx:sudo ln -s /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/
sudo systemctl restart nginx
同时修改gitlab.rb中的Nginx参数:nginx['listen_port'] = 8080 # 避免与Nginx主端口冲突
nginx['listen_network'] = "0.0.0.0"
再次运行sudo gitlab-ctl reconfigure和sudo gitlab-ctl restart。gitlab.rb,指定证书路径:ssl_certificate "/etc/letsencrypt/live/gitlab.example.com/fullchain.pem"
ssl_certificate_key "/etc/letsencrypt/live/gitlab.example.com/privkey.pem"
运行sudo gitlab-ctl reconfigure和sudo gitlab-ctl restart使HTTPS生效。