摘要 GitLab 是一个用于仓库管理系统的开源项目。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。 在GitLab的官方网站上面对Ubuntu的支持也是很好的,有比较详尽的安装指南。 在介绍postfix的地方有少部分的坑,本文抛砖引玉,解决一些我遇到的坑。 本文主要针对Ubuntu 14.04,介绍如何安装Gitlab。其他的Ubuntu可以作为一个参考。
1.安装需要的库和软件
更多详细的请参考官方的下载地址,里面有安装的介绍。 你也可以什么都不管直接执行下面的命令。需要注意的就是安装postfix的时候,需要进行一些选择 简单来说,就是postfix就是用来发送邮件的,由于需要发送验证邮件,所以这个是需要装的,至于具体装什么来发送邮件是可选的,这里选择了官方推荐的postfix,也许会坑比较少吧。 我觉得如果是postfix来配置SMTP服务器比较复杂,我这里就不做介绍了,你可以参照其他的资料。 我为了更方便的把邮件发出去,直接使用了企业邮箱的邮件服务,只需要设置smtp服务器就行了。
sudo apt-get install curl openssh-server ca-certificates postfix
2. 添加GitLab的包并进行安装
- curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
- sudo apt-get install gitlab-ce
你可以使用上面的方法来进行安装,但是中国大陆的网速估计会比较蛋疼。我把我下载的一个Ubuntu 64位的版本放在百度云上面了。不知道是否可以下载。 gitlab-ce_7.10.5~omnibus-1_amd64.deb百度云下载地址: http://pan.baidu.com/s/1eQrlf1o
下载了之后:
sudo dpkg -i gitlab-ce_7.10.5~omnibus-1_amd64.deb
3. 配置和启动GitLab
sudo vim /etc/gitlab/gitlab.rb
上面是一些我的配置信息。希望对你有帮助。下面的图片是官方给的文档。 (上面的邮箱需要根据你自己邮箱来确定,更多的可以抄Gmail的例子。) 配置完成之后,需要执行下面的命令使得变更生效。
sudo gitlab-ctl reconfigure
有时候你还需要重启postfix。(可选)
sudo /etc/init.d/postfix restart
4. 访问GitLab
这样你就可以通过访问: http://192.168.1.10:8080 来进行GitLab的访问了。
默认管理员的账户密码:
- Username: root
- Password: 5iveL!fe
访问如果出现如下图所示(502,gitlab is not responding):
使用命令gitlab-ctl tail查看日志发现上面配置的8080端口被占用,下面是我的解决方案:
==> /var/log/gitlab/unicorn/unicorn_stderr.log <==
E, [2016-01-28T02:49:52.184891 #3497] ERROR -- : adding listener failed addr=192.168.52.142:8080 (in use)
E, [2016-01-28T02:49:52.185313 #3497] ERROR -- : retrying in 0.5 seconds (4 tries left)
E, [2016-01-28T02:49:52.685794 #3497] ERROR -- : adding listener failed addr=192.168.52.142:8080 (in use)
E, [2016-01-28T02:49:52.686193 #3497] ERROR -- : retrying in 0.5 seconds (3 tries left)
E, [2016-01-28T02:49:53.187549 #3497] ERROR -- : adding listener failed addr=192.168.52.142:8080 (in use)
E, [2016-01-28T02:49:53.188779 #3497] ERROR -- : retrying in 0.5 seconds (2 tries left)
E, [2016-01-28T02:49:53.689967 #3497] ERROR -- : adding listener failed addr=192.168.52.142:8080 (in use)
E, [2016-01-28T02:49:53.690925 #3497] ERROR -- : retrying in 0.5 seconds (1 tries left)
E, [2016-01-28T02:49:54.192332 #3497] ERROR -- : adding listener failed addr=192.168.52.142:8080 (in use)
E, [2016-01-28T02:49:54.192844 #3497] ERROR -- : retrying in 0.5 seconds (0 tries left)
E, [2016-01-28T02:49:54.694610 #3497] ERROR -- : adding listener failed addr=192.168.52.142:8080 (in use)
/opt/gitlab/embedded/service/gem/ruby/2.1.0/gems/unicorn-4.6.3/lib/unicorn/socket_helper.rb:147:in `initialize': Address already in use - bind(2) for "192.168.52.142" port 8080 (Errno::EADDRINUSE)
通过日志看出端口被占用,使用下面命令来修改文件当中的:listen "127.0.0.1:8080", :tcp_nopush => true,把红色部分8080端口改成8081就可以了,修改过后使用gitlab-ctl restart重启之后就可以了。
sudo vim /var/opt/gitlab/gitlab-rails/etc/unicorn.rb
5. 参考资料(很重要的都是放在最后)
- http://www.tuicool.com/articles/3uAzay GitLab安装篇-Ubuntu 14.04 LTS
- https://about.gitlab.com/downloads/ GitLab官网安装指南
- https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/smtp.md#examples GitLab中的SMTP服务器设置的例子
- http://wiki.ubuntu.org.cn/PostfixBasicSetupHowto postfix的基础介绍和新手指南
最后结果图: