CentOS中GitLab网络配置详细步骤
GitLab运行需依赖curl(网络请求)、openssh-server(SSH访问)、postfix(邮件通知)等组件。通过以下命令安装:
sudo yum install -y curl openssh-server postfix
为方便访问,建议设置自定义主机名(如gitlab.example.com),替换为你的实际域名或服务器标识:
sudo hostnamectl set-hostname your_hostname
若需固定IP,编辑网络接口配置文件(如/etc/sysconfig/network-scripts/ifcfg-eth0),修改以下参数:
DEVICE=eth0
BOOTPROTO=static # 静态IP模式
IPADDR=192.168.1.100 # 你的服务器IP
NETMASK=255.255.255.0 # 子网掩码
GATEWAY=192.168.1.1 # 网关地址
DNS1=8.8.8.8 # 首选DNS
DNS2=8.8.4.4 # 备用DNS
ONBOOT=yes # 开机自启
保存后重启网络服务:
sudo systemctl restart network
GitLab需开放**HTTP(80)、HTTPS(443)、SSH(22)**端口,允许外部访问Web界面和管理接口:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --permanent --zone=public --add-service=ssh
sudo firewall-cmd --reload
通过官方脚本添加Yum源,确保软件包来源安全:
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
安装时通过EXTERNAL_URL参数指定访问地址(域名或IP),替换为你的实际地址:
sudo EXTERNAL_URL="http://your_hostname_or_ip" yum install -y gitlab-ce
external_url编辑GitLab主配置文件/etc/gitlab/gitlab.rb,找到external_url项,设置为你的访问地址(HTTP或HTTPS):
external_url 'http://your_hostname_or_ip' # 或 'https://your_hostname_or_ip'
此参数决定了GitLab的访问入口,需与防火墙开放的端口一致。
若需HTTPS加密,可使用Let’s Encrypt免费证书,GitLab提供简化命令:
sudo gitlab-ctl configure-ssl
执行后会自动申请并配置SSL证书,无需手动操作。
配置完成后,重新加载GitLab设置并重启服务,使更改生效:
sudo gitlab-ctl reconfigure # 应用配置文件修改
sudo gitlab-ctl restart # 重启GitLab服务
在浏览器中输入配置的external_url(如http://your_hostname_or_ip),若能看到GitLab登录页面,说明网络配置成功。首次访问需设置管理员账户密码。
若需GitLab发送通知邮件(如密码重置、合并请求提醒),需配置SMTP参数。以QQ邮箱为例,在/etc/gitlab/gitlab.rb中添加:
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "your_email@qq.com"
gitlab_rails['smtp_password'] = "your_authorization_code" # 注意:使用SMTP授权码而非登录密码
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
gitlab_rails['gitlab_email_from'] = 'your_email@qq.com'
gitlab_rails['smtp_domain'] = "qq.com"
保存后重新配置并重启GitLab:
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
以上步骤覆盖了CentOS环境下GitLab的网络配置核心环节,确保GitLab可通过网络正常访问和管理。