Ubuntu 16.04 x64(Linux Mint 18)搭建GitLab服务器操作笔记与问题解决

Ubuntu 16.04 x64搭建GitLab服务器操作笔记

 我所遇到的GitLab 502问题的解决

(本人在作业部落上的原文:https://www.zybuluo.com/lovemiffy/note/418758

本文主要记录在Ubuntu 16.04操作系统中搭建GitLab服务器的操作记录,以下是操作步骤(主要参考资料:https://about.gitlab.com/downloads/#ubuntu1604)。

1.安装依赖包,运行命令

sudo apt-get install curl openssh-server ca-certificates postfix

执行完成后,出现邮件配置,选择Internet那一项(不带Smarthost的)

2.利用清华大学的镜像(https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/)来进行主程序的安装。
首先信任 GitLab 的 GPG 公钥:

curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null

利用root用户1(不是sudo,而是root),vi打开文件/etc/apt/sources.list.d/gitlab-ce.list,加入下面一行:

deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu xenial main

安装 gitlab-ce:

sudo apt-get update 
sudo apt-get install gitlab-ce

3.执行命令

sudo gitlab-ctl reconfigure

4.打开 sshd 和 postfix 服务

service sshd start 
service postfix start

5.了使 GitLab 社区版的 Web 界面可以通过网络进行访问,我们需要允许 80 端口通过防火墙,这个端口是 GitLab 社区版的默认端口。为此需要运行下面的命令

sudo iptables -A INPUT -p tcp -m tcp --dport 80-j ACCEPT

6.检查GitLab是否安装好并且已经正确运行,输入下面的命令

sudo gitlab-ctl status

如果得到类似下面的结果,则说明GitLab运行正常

run: gitlab-workhorse: (pid 1148) 884s; run: log: (pid 1132) 884s
run: logrotate: (pid 1150) 884s; run: log: (pid 1131) 884s
run: nginx: (pid 1144) 884s; run: log: (pid 1129) 884s
run: postgresql: (pid 1147) 884s; run: log: (pid 1130) 884s
run: redis: (pid 1146) 884s; run: log: (pid 1133) 884s
run: sidekiq: (pid 1145) 884s; run: log: (pid 1128) 884s
run: unicorn: (pid 1149) 885s; run: log: (pid 1134) 885s

 

7.在浏览器地址栏中输入:http://127.0.0.1,即可访问GitLab的Web页面

8.首次使用时,浏览器Web页面会提示设置密码,如下图所示。

2016-06-27 21-37-54屏幕截图.png-47.8kB
9.设置密码password后,点击按钮“Change your password”后,跳转到登录/注册页面,如下图所示。

2016-06-28 21-44-01屏幕截图.png-20.9kB

登录名为root,密码为前面设置的password,登录后进入欢迎页面,如下图所示。

2016-06-28 21-53-14屏幕截图.png-38kB
10.登录进入系统后,创建一个Group,创建后如下图所示。

2016-06-29 21-32-26屏幕截图.png-23.5kB
11.创建用户,进入http://127.0.0.1/users/sign_in,进入首页创建一个新用户,如下图所示。

2016-06-30 21-24-53屏幕截图.png-24.3kB
12.创建好了用户后,会自动引导至用户的主页,点击左边菜单栏中的Profile Settings,进入配置界面,再点击导航栏中的SSH Keys进入密钥的输入界面,如下图所示。
image_1aml3od0s10v11av8a6ospu1till.png-24kB
如果不知道如何获取密钥,可以按照这个链接来进行操作:http://127.0.0.1/help/ssh/README
得到了密钥后,将其输入即可

13.在用户主页中创建项目,如下图所示。

image_1amgol7ku18kq769v5lkmevljl.png-40.1kB
14.创建好了项目后,引导至项目的主页

15.至此,基于Ubuntu 16.04 x64操作系统的GitLab服务器搭建工作就完成了。

ps:如果访问出现不过一直出现错误502错误

502
GitLab is not responding.
Please contact your GitLab administrator if this problem persists.

gitlab出现的502错误

经过一个下午的查找终于发现了错误,原来是在服务器上还开启了一个tomcat服务,占用了8080端口,使GitLab的unicorn服务不能开启。

关闭tomcat即可或者修改端口(ps:如果修改看上面链接)

修改端口

安装完成之后默认是用80端口,如果需要用其他端口,需要修改一下配置文件。

sudo vi /etc/gitlab/gitlab.rb

修改external_url,直接增加端口号即可,比如我这里用8800端口:

external_url 'http://skyserver:8800'

也可以在这里修改host为真实的公网host,比如”http://basiccloud.net:8800

修改后再次执行”sudo gitlab-ctl reconfigure”以便配置修改生效。

注意:除了这个端口外,还有一个unicorn用的端口,默认是8080,如果8080端口被其他程序占用。那么unicorn就会无法启动,显示为502错误,”GitLab is not responding”。

这种情况下修改unicorn的配置:

unicorn['listen'] = '127.0.0.1' 
unicorn['port'] = 8801

完成后通过浏览器访问(http://skyserver:8800).

Update(2015/11/26): 在ubuntu14.04服务器上, 发现按照上面的修改并执行”sudo gitlab-ctl reconfigure”, 会发现默认的8080和新修改的8801两个端口都会同时被gitlab占用. 最后只有重启ubuntu服务器才能释放出8080端口, 原因不明.

账号设置

默认管理员密码如下:

Username: root 
Password: 5iveL!fe

root账户第一次登录时会要求修改密码,为了安全我们在管理页面可以新建一个普通用户,注意新建用户过程中不能设置密码,在建立成功之后可以edit这个账号然后这里可以设置密码。

关闭注册功能

默认注册功能是开启的, 对于个人的gitlab, 没有对外公布的必要(有就直接上github了), 因此需要考虑关闭注册功能.

用管理员账号登录之后, 进入”Admin area”, 点”settings”, 取消”Signup enabled”.

共有 0 条评论

 Top