在Linux系统中配置GitLab网络涉及多个步骤,以下是一个详细的指南:
sudo apt-get update
sudo apt-get install -y curl openssh-server ca-certificates tzdata
sudo yum install -y curl policycoreutils-python openssh-server openssh-clients postfix
sudo systemctl enable sshd
sudo systemctl start sshd
sudo systemctl enable postfix
sudo systemctl start postfix
使用官方安装脚本:
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo EXTERNAL_URL "http://gitlab.example.com" apt-get install gitlab-ce
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
sudo yum install gitlab-ce
设置外部URL:
编辑 /etc/gitlab/gitlab.rb
文件,设置外部URL:
sudo vi /etc/gitlab/gitlab.rb
找到并修改以下行:
external_url 'http://your_server_ip'
保存并退出编辑器。
重新配置并重启GitLab:
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
在浏览器中输入你的服务器IP地址或域名,即可显示GitLab的界面。首次登录会强制用户修改密码,密码修改成功后,输入用户名和密码进行登录。
如果你的Linux服务器启用了防火墙,需要开放GitLab使用的端口(如HTTP默认端口80和HTTPS默认端口443)。如果有网络地址转换(NAT)设备,需要将外部网络的访问请求转发到GitLab服务器的内网IP地址上。
对于安全性要求较高的环境,可以配置GitLab使用HTTPS。需要获取一个有效的SSL证书,并将其配置到GitLab中。
生成SSL证书(可选):
mkdir -p conf/ssl
cd conf/ssl
openssl genrsa -out server.key 2048
openssl genrsa -out private.key 2048
openssl req -new -key private.key -out cert_req.csr -subj "/C=CN/ST=TEST/L=TEST/O=test/OU=main/CN=*.gitpool.com/emailAddress=root@localhost.com"
openssl x509 -req -days 365 -in cert_req.csr -signkey private.key -out server_cert.crt
修改 gitlab.rb
配置文件:
sudo vi /etc/gitlab/gitlab.rb
添加或修改以下配置:
nginx['enable'] = true
nginx['client_max_body_size'] = '512m'
nginx['redirect_http_to_https'] = true
nginx['redirect_http_to_https_port'] = 80
nginx['ssl_certificate'] = "/etc/gitlab/ssl/server_cert.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/private.key"
nginx['ssl_session_cache'] = "builtin:SSL_SESSION_CACHE(Filesystem,期限为10m)"
重新配置并重启GitLab:
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
安装邮件服务(如Postfix),并配置SMTP服务器相关信息:
sudo apt-get install postfix
编辑 /etc/postfix/main.cf
文件,添加以下配置:
relayhost = [smtp.example.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_use_tls = yes
编辑 /etc/postfix/sasl_passwd
文件,添加认证信息:
[smtp.example.com]:587 your_username:your_password
重载配置:
sudo postmap /etc/postfix/sasl_passwd
sudo systemctl reload postfix
编辑 /etc/gitlab/gitlab.rb
文件,添加以下配置:
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.example.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "your_username"
gitlab_rails['smtp_password'] = "your_password"
gitlab_rails['smtp_domain'] = "example.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['gitlab_email_from'] = "your_username@example.com"
user["git_user_email"] = "your_username@example.com"
重新配置并重启GitLab:
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
以上步骤涵盖了在Linux系统中配置GitLab的基本网络设置,确保GitLab服务能够通过网络被正确访问。根据实际网络环境和需求,可能还需要进行额外的配置,如设置防火墙规则等。