北京市建设工程审核在哪个网站,移动网站seo,网站建设无锡,搜索引擎seo作为程序员#xff0c;其中一个愿望是拥有一个自己的代码存储库。在支持私有部署的代码存储库产品中#xff0c;GitLab 是比较著名的了#xff0c;所以今天我总结了一下在 Centos 上安装 GitLab 的过程。
依赖
基础依赖
首先#xff0c;需要安装部分基础的依赖#xff…作为程序员其中一个愿望是拥有一个自己的代码存储库。在支持私有部署的代码存储库产品中GitLab 是比较著名的了所以今天我总结了一下在 Centos 上安装 GitLab 的过程。
依赖
基础依赖
首先需要安装部分基础的依赖需要安装的依赖见如下命令
yum install -y curl policycoreutils-python openssh-server上面安装完成之后需要将 sshd 服务设置开机自启并且立即启动
# 设置开机自启
systemctl enable sshd
# 立即启动 sshd 服务如果已经启动的话这句命令可能执行失败
systemctl start sshdPostfix 依赖
GitLab 发送邮件的功能需要用到 Postfix
yum -y install postfix# 设置开机自启
systemctl enable postfix
# 立即启动 postfix
systemctl start postfix开放端口
这里介绍 firewall 防火墙的命令。
首先需要开放 sshd 服务的端口。firewall 可以通过指定服务名称的方式来开放端口
# 开放 sshd 服务用到的端口
firewall-cmd --add-servicesshd --permanent可以指定端口开放
# 开放访问端口本次教程我们使用 8090 作为范例
firewall-cmd --add-port8090/tcp --permanent开放端口之后记得刷新一下防火墙
firewall-cmd --reload安装 GitLab
下面的命令是安装 GitLab CE 也就是社区版如果想要安装 GitLab EE 企业版的话需要把下面两条命令中的关键字 gitlab-ce 替换为 gitlab-ee 之后再执行命令。
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
yum install -y gitlab-ce更改配置文件
配置文件的位置在这里/etc/gitlab/gitlab.rb
简单的访问只需要修改配置文件中的 external_url 配置将其更改为自己的域名比如我想使用域名git.a.com端口是 8090上面配置的使用 http 协议那么这里应该配置
external_urlhttp://git.a.com:8090注意 external_url 是用于访问 GitLab 时的URL显示在地址栏中的和克隆项目时都是使用这个URL作为前面的部分。 但是这里的配置并不意味着 GitLab 自带的 Nginx 会监听这里的端口 启动 GitLab
这次修改了配置文件需要让 GitLab 重新配置所以执行命令
gitlab-ctl reconfigure如果只是单纯的启动 GitLab只需要使用 start 即可
gitlab-ctl start安装成功的访问
GitLab 会默认生成一个文本文档 /etc/gitlab/initial_root_password 这个文件的有效期为 24H到期后自动删除。里面存储的是 root 账户的密码记得抓紧时间修改。
进阶 GitLab 的搭建
通常情况下我们自己搭建好之后向外提供 GitLab 的服务一般都使用 80http 或者 443https 端口。当服务器资源较少时即一台服务器可能安装了多个对外服务如GitLab、个人blog等只能根据域名来区分每个服务了因为都使用 80 或者 443 端口。那么此时需要禁用 GitLab 自身的 Nginx 模块转而使用我们自己的 Nginx方便分配域名资源。 注意 下面的端口都使用 80 端口了。 记得把 external_url 里面的端口删除。 首先需要禁用 GitLab 自身的 Nginx 模块修改配置文件中的 nginx[enable] 为 false
nginx[enable] falseGitLab 修改配置文件需要 reconfigure
gitlab-ctl reconfigure接着在我们自己安装 Nginx 的配置文件中增加如下配置
upstream gitlab {# 下面的写法固定server unix:/var/opt/gitlab/gitlab-workhorse/sockets/socket;
}server {listen 80;server_name gitlab.a.com;location ^~ / {proxy_pass http://gitlab;proxy_redirect off;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}
}
启动或者重启 Nginx
# 启动 Nginx
nginx
# 重启 Nginx
nginx -s reload访问 http://gitlab.a.com 就可以了。
使用 https 访问
https 的配置这里就不是重点了这里说一下 location 模块内的配置注意最后两行的配置
location ^~ / {proxy_pass http://gitlab;proxy_redirect off;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;# 下面的内容不加的话可能会有 422 错误proxy_set_header X-Forwarded-Proto https;proxy_set_header X-Forwarded-Ssl on;
}