首页 > 代码库 > 【GitLab】CentOS 6.5 安装GitLab 搭建自己的Github

【GitLab】CentOS 6.5 安装GitLab 搭建自己的Github

前言:
  使用Github,免费的公开仓库可以用来开源一些代码,可是写一个项目的时候,并不想开源,在Github创建私有仓库还需要交保护费,所以我就想到了要不要自己搭一个Git服务器。
  一开始,我直接yum安装了git,通过简单的配置可以通过git@server:/git/*.git,这样SSH的方式push和pull代码。可是,我还想通过http的方式,于是又通过安装apache实现了通过http的方式进行操作。现在又遇到了问题,就是怎么在线浏览我的代码,然后又是一通搜索,找到了gitweb,然后又是一通安装,失败了,可能是因为太乱了。不过,在我搜索的过程中,搜索引擎自动跳出了GitLab,然后马上展开搜索,就像发现了新大陆一样,顿时感觉,生活在这个开源的时代,学计算机是一件多么幸福的事情。(注:第一次写技术博客,有不好的地方尽管提出来)

登录成功界面 (这个页面是登录之后的页面,因为文章是我安装成功之后才写的,正常首次访问是要求你设置root密码的页面):

技术分享

安装前准备:
  VPS主机商: 腾讯云 (因为我是学生,正好可以用阿里云和腾讯云提供的学生主机,阿里云主机我搭建了我现在的博客,腾讯云一直空着,这次正好用来搭GitLab)
  VPS运行内存: 1G
  系统版本: Centos 6.5 64位
  GitLab版本: 8.9.9

开始安装:
  GitLab官网地址:   http://gitlab.com (官方网站全是英文,英文好的可以看下)
  国内GitLab镜像地址:  http://gitlab.cc" (该网站还有翻译,以及一些rpm包的国内镜像地址)
  查看GitLab硬件需求: https://doc.gitlab.cc/ce/install/requirements.html  (这是翻译版本,看英文原版也可以到官网地址自己找)
  GitLab中文文档: https://doc.gitlab.cc/omnibus/"
  
1.安装配置依赖项

sudo yum install curl openssh-server openssh-clients postfix cronie
sudo service postfix start  #GitLab使用postfix发送邮件
sudo chkconfig postfix on   #设置postfix开机自启动
sudo lokkit -s http -s ssh  #配置iptables开放http和ssh端口,这里需要注意,腾讯云安全组选择那里要选择开放所有端口
#这一步可能会显示failed ip6tables start,这个不需要管,直接运行下面查看是否打开端口就可以了

输入命令查看是否打开http和ssh端口

iptables -L

如显示下面的界面则表示已经打开端口

技术分享

2.下载RPM包,并上传到服务器 (我这里是选择的下载rpm包,也有其他的方式,就是下载他的安装脚本或者镜像等方式,如果不想用rpm安装,可以自行搜索其它方式,官网也都有说明)
国内镜像下载地址: https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/ (Centos 6.5 64位)
打开后可以看到各个版本的rpm包,我是选择的8.9.9版本,点击相应rpm包进行下载

技术分享

3.上传rpm包到服务器root目录,执行以下命令

cd /root
rpm -i gitlab-ce-8.9.9-ce.0.el6.x86_64.rpm #rpm替换成自己所选择并下载的版本

安装成功会提示谢谢您的安装什么的。具体的就不截图了,这一步应该不会报错。
4.启动GitLab

sudo gitlab-ctl reconfigure

5.使用浏览器访问GitLab (这里访问你的服务器IP地址)
  首次访问GitLab,系统会让你重新设置管理员的密码,设置成功后会返回登录界面。
  默认的管理员账号是root,如果你想更改默认管理员账号,请输入上面设置的新密码登录系统后修改帐号名。
6.上面的步骤执行完后应该就是可以使用了,可是因为我的服务器只有1G内存,所以浏览器访问的时候,时不时的会报502错误,这里我们需要增加服务器虚拟内存可以解决。 (对于502错误,也有可能是服务器端口占用的原因,不过我的服务器没有安装其他东西,所以不会出现端口占用的情况)
502
GitLab is not responding.
Please contact your GitLab administrator if this problem persists.

下面的操作是增加服务器虚拟内存:

dd if=/dev/zero of=/var/swap bs=1024 count=2048000 #增加2G左右SWAP
mkswap /var/swap #设置交换文件
swapon /var/swap #激活启用交换分区

下一步编辑fstab文件

vim /etc/fstab

在fstab文件最后一行添加如下内容

/var/swap swap swap defaults 0 0

这样就可以解决浏览器访问出现502的问题。还有就是服务器确实配置不怎么高,不过使用人数少应该没多大问题的。
需要注意的是:
  通过这样的安装方式,默认安装的web服务器是Nginx,数据库是PostgreSQL,所以有其它需求的,比如使用Apache和Mysql等,是需要编译安装的。因为我不是学系统运维的,所以就怎么方便怎么来。能满足我的需求就可以了。
  还有就是,我发现了一个国人写的类似于GitLab的项目,叫做Gogs,是Go语言开发的,据说比GitLab配置更方便,感兴趣的可以移步到官网看下》<a href="https://gogs.io/" target="_blank">Gogs官网</a>
总结:
  这篇文章只是实现了GitLab的简单安装,并没有配置域名和https访问等等需要配置的东西。之后的文章,会进行一些简单的配置操作。
  第一次写技术博客,很多地方可能我都没有考虑到,有不好的地方可以在下面留言反馈。
参考资料:
  GitLab 简明安装配置指南
  CentOS增加swap分区大小

【GitLab】CentOS 6.5 安装GitLab 搭建自己的Github