Ubantu 18.04下安装并配置GitLab(实测)
先决安装
sudo apt-get update
sudo apt-get install -y curl openssh-server ca-certificates
sudo apt-get install -y postfix //邮件服务
- 安装邮件服务的时候会出现邮件配置,使用左右键和回车键选择确定、取消,弹出列表选项的时候,选择Internet Site
安装
信任GitLab的GPS公钥
curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null
配置镜像路径
- 由于国外的下载速度过慢,所以配置清华大学镜像的路径。
- 建议利用命令
sudo -i
进入root模式使用vim进行配置:
vim /etc/apt/sources.list.d/gitlab-ce.list
- 根据你的版本,选择对于的内容写入/etc/apt/sources.list.d/gitlab-ce.list,详见Gitlab Community Edition 镜像使用帮助
deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu xenial main
安装gitlab-ce
sudo apt-get update
sudo apt-get install gitlab-ce
执行配置
sudo gitlab-ctl reconfigure
启动gitLab
sudo gitlab-ctl start
浏览器访问
http://电脑的IP地址
或者
http://localhost
或者
http://127.0.0.1
- 第一次进入,需要输入管理员账号的密码,以方便后期的管理。
- 输入好之后,就可以以管理员进行登录,账号是root,密码就是你刚才输入的密码。
- 至此,gitlab已安装成功,之后的使用方式,和github没有太大差异,就不进行介绍了。
调整防火墙规则
- 在配置GitLab之前,您需要确保防火墙规则足够宽松以允许Web流量。如果您遵循先决条件中链接的指南,则将启用ufw防火墙。
- 键入以下内容查看活动防火墙的当前状态:
sudo ufw status
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
- 如您所见,当前规则允许SSH流量通过,但对其他服务的访问受到限制。由于GitLab是一个Web应用程序,我们应该允许HTTP访问。因为我们将利用GitLab从Let's Encrypt请求和启用免费TLS / SSL证书的功能,所以我们也允许HTTPS访问。
/etc/services
文件中提供了HTTP和HTTPS的端口映射协议,因此我们可以按名称允许该流量。如果您尚未启用OpenSSH流量,则现在也应该允许该流量:- 再次检查
ufw status
; 您应该看到配置为至少这两个服务的访问权限:sudo ufw status
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
443/tcp (v6) ALLOW Anywhere (v6)
上面的输出表明配置应用程序后可以访问GitLab Web界面。
拓展
修改gitlab的端口和地址
- 编辑gitlab.rd:
sudo gedit /etc/gitlab/gitlab.rb
- 修改external_url数据:
external_url 'http://gitlab.example.com'
,比如说修改为:external_url 'http://192.168.39.100:7800'
其中,192.168.39.100是安装了gitlab的这台电脑的IP,端口只要不冲突就行 - 配置刷新:
sudo gitlab-ctl reconfigure
- 最后,在浏览器中访问gitlab,发现已修改成功,需要使用
192.168.39.100:7800
来访问
gitlab部分命令
- 停止:
sudo gitlab-ctl stop
- 开启:
sudo gitlab-ctl start
- 重启:
sudo gitlab-ctl restart
- 查看状态:
sudo gitlab-ctl status
- 确认配置(修改后必须执行):
sudo gitlab-ctl reconfigure
- 查看日志:
sudo gitlab-ctl tail
- 查看gitlab版本:
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
卸载gitlab
sudo gitlab-ctl uninstall
sudo dpkg -r gitlab-ce
sudo rpm -e gitlab-ce
reboot(重启)
遇到的问题:
- gitlab搭建提示:
Job for postfix.service failed because the control process exited with error code. See "systemctl status postfix.service" and "journalctl -xe" for details
解决:
修改 /etc/postfix/main.cf的设置
inet_protocols = ipv4
inet_interfaces = all