centos7安装gitlab

北慕城南 提交于 2021-01-20 01:38:00

一、简介

GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。

二、环境

虚拟机 centos 7 64位
内存:4GB 

三、安装

1.下载好 gitlab 的rpm 包,我下载的是gitlab-ce-11.6.0-ce.0.el7.x86_64.rpm

https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/

 

2.安装 gitlab 的依赖包 

yum install curl openssh-server openssh-clients postfix cronie policycoreutils-python –y

yuminstall -y patch

 

3.启动 postfix,并且设置为开机启动

systemctl start postfix

systemctl enable postfix 

 如果postfix启动报错: inet_interfaces: no local interface found for ::1

 使用systemctl start postfix时,提示: 

 Job for postfix.service failed because the control process exited with error code. See “systemctl status postfix.service” and “journalctl -xe” for details.

查看日志more /var/log/maillog 或者 more /var/log/message 

发现日志有报错信息: postfix: fatal: parameter inet_interfaces: no local interface found for ::1 

解决方法:

 
vi /etc/postfix/main.cf
发现配置为:
inet_interfaces = localhost
inet_protocols = all
改成:
inet_interfaces = all 或者 inet_interfaces = 127.0.0.1
inet_protocols = all
重新启动postfix服务即可
systemctl start postfix
 

 

4.设置防火墙

firewall-cmd --add-service=http --permanent
firewall-cmd --reload

 

5.安装刚下载好 gitlab 的rpm 包

rpm -i gitlab-ce-11.6.0-ce.0.el7.x86_64.rpm

   当 shell 中出现以下内容,则证明 gitlab 的程序安装完了

 

 

6.继续安装提示执行配置 gitlab 的命令

gitlab-ctl reconfigure

 

7.修改 gitlab 的配置文件

vi /etc/gitlab/gitlab.rb

修改里面的 external_url 参数,例如机器的IP地址为47.92.82.152
external_url='http://47.92.82.152'
因为修改了配置文件,所以重新加载配置文件

gitlab-ctl reconfigure

软件安装部分就完成了,以下是web 页面配置部分
• web页面配置
gitlab 默认的端口号为 80,使用浏览器访问以下地址:http:// 47.92.82.152:80
自己在页面上输入 新的密码,该密码为 管理员密码,管理员的登陆名为 root。

 

如果访问页面访问报错502,请检查如下问题

   1)权限问题:Gitlab文件需要给予读写的权限

chmod -R 755 /var/log/gitlab

 

2)端口问题:Gitlab的默认启动端口是80,8080,所以有肯能会与其他的端口产生冲突,需要修改端口号

3)内存不足的问题:安装gitlab的时候,已经说明你的空余内存需要有4G左右的内存,所以在安装gitlab的时候,请给足内存,在安装。

修改访问端口号:

1)更改端口

 vi /etc/gitlab/gitlab.rb

 

修改内容:

external_url 'http:// 47.92.82.152:88'   #指定访问端口,默认是80

nginx['listen_port'] = 88

nginx['listen_https'] = false

unicorn['port'] = 8001  # 为unicorn worker的工作端口,默认为8080,如果你的8080端口被占用的,这一项需要更改

2)改nginx端口

  vi /var/opt/gitlab/nginx/conf/gitlab-http.conf    

查找如下内容并修改:

server {

listen *:88;

server_name 47.92.82.152

if ($http_host = "") {

    set $http_host_with_default "47.92.82.152:88";

}

}

3)修改完成后执行

gitlab-ctl reconfigure  #重新加载配置
gitlab-ctl restart #重启

打开浏览器,输入"http:/ 47.92.82.152:88",进入登录页面

 

8.配置gitlab 用户注册时的邮箱通知信息

 修改 /etc/gitlab/gitlab.rb 配置文件,该邮箱地址是未来gitlab 向用户发送邮件时的推送邮箱 

 

gitlab_rails['smtp_enable'] = true

gitlab_rails['smtp_address'] = "smtp.qq.com"           # 用户输入自己的smtp服务器地址,例如作者的时163 的企业服务地址

gitlab_rails['smtp_port'] = 25                         # 用户smtp 的端口号

gitlab_rails['smtp_user_name'] = "***@qq.com"          # 用户的邮箱地址

gitlab_rails['smtp_password'] = "PASSWORD"             # 用户的邮箱密码

gitlab_rails['smtp_domain'] = "qq.com"                 # 用户邮箱的域名

gitlab_rails['smtp_authentication'] = "login"

gitlab_rails['smtp_enable_starttls_auto'] = true

gitlab_rails['smtp_tls'] = false

gitlab_rails['gitlab_email_from'] = '***@qq.com'       # 用户的邮箱地址

user['git_user_email'] = "***@qq.com"                  # 用户的邮箱地址

 

 

 

如果大家安装gitlab 的环境为阿里云,一定要确认25 端口是否能够使用,作者就由于之后在阿里云上部署gitlab时,遇到25 端口无法使用的问题,

 所以一直导致在注册新用户时,邮件无法发送出去,这个时候解决方法可以选择使用打开 ssl 加密传输,这样端口就不再是 25 端口了,例如qq 的邮件配置应该变为

gitlab_rails['smtp_enable'] = true

 
gitlab_rails['smtp_address'] = "smtp.qq.com" # 用户输入自己的smtp服务器地址,例如作者的时163 的企业服务地址
gitlab_rails['smtp_port'] = 465                        # 用户smtp 的端口号
gitlab_rails['smtp_user_name'] = "***@qq.com" # 用户的邮箱地址

gitlab_rails['smtp_password'] = "PASSWORD" # 用户的邮箱密码

gitlab_rails['smtp_domain'] = "qq.com" # 用户邮箱的域名

gitlab_rails['smtp_authentication'] = "login"

gitlab_rails['smtp_enable_starttls_auto'] = true

gitlab_rails['smtp_tls'] = false

gitlab_rails['gitlab_email_from'] = '***@qq.com' # 用户的邮箱地址

user['git_user_email'] = "***@qq.com" # 用户的邮箱地址

  gitlab_rails['smtp_tls'] = true # 打开 ssl 加密传输

 

 

 

9.其他一些技术点

 查看gitlab 的配置

gitlab-ctl show-config

 

查看gitlab 的运行日志

gitlab-ctl tail

 

切换gitlab 仓库的数据目录

gitlab 默认的仓库数据目录为 /var/opt/gitlab/git-data/repositories/ ,如果未来用户的数据量大了,需要更换仓库数据目录,可以通过修改 /etc/gitlab/gitlab.rb 配置进行调整。

用户在调整gitlab 的配置之前,建议对其先停止服务。

gitlab-ctl stop

 

然后用户创建好未来要迁移的数据目录,并且将原来的数据迁移过去,由于作者的 gitlab 是通过 rpm 包安装的,所以gitlab 的系统用户为 git,用户组为 root,所以在拷贝数据后还需要修改新数据目录的用户归属,否者后面gitlab无法对该目录写入新的数据。

mkdir -p /mnt/gitlab/git-data/
mv /var/opt/gitlab/git-data/repositories/* /mnt/gitlab/git-data/repositories/
chown -R git:root /mnt/gitlab/git-data/*

 

然后用户就可以对 /etc/gitlab/gitlab.rb 进行调整了。

/etc/gitlab/gitlab.rb 默认对数据目录的配置是注释的。

 

 用户可以新增配置信息

git_data_dirs({
  "default" => {
     "path" => "/mnt/gitlab/git-data"
  }
})

原文链接:https://www.cnblogs.com/vyanbin/p/centos7_gitlab.html

中文汉化:https://www.linuxidc.com/Linux/2017-11/148223.htm

其他:https://www.jianshu.com/p/26a88a8c8d56

完全卸载gitlab:https://blog.csdn.net/huhuhuemail/article/details/80519433

然后对 gitlab 重新刷新配置

gitlab-ctl reconfigure  #因为修改了配置文件,所以重新加载配置文件
gitlab-ctl restart
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!