概念

git         是一种版本控制系统,是一个命令,是一种工具
gitlib 是用于实现git功能的开发库
github 是一个基于git实现的在线代码托管仓库,包含一个网站界面,向互联网开放
gitlab 是一个基于git实现的在线代码仓库托管软件,你可以用gitlab自己搭建一个类似于
    github一样的系统,一般用于在企业、学校等内部网络搭建git私服

帮助文档:http://www.runoob.com/git/git-tutorial.html

使用教程:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

汉化参考链接:https://www.cnblogs.com/eleven24/p/6906305.html

centos7安装gitlab:https://www.gitlab.cc/downloads/#centos7
centos6安装gitlab:https://www.gitlab.cc/downloads/#centos6

这里使用centos7 64bit做演示:

1. 安装依赖软件

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

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

systemctl enable postfix && systemctl start postfix
3.下载gitlab安装包,然后安装(建议选择较新版本安装)
下载rpm包并安装:
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
rpm -ivh gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
RPM 安装操作
rpm -i 需要安装的包文件名 举例如下:
rpm -i example.rpm 安装 example.rpm 包;
rpm -iv example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息;
rpm -ivh example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息及安装进度; RPM 查询操作
命令:
rpm -q …
附加查询命令:
a 查询所有已经安装的包以下两个附加命令用于查询安装包的信息;
i 显示安装包的信息;
l 显示安装包中的所有文件被安装到哪些目录下;
s 显示安装版中的所有文件状态及被安装到哪些目录下;以下两个附加命令用于指定需要查询的是安装包还是已安装后的文件;
p 查询的是安装包的信息;
f 查询的是已安装的某文件信息; 举例如下:
rpm -qa | grep tomcat4 查看 tomcat4 是否被安装;
rpm -qip example.rpm 查看 example.rpm 安装包的信息;
rpm -qif /bin/df 查看/bin/df 文件所在安装包的信息;
rpm -qlf /bin/df 查看/bin/df 文件所在安装包中的各个文件分别被安装到哪个目录下; RPM 卸载操作
命令:
rpm -e 需要卸载的安装包
在卸载之前,通常需要使用rpm -q …命令查出需要卸载的安装包名称。 举例如下:
rpm -e tomcat4 卸载 tomcat4 软件包 RPM 升级操作
命令:
rpm -U 需要升级的包 举例如下:
rpm -Uvh example.rpm 升级 example.rpm 软件包 RPM 验证操作
命令:
rpm -V 需要验证的包 举例如下:
rpm -Vf /etc/tomcat4/tomcat4.conf
输出信息类似如下:
S.5....T c /etc/tomcat4/tomcat4.conf
其中,S 表示文件大小修改过,T 表示文件日期修改过。限于篇幅,更多的验证信息请您参考rpm 帮助文件:man rpm RPM 的其他附加命令 --force 强制操作 如强制安装删除等;
--requires 显示该包的依赖关系;
--nodeps 忽略依赖关系并继续操作;

RPM软件包的安装及卸载

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

vim  /etc/gitlab/gitlab.rb

退出并保存
ps:注意这里设置的端口不能被占用,默认是8080端口,如果8080已经使用,请自定义其它端口,并在防火墙设置开放相对应得端口
5.重置并启动GitLab
gitlab-ctl reconfigure
gitlab-ctl restart
ok: run: gitlab-git-http-server: (pid 3922) 1s
ok: run: logrotate: (pid 3929) 0s
ok: run: nginx: (pid 3936) 1s
ok: run: postgresql: (pid 3941) 0s
ok: run: redis: (pid 3950) 0s
ok: run: sidekiq: (pid 3955) 0s
ok: run: unicorn: (pid 3961) 1s

提示“ok: run:”表示启动成功

6.访问 GitLab页面

如果没有域名,直接输入服务器ip和指定端口进行访问(第一次登陆需更改初始密码)

常用维护命令:gitlab-ctl start|stop|status|restart

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

发信系统用的默认的postfix,smtp是默认开启的,两个都启用了,两个都不会工作。
我这里设置关闭smtp,开启postfix
关闭smtp方法:vim /etc/gitlab/gitlab.rb
找到#gitlab_rails['smtp_enable'] = true 改为 gitlab_rails['smtp_enable'] = false
修改后执行gitlab-ctl reconfigure
另一种是关闭postfix,设置开启smtp,相关教程请参考官网https://doc.gitlab.cc/omnibus/settings/smtp.html
测试是否可以邮件通知:
登录并添加一个用户,我这里使用qq邮箱添加一个用户

 常见报错!

一.登录502报错

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

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

二.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:x:497:498::/var/opt/gitlab/nginx:/bin/false

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

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

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

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

报错处理

centos7 部署安装gitlab服务器的更多相关文章

  1. git操作:在CentOS7上面搭建GitLab服务器

    在这篇文章中将要讲解如何在CentOS7上面搭建本地的GitLab服务器. 一.安装并配置必要的依赖关系 首先要在CentOS系统上面安装所需的依赖:ssh.防火墙.postfix(用于邮件通知).w ...

  2. centos7 安装 gitlab 服务器

    https://www.cnblogs.com/wenwei-blog/p/5861450.html 标签: centos7 git安装 git gitlab 我这里使用的是centos 7 64bi ...

  3. centos7.4安装gitlab

    1. 安装依赖软件 yum -y install policycoreutils openssh-server openssh-clients postfix 2.下载gitlab安装包,然后安装 c ...

  4. CentOS7下安装Gitlab社区版【安装步骤、IP改域名、修改端口】

    这两天一直在给公司的服务器配置Gitlab(10.5.4).过程很是痛苦,所以把过程记录一下. 1.安装CentOS7 从官网上下载了最新版CentOS-7-x86_64-DVD-1708.iso.用 ...

  5. Linux安装Gitlab服务器

    1. 下载GitLab 下载地址:https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-10.8.2-ce.0.el ...

  6. CentOS安装gitLab服务器

    首先利用gitlab-install-el6.sh安装,比较简单: (出处:http://www.linuxidc.com/Linux/2013-06/85754.htm) 1:如果有条件,提供一台全 ...

  7. Centos7.6 安装DNS服务器

    Centos7 安装 DNS 服务器 1 需求 需要在内部局域网安装一台域名服务器,让内网的机器通过此域名服务器解析IP地址: 2 设备 A TPLink路由器,型号 TL-WDR6500: B 准备 ...

  8. 在CentOS7上面搭建GitLab服务器

    首先要在CentOS系统上面安装所需的依赖:ssh.防火墙.postfix(用于邮件通知).wegt,以下这些命令也会打开系统防火墙中的HTTP和SSH端口访问. 1.安装SSH协议 安装命令:sud ...

  9. 在CentOS7上安装ftp服务器用于保存服务端上传的图片。

    1.CentOS卸载vsftpd的方法 如果服务器上已经安装了vsftpd服务,配置出错需要卸载vsftpd服务. 1.1 查找vsftpd服务 [root@localhost /]# rpm -aq ...

随机推荐

  1. SAP MM 明明已经扩展供应商到采购组织下,采购订单里还是报错?

    SAP MM 明明已经扩展供应商到采购组织下,采购订单里还是报错? 如下的PO 4400000069,处于HELD状态.ME22N试图保存它为一个正式的采购订单,报错说供应商没有在采购组织下维护, 使 ...

  2. 【AO例子】生成TIN

    当然,通过GP生成也是可以的.这里介绍的是已经烂大街的生成方法. 上代码: public ITin CreateTin(IFeatureClass featureClass, IField Z, st ...

  3. Java关于日期的计算持续汇总~

    /** * 00 * 描述:传入Date date.转为 String yyyyMMdd. * [时间 2019-04-18 15:41:12 作者 陶攀峰] */ public static Str ...

  4. 金蝶K3外购入库单单价取数规则调整

    涉及界面: 问题:财务抱怨外购入库单价格取错,单价多除了一次税率 例如,采购单里面注明了价格是不含税15.3256 结果在外购入库单里面,又自做主张除以税率17%,把采购成本搞成了13.0988, 咨 ...

  5. 记录Html+Css流程表格

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 《Python神经网络编程》的读书笔记

    文章提纲 全书总评 读书笔记 C01.神经网络如何工作? C02.使用Python进行DIY C03.开拓思维 附录A.微积分简介 附录B.树莓派 全书总评 书本印刷质量:4星.纸张是米黄色,可以保护 ...

  7. 总结JAVA----IO流中的字节流

    对于IO流中字节流的总结 字节流的概念 由于应用程序,经常需要和文件打交道,所以Inputstream专门提供了读写文件的子类:FileInputStream和FileOutputStream类,如果 ...

  8. Synchronized的基本知识、实现原理以及其与ReentrantLock的区别

    一.synchronized知识 在谈论synchronized之前,我们需要了解线程安全问题的主要诱因.线程安全问题的主要诱因如下: 存在共享数据(也称为临界资源) 存在多条线程共同操作这些共享数据 ...

  9. 015_python原生在线调试工具

    一.pdb https://docs.python.org/3/library/pdb.html

  10. Python函数的装饰器修复技术(@wraps)

    @wraps 函数的装饰器修复技术,可使被装饰的函数在增加了新功能的前提下,不改变原函数名称,还继续使用原函数的注释内容: 方便了上下文环境中不去更改原来使用的函数地方的函数名: 使用方法 from ...