centos7安装gitlab

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

一、简介

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-ypatch

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

免责声明:文章转载自《centos7安装gitlab》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇旋转的太极图Shell字符串下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Centos7 服务 service 设置命令 systemctl 用法 (替代service 和 chkconfig)

在Centos 中 systemctl 是设置系统服务的命令,即 service , 它融合之前service和chkconfig的功能于一体。 可以使用它永久性或只在当前会话中启用/禁用服务。 CentOS 7 的 /etc/rc.d/rc.local 是没有执行权限的, 系统建议创建 systemd service 启动服务。 查看服务列表状态:...

gitLab内网部署

目录 GitLab内网部署 参考文档 Docker部署 安装 更新 备份 还原 迁移 GitLab内网部署 参考文档 https://www.cnblogs.com/kowloon/p/7504140.html Docker部署 安装 # 查找镜像 docker search gitlab # 拉取镜像 docker pull gitl...

Jenkins操作手册 巨详细,一篇足矣!

一、持续集成相关概念 1.1、什么是持续集成? 随着软件开发复杂度的不断提高,团队开发成员间如何更好的协同工作以确保软件开发的质量已经成为开发过程中不可回避的问题。尤其是近年来敏捷开发在软件领域越来越火,如何能在不间断变化的需求中快速适应和保证软件的质量显得尤其重要。持续集成正是针对这一问题的一种软件开发实践。它倡导团队开发成员必须经常集成他们的工作,甚至...

.Net Core自动化部署系列(三):使用GitLab CI/CD 自动部署Api到Docker

之前写过使用Jenkins实现自动化部署,最近正好没事研究了下GitLab的自动化部署,顺便记录一下。 使用GitLab部署我们需要准备两件事,第一个起码你得有个GitLab,自己搭建或者使用官方的都可以哈,我这里使用的官方的,想自己搭建的同学可以参考下这篇,使用Docker搭建GitLab: https://www.imooc.com/article/2...

CentOS 7安装GitLab、汉化、配置邮件发送

1、更换国内yum源 1.1 备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 1.2 下载新的CentOS-Base.repo 到/etc/yum.repos.d/ wget -O /etc/yum.repos.d/CentOS-Base.r...

gitlab使用个人版v16.11

title: gitlab使用个人版v16.11 date: 2016-11-13 20:53:00 tags: [gitlab] 1.安装gitbash 附上地址链接:git 2.配置gitlab和github 同时使用github和gitlab,引发了此问题,所以需要再次清理旧的配置。从新开始: 打开git bash,在你的用户目录,生成ssh钥匙对...