CentOs7 安装Gitlab

一:安装gitlab

一、 安装并配置必要的依赖关系


在CentOS系统上安装所需的依赖:ssh,防火墙,postfix(用于邮件通知) ,wget,以下这些命令也会打开系统防火墙中的HTTP和SSH端口访问。

1.安装ssh

sudo yum install -y curl policycoreutils-pythonopenssh-server

若出现以下图片的信息则表示成功

 

2.将SSH服务设置成开机自启动,安装命令:sudo systemctl enable sshd  

3.启动SSH服务,安装命令:sudo systemctl start sshd

4。安装防火墙(如果已经安装了防火墙并且已经在运行状态,则可直接进行第6步)

yum install firewalld systemd -y

若出现“完毕!”的字样,则表示安装成功

5.开启防火墙,安装命令:service firewalld  start

 

6.添加http服务到firewalld,pemmanent表示永久生效,若不加--permanent系统下次启动后就会失效。

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

7.重启防火墙,安装命令:sudo systemctl reload firewalld

8.接下来,安装Postfix以发送通知邮件,安装命令:sudo yum install postfix

9.将postfix服务设置成开机自启动,安装命令:sudo systemctl enable postfix

10.启动postfix,安装命令:sudo systemctl start postfix

 

在安装Postfix期间,可能会出现配置屏幕。选择“Internet Site”并按enter键。使用您的服务器的外部DNS以“mail name”并按enter。如果出现额外的屏幕,继续按enter键接受默认值。

 

 

11.wget 用于从外网上下载插件

检查系统中是否已经安装wget,使用命令若出现下图wget相关版本描述则说明系统中已经安装wget 若报系统找不到命令说明wget未安装

若wget未安装则进行安装,安装命令:yum -y install wget

 

12.安装vim编辑器  安装命令:yum install vim -y

 

二、添加GitLab镜像源并安装gitlab服务器

 

1.添加gitlab镜像

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

2.安装gitlab 安装命令:rpm -i gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm

安装过程需要些时间,如果出现下图,则说明安装成功。

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

 

vim  /etc/gitlab/gitlab.rb

进入编辑器后按“i”键进入编辑状态,ESC键退出编辑状态

退出并保存,命令输入“:wq”

ps:注意这里设置的端口不能被占用,默认是8080端口,如果8080已经使用,请自定义其它端口,并在防火墙设置开放相对应得端口

 

5.重置并启动GitLab

 

 

 

执行:

 

gitlab-ctl reconfigure

 

gitlab-ctl restart

 

提示  "ok: run:"表示启动成功

6.访问 GitLab页面

如果没有域名,直接输入服务器ip和指定端口进行访问

初始账户: root 密码:5iveL!fe

第一次登录修改密码(后边会讲)

 

 

 

安装过程遇见的那些坑
一、在CentOS里面安装软件,提示软件已安装,但是rpm -q和-e都是提示包没有安装

 

   查看与rpm包相关的文件和其他信息   rpm -qa | grep 包名

查询包是否被安装,命令:rpm -q 包名

删除软件包,命令:rpm -e 包名

 

运行以上三步,把原来的包删除掉重新下载和安装
 

二:开放gitlab端口

CentOS 7 开放防火墙端口 命令

        最近CentOS7的防火墙和6不一样了, 发现以前CentOS 6 系列中的 iptables 相关命令不能用了,查了下,发现Centos 7使用firewalld代替了原来的iptables。

使用方法如下:

>>> 关闭防火墙

systemctl stop firewalld.service             #停止firewall
systemctl disable firewalld.service        #禁止firewall开机启动

>>> 开启端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
 命令含义:
--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
>>> 重启防火墙
firewall-cmd --reload

常用命令介绍
firewall-cmd --state                           ##查看防火墙状态,是否是running
firewall-cmd --reload                          ##重新载入配置,比如添加规则之后,需要执行此命令
firewall-cmd --get-zones                       ##列出支持的zone
firewall-cmd --get-services                    ##列出支持的服务,在列表中的服务是放行的
firewall-cmd --query-service ftp               ##查看ftp服务是否支持,返回yes或者no
firewall-cmd --add-service=ftp                 ##临时开放ftp服务
firewall-cmd --add-service=ftp --permanent     ##永久开放ftp服务
firewall-cmd --remove-service=ftp --permanent  ##永久移除ftp服务
firewall-cmd --add-port=80/tcp --permanent     ##永久添加80端口 
iptables -L -n                                 ##查看规则,这个命令是和iptables的相同的
man firewall-cmd                               ##查看帮助

更多命令,使用  firewall-cmd --help 查看帮助文件

重新开启防火墙:Failed to start firewalld.service: Unit firewalld.service is masked 问题解决:

https://blog.csdn.net/Joe68227597/article/details/75207859

>>>  CentOS 7.0默认使用的是firewall作为防火墙,使用iptables必须重新设置一下
1、直接关闭防火墙
systemctl stop firewalld.service           #停止firewall
systemctl disable firewalld.service     #禁止firewall开机启动

2、设置 iptables service
yum -y install iptables-services
如果要修改防火墙配置,如增加防火墙端口3306
vi /etc/sysconfig/iptables 
增加规则
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

保存退出后
systemctl restart iptables.service #重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动
最后重启系统使设置生效即可。


三:初始化管理员密码;

 

获取/修改超级管理员root的密码

a、 切换目录:cd /opt/gitlab/bin

b、执行 :sudo gitlab-rails console production 命令 开始初始化密码

c、在irb(main):001:0> 后面通过 u=User.where(id:1).first 来查找与切换账号(User.all 可以查看所有用户)

d、通过u.password='12345678'设置密码为12345678(这里的密码看自己喜欢):

e、通过u.password_confirmation='12345678' 再次确认密码

f、通过 u.save!进行保存(切记切记 后面的 !)

g、如果看到上面截图中的true ,恭喜你已经成功了,执行 exit 退出当前设置流程即可。

h、回到gitlab ,可以通过 root/12345678 这一超级管理员账号登录了

i、至此大功搞成。

j、剩下来的就是享受成功带来的gitlab乐趣了。
 

四创建仓库;

1:查看是否开启ssh和http

2:关闭头像服务,因其在国外,减缓了访问速度

3:关闭注册接口,因为这是企业内部的访问仓库,账号由管理员分发

4:登录页面的信息提示

5:记得保存!

6:新建用户(管理员操作)

7:创建仓库-项目

8:创建完空白仓库就可以通过idea或者命令行等方式上传代码;