1、官方推荐方式安装
参考https://www.gitlab.com.cn/installation/#centos-7?version=ce
sudo yum install -y curl policycoreutils-python openssh-server openssh-clients sudo systemctl enable sshd sudo systemctl start sshd
这3行一般都是要执行的
防火墙不启用,那防火墙的命令就不用执行了
建议使用smtp来发邮件,这样就不用装postfix了
现在服务器一般都会禁用25端口,用postfix还要额外配置,所以尽量不要用
sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ce
EXTERNAL_URL用来设置gitlab的访问域名,建议尽量用域名,ip地址有可能会换的
安装命令执行时间较长,大概有几分钟时间,而且期间屏幕有可能会没有任何变化,建议耐心等待
安装完成后,即可访问域名来使用gitlab,发送邮件配置后续再设置
2、指定安装版本
和官方推荐方式基本相同,事先下载安装包,下载地址可以到官网找,也可以去用国内的镜像地址
curl -sS http://packages.gitlab.com.cn/install/gitlab-ce/script.rpm.sh | sudo bash sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ce
官方的这2行不用执行,换成如下:
curl -LJO https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.1.4-ce.0.el7.x86_64.rpm rpm -i gitlab-ce-11.1.4-ce.0.el7.x86_64.rpm
第一行下载安装包,第二行执行安装包
安装包安装很快,不用等待很长时间
安装后不能马上使用,必须执行配置和启动命令
gitlab-ctl reconfigure gitlab-ctl restart
3、使用外部nginx
1) 修改配置文件 /etc/gitlab/gitlab.rb
#定义访问域名 external_url 'http://git.example.com' #禁用内部 nginx nginx['enable'] = false #配置可以访问 gitlab 工作目录的用户,赋予 nginx 用户对该目录的读写权限 web_server['external_users'] = ['nginx','gitlab-www','git']
2) 复制内部nginx的配置文件到外部nginx
/var/opt/gitlab/nginx/conf/gitlab-http.conf 和 /var/opt/gitlab/nginx/conf/nginx-status.conf
gitlab-http.conf还需要做适当修改,主要是将原来内部nginx的nginx.conf里的几行配置复制进gitlab-http.conf
proxy_cache_path proxy_cache keys_zone=gitlab:10m max_size=1g levels=1:2; proxy_cache gitlab; map $http_upgrade $connection_upgrade { default upgrade; '' close; }
3) 执行 gitlab-ctl reconfigure 重新配置gitlab
4、配置smtp发送邮件
修改配置文件gitlab.rb
gitlab_rails['gitlab_email_enabled'] = true gitlab_rails['gitlab_email_from'] = 'gitlab@example.com' gitlab_rails['gitlab_email_display_name'] = 'GitLab' gitlab_rails['gitlab_email_reply_to'] = 'noreply@example.com' gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.mxhichina.com" gitlab_rails['smtp_port'] = 465 gitlab_rails['smtp_user_name'] = "gitlab@example.com" gitlab_rails['smtp_password'] = "********" gitlab_rails['smtp_domain'] = "example.com" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_tls'] = true
以上配置是阿里云企业邮箱的配置,注意smtp_port设置为465,则smtp_tls必须设为true
其他邮箱配置可参考网上
参考网址:
https://wsgzao.github.io/post/gitlab/
https://yq.aliyun.com/articles/208700
https://laravel-china.org/topics/2829/centos-7-install-gitlab-ce-community-edition-and-modify-the-default-nginx