前言
因为公司需要搭建git服务器, 为了有比较好的管理。最后决定安装 gitlab。在安装之前查阅了很多资料, 也听说搭建gitlab服务, 相当的繁琐, 而且坑特别的多。经过一方瞎折腾, 终于成功搭建好了,其实也并没有想象中的那么繁琐, 在此记录一下。
安装之前需要注意一下几点
- 安装 gitlab 之前, 需要先在服务器上先安装好git服务, 可参照 git 官网安装链接 编译源码安装过程中, 可能会有错误提示,缺少对应的依赖, 只要根据提示安装上对应的依赖, 继续编译安装git即可
- 服务器上不应该存在以下用户, 这些用户在安装gitlab 的过程中会自己创建, 如果已近存在会造成后面的, 编译失败, 或者是已经存在的用户被修改, 到时候出现问题会比较麻
- gitlab-www
- git
- gitlab-redis
- gitlab-redis
- gitlab-prometheus
- gitlab 安装完成会默认使用以下端口 80、8060、8080、9090、9100、9121、9168、9187。 为了简便的看到安装成功的最终效果, 最好可以确保以上端口没有被使用。 如果已经被使用了, 则需要修改gtilab默认端口, 多几步操作。
- 本文安装以 centos7 + git 2.9.5 + gitlab-ce-10.8.2
- 安装包 gitlab-ce-10.8.2-ce.0.el7.x86_64.rpm 下载
进入正题开始安装
- 将下载好的 rpm 包上传到服务器上, 一般安装文件都放/opt 目录下面
- 由于安装需要使用多个命令, 这里将多个命令放入到一个可执行文件中, 方便操作。
在 /opt 目录下新建 install.sh 文件, 输入一下命令行内容
sudo rpm -ivh /opt/gitlab-ce-10.8.2-ce.0.el7.x86_64.rpm sudo yum install -y curl policycoreutils-python openssh-server cronie sudo lokkit -s http -s ssh sudo yum install postfix sudo service postfix start sudo chkconfig postfix on curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash # 下面地址可以不用修改, 等待安装完成, 编译时在修改 sudo EXTERNAL_URL="http://127.0.0.1" yum -y install gitlab-ce
并赋予 install.sh 可执行权限 执行命令行:
$ chmod 775 install.sh -
执行脚本文件 install.sh 等待安装完成
$ ./install.sh -
安装完成。 执行编译 等待编译完成, 需要较长时间
$ gitlab-ctl reconfigure -
编译完成重启服务, 如果开头提到的端口都未被占用, 且安装过程没有错误信息, 输入服务器ip即可正常访问。
$ gitlab-ctl restart
Gitlab安装完成后的配置以及问题解决
情况1: 服务启动, 但是访问ip无法出现gitlab相关页面
情况2: 服务启动成功, 可以访问gitlab页面,但是页面提示 502 错误
以上两种错误,都是由于端口被占用导致的, 这个时候可以执行命令
$ gitlab-ctl tail 来查看相关日志输出, 在这里你可以看到, 日志输出哪些端口被占用。
还可以使用命令行
$ gitlab-ctl status 来查看各个服务的状态
修改默认端口
- 修改gitlab 访问端口
编辑文件 /etc/gitlab/gitlab.rb vim /etc/gitlab/gitlab.rb
修改配置: external_url 'http://127.0.0.1:8090'
将此处内容修改 为服务器的域名或者ip地址, 以及访问的端口。 此处修改了, 即修改了git仓库下载地址。如果仅仅只是修改访问端口及git仓库下载地址那么只需要修改这里的一个配置即可、重新编译, 并重启服务使其nginx 配置生效, 重启完成, 即可使用新的端口访问, 重启完成之后可能需要一定时间加载过程。
$ gitlab-ctl reconfigure
$ gitlab-ctl restart
冲突端口修改, 因为 80, 8080, 9090 这几个端口比较常用, 一般在服务区中可能已经被使用, 一般只需要这个几个端口即可
80 端口:
即上面一步, 修改默认访问端口
8080 端口:
编辑文件: /etc/gitlab/gitlab.rb
修改配置 , 此次出的两个配置默认是注释, 解开注释修改即可, 这里将, 默认的 8080 修改为 8066
unicorn['listen'] = '127.0.0.1'
unicorn['port'] = 8066
9090 端口:
编辑文件: /etc/gitlab/gitlab.rb
修改配置, 此处将 默认 9090 端口修改为 9091 端口
prometheus['listen_address'] = '127.0.0.1:9091'
以上任何配置修改完成都需要重新执行编译命令, 编译完成后重启服务。 等待服务重启完成后, 即可访问。其实安装步骤并不复杂, 只要一步一步来。还是很简单的。