Centos7安装gitlab-ce
1、官方推荐方式安装
参考https://www.gitlab.com.cn/installation/#centos-7?version=ce
1 2 3 | sudo yum install -y curl policycoreutils-python openssh-server openssh-clients sudo systemctl enable sshd sudo systemctl start sshd |
这3行一般都是要执行的
防火墙不启用,那防火墙的命令就不用执行了
建议使用smtp来发邮件,这样就不用装postfix了
现在服务器一般都会禁用25端口,用postfix还要额外配置,所以尽量不要用
1 | sudo EXTERNAL_URL= "http://gitlab.example.com" yum install -y gitlab-ce |
EXTERNAL_URL用来设置gitlab的访问域名,建议尽量用域名,ip地址有可能会换的
安装命令执行时间较长,大概有几分钟时间,而且期间屏幕有可能会没有任何变化,建议耐心等待
安装完成后,即可访问域名来使用gitlab,发送邮件配置后续再设置
2、指定安装版本
和官方推荐方式基本相同,事先下载安装包,下载地址可以到官网找,也可以去用国内的镜像地址
1 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行不用执行,换成如下:
1 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 |
第一行下载安装包,第二行执行安装包
安装包安装很快,不用等待很长时间
安装后不能马上使用,必须执行配置和启动命令
1 2 | gitlab-ctl reconfigure gitlab-ctl restart |
3、使用外部nginx
1) 修改配置文件 /etc/gitlab/gitlab.rb
1 2 3 4 5 6 | #定义访问域名 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
1 2 3 4 5 6 7 | 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)