CentOS7 搭建gitlab服务器
CentOS7搭建gitlab服务器
前提条件,首先你需要有一台CentOS的服务器,这里是阿里的服务器,本篇操作基于版本是CentOS7.9
查看当前服务器版本
# more /etc/redhat-release
1、服务器端必要的相关配置
我这里是通过Ubuntu的终端来进行整个配置过程的操作的。
- 登录到服务器
然后会提示你输入密码,输完密码后你会看到欢迎提示,这时候你就可以操作服务器了# ssh root@你的服务器的ip地址
- 安装ssh
SSH 是一种网络协议,用于计算机之间的加密登录,之所以能够保证安全,原因在于它采用了公钥加密。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。
在终端中输入以下命令安装ssh:
#sudo yum install -y curl policycoreutils-python openssh-server
//将SSH服务设置成开机自启动命令如下
#sudo systemctl enable sshd
//启动SSH服务,命令如下:
#sudo systemctl start sshd
-
防火墙设置
打开系统防火墙#sudo firewall-cmd --permanent --add-service=http #sudo systemctl reload firewalld
-
安装 Postfix 用来发送邮件:
#sudo yum install postfix #sudo systemctl enable postfix #sudo systemctl start postfix
关于postfix 启动异常报错的处理方式
yum remove postfix 先卸载
yum install -y postfix 然后重装
至此,准备环境以完成
2、安装gitlab
下载gitlab镜像然后安装https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/,命令如下:
//下载gitlab镜像
#wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.5.7-ce.0.el7.x86_64.rpm --no-check-certificate
//安装gitlab
#rpm -i gitlab-ce-10.5.7-ce.0.el7.x86_64.rpm
当出现一个红色的狐狸形状图标时,则安装成功
3、更新gitlab配置
修改gitlab的配置文件,指定服务器的ip和自定义端口:
//通过vi命令来编辑配置文件
#vim /etc/gitlab/gitlab.rb
//进入到vi编辑器,找到文件中的 external_url 那一行 ,修改它的值
external_url "http://服务器的ip地址" //注意这里不要设置端口号,我试了一下设置端口号,会一直访问不了
//按esc键输入:wq 保存并退出
重置并启动Gitlab具体命令如下:
//重置gitlab
#gitlab-ctl reconfigure
//重启gitlab
gitlab-ctl restart
执行完上一步,基本上就已经OK了,我查了网上好多教程都是到这一步就OK了,但是我输入了gitlab网址和端口号,确实无法连接,不知道是不是只有我遇到了这个问题,如果你也是,请继续往下看
遇到的坑
我做了以上的配置之后并不能打开gitlab的web端,搜了各种解决方法,
502错误 修改 gitlab.rb
我试了一下,只要把下面两行放开,随便改一个端口
# gitlab_workhorse['auth_backend] = "http://localhost:8080"
# unicorn['port'] =8080
然后再运行一次如下命令
//重置gitlab
#gitlab-ctl reconfigure
//重启gitlab
gitlab-ctl restart
重新访问就能打开了,我处于好奇,把上面放开的注释,重新注释掉,又重启了一遍gitlab,发现能正常启动,所以不知道这个问题到底是什么原因,不过感觉,gitlab 默认就是占用80端口,改成其他的端口一直是无法访问,即便是给指定端口开放防火墙,有知道原因的同学可以评论,多谢指点
卸载gitlab
gitlab-ctl stop
rpm -e gitlab-ce
ps -ef|grep gitlab //查看有哪些进程
kill -9 上一个命令中看到的第一个进程号,就是很多点...的那个
find / -name gitlab | xargs rm -rf. //删除所有跟 gitlab 相关的文件和文件夹