yum安装GitLab-v11.11.8(git私服)
阅读原文时间:2023年07月10日阅读:1

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

1. 安装依赖软件

$ yum -y install policycoreutils openssh-server openssh-clients postfix

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

$ systemctl reload firewalld

2.设置postfix开机自启,并启动,postfix支持gitlab发信功能

$ systemctl enable postfix && systemctl start postfix

3-1.下载gitlab安装包,然后安装

$ wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.11.8-ce.0.el7.x86_64.rpm

$ rpm -i gitlab-ce-11.11.8-ce.0.el7.x86_64.rpm

3-2或添加GitLab镜像源并安装

$ vim /etc/yum.repos.d/gitlab_gitlab-ce.repo

[gitlab-ce]

name=gitlab-ce

baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7

repo_gpgcheck=0

gpgcheck=0

enabled=1

gpgkey=https://packages.gitlab.com/gpg.key

$ yum -y install gitlab-ce

4.修改gitlab配置文件指定服务器ip和自定义端口:

$ vim /etc/gitlab/gitlab.rb

external_url 'http://192.168.1.x/'

## 配置邮件

gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'xxx@qq.com'
gitlab_rails['gitlab_email_display_name'] = 'XXX-git'

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxx@qq.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

保存退出

5.重置GitLab并汉化

$ gitlab-ctl reconfigure

$ cd /home

$ wget https://gitlab.com/xhang/gitlab/-/archive/11-11-stable-zh/gitlab-11-11-stable-zh.tar.gz

$ tar -zxvf gitlab-11-11-stable-zh.tar.gz

由于复制过多覆盖需要确认,所以把~/.bashrc进行修改

$ vi ~/.bashrc

#alias cp='cp -i'

$ source ~/.bashrc

$ cp -rf ./gitlab-11-11-stable-zh/* /opt/gitlab/embedded/service/gitlab-rails/

$ gitlab-ctl reconfigure

$ gitlab-ctl start

$ netstat -tpln

打开页面:http://192.168.1.x

$ gitlab-ctl restart

第一次登陆需要设置密码

6.设置gitlab发信功能,需要注意一点:

发信系统用的默认的postfix,smtp是默认开启的,两个都启用了,两个都不会工作。

我这里设置关闭smtp,开启postfix

关闭smtp方法:

$ vim /etc/gitlab/gitlab.rb

找到#gitlab_rails['smtp_enable'] = true 改为 gitlab_rails['smtp_enable'] = false

修改后执行

$ gitlab-ctl reconfigure

参考:

https://doc.gitlab.cc/omnibus/settings/smtp.html

7.报错处理:

7.1.登录502报错

一般是权限问题,解决方法:chmod -R 755 /var/log/gitlab

如果还不行,请检查你的内存,安装使用GitLab需要至少4GB可用内存(RAM + Swap)! 由于操作系统和其他正在运行的应用也会使用内存, 所以安装GitLab前一定要注意当前服务器至少有4GB的可用内存. 少于4GB内存会出现各种诡异的问题, 而且在使用过程中也经常会出现500错误.

7.2.gitlab-ctl reconfigure

报错n itdb: could not obtain information about current user: Permission denied

Error executing action `run` on resource 'execute[/opt/gitlab/embedded/bin/initdb -D /var/opt/gitlab/postgresql/data -E UTF8]'

根据报错信息大概锁定用户的权限问题,安装gitlab-ce会自动添加用户四个用户:

gitlab-www❌497:498::/var/opt/gitlab/nginx:/bin/false

git❌496:497::/var/opt/gitlab:/bin/sh

gitlab-redis❌495:496::/var/opt/gitlab/redis:/bin/nologin

gitlab-psql❌494:495::/var/opt/gitlab/postgresql:/bin/sh

google和百度都搜索不到解决方法,既然出错提示到权限问题,那么按照这个方向去查就不会有问题,后来查了文件/etc/passwd的权限是600,给予644权限后,成功解决报错问题