CentOS7中搭建GitLab踩坑实录
今晚闲来无事,尝试了下自己搭建一台git服务器,很多人可能不明白平时自己随手就可以提交代码,为什么还要自己搭建服务器呢?首先你有没有考虑过你是怎么能把代码提交上去的?如果公司突然有一天需要你来负责搭建一台git服务器,你要怎么办?git的功能十分强大,只搭建服务器已经是最简单的工作了,后面还得考虑权限如何设置,如何利用git进行CICD……
一、安装虚拟机Linux
现实开发中,服务器基本都是Linux系统
,很少有Windows
,而本人服务器系统版本为:Centos 7 64位
。
服务器选择:
- 本地虚拟机 「推荐使用, 自己装系统,比较繁琐,只要电脑内存足够,可更具需要调整内存,穷人必备」
- 云主机 「GitLab 至少要 3G 以上内存, 很占用内存,emmmm~ 不便宜」
安装的过程就不多啰嗦了,安装好了以后需要设置几个非常重要的配置:
1.先在VMware Workstation进入编辑按钮设置,选择虚拟网络编辑器
2.然后选择NAT模式
3.选择虚拟机,点击设置
4、进入虚拟机,进入到网络配置文件
vi /etc/sysconfig/network-scripts/ifcfg-ens33
将ONBOOT=no 设置成为ONBOOT=yes,同时将ip地址设置为固定ip,防止每次重启后改变
#添加如下配置 ONBOOT="yes" IPADDR=192.168.253.5 NETMASK=255.255.255.0 GATEWAY=192.168.253.2 DNS1=8.8.8.8 DNS2=114.114.114.114 PEERDNS=no
5、然后重启网卡
service network restart
踩坑点:此时,虚拟机就设置完毕,但是如果你发现你的虚拟机依旧无法访问网络,那么就要设置本地机器网络为固定ip,操作如下:
(1)找到本地网络适配器中,虚拟机所对应的NAT网络,
(2)右击--属性--ipv4属性,选择使用下面的ip地址,此处的ip设置一定不要和虚拟机的ip地址一样,否则无法访问网络哦,切记切记!!!
网关要和ip在同一个网段
上述设置完毕以后,你的虚拟机的就设置好了,也可以访问网络了!
二、安装Xshell工具
安装这个工具本身没什么问题,有问题的大家可以自行百度,问题在于本人犯的一个错误就是控制面板那里设置的ip地址和centOS的ipAddress(即用ifconfig -a查出来的ip地址)设置成一样了,导致一直都没有连接成功,这个大家一定要避坑,否则连接不上。
三、安装gitlab
安装gitlab有几种方式:docker的方式安装,另一种就是直接安装在Linux,两种方式各有利弊,docker的话就不用管端口冲突之类的问题,所以我选择直接安装到Linux,因为我的这台机器只用来做git。
一般都是使用如下命令:
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.1.2-ce.0.el7.x86_64.rpm
1.但是由于我的机器上无法解析该地址(如果无法解析,可以试试安装一下证书:yum install -y ca-certificates),所以我选择在本地下载git后上传到Linux,就是在本地浏览器直接访问:
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.1.2-ce.0.el7.x86_64.rpm
下载好了以后,使用winscp直接吧下载好的gitlab Linux安装文件上传到虚拟机上去
2.在Xshell上用命令进入到保存gitlab文件的文件夹内,我的在usr/local/gitlab 文件夹中
#进入到gitlab的安装目录 cd usr/local/gitlab #执行如下命令安装ssh yum -y install curl policycoreutils openssh-server openssh-clients
3.出现Complete即安装完成
4.执行如下命令进行gitlab的安装
rpm -i gitlab-ce-12.2.1-ce.0.el7.x86_64.rpm #出现如下界面需等待
安装成功!!!
5.执行如下命令,打开配置文件,并将地址修改为你的虚拟机地址
vi /etc/gitlab/gitlab.rb
重点来了:由于在上文中防火墙已开启,则需要把相应的端口8600放开。
firewall-cmd --zone=public --add-port=8600/tcp --permanent
1.使gitlab的配置文件生效,这一步时间较长,耐心等待 sudo gitlab-ctl reconfigure 2.重启gitlab sudo gitlab-ctl restart 此时,在浏览器中输入gitlab的ip和端口号,无法访问!!!!
重中之重:
#linux系统开放8600端口
cd /etc/sysconfig ls -l
没有查看到iptables文件,但存在ip6tables-config和iptables-config,本文中的linux为CentOS 7.6 ,CentOS 7默认没有了iptables文件
安装iptables-services
yum install iptables-services
启动iptables
systemctl enable iptables systemctl start iptables
在iptables中配置开放8600端口
vim /etc/sysconfig/iptables
把这句话添加配置文件中:-A INPUT -m state --state NEW -m tcp -p tcp --dport 8600 -j ACCEPT
重启防火墙
service iptables restartj
结束!!!!
到此gitlab就搭建完毕了,浏览器中输入:http://192.168.253.5:8600