天天看点

架设私人版本控制工具,Ubuntu16.04设置GitLab CE服务器

写在前面

GitLab CE(Community Edition,社区版本)是一款免费开源的Git服务器,和GitHub一样,上面能完成的主要工作是部署自己的版本控制项目。GitHub上一个允许部署无限私人项目的权限需要7刀每月,而自己部署一个VPS去管理私人项目最便宜5刀每月(2017年7月价格)。不过区别在于,个人VPS的性能远不如GitHub提供的那么高级。所以价格差在这里了,不过对于凡是都爱自己试试看的人群来说,GitLab也许会是更好的选择。

步骤

  1. 购买自己的VPS以及VPS租用后的必要设置。内容在我的这篇博文当中。重要:在我博客中提到设置虚拟内存(swap)时请设置4G,博客中的代码是设置2G虚拟内存,只需要把2 改为4 即可; 我们GitLab如果只是自己使用的,请购买DigitalOcean或者其他VPS提供商的最便宜套餐即可。
  2. 参考资料。以下所有的内容都是翻译于这篇英文博文,外加自己设置时候遇到的问题补充,如果还是遇到问题,朋友们可以在我的和它的博文中找找资料。
  3. 安装依赖软件。在完成第1步后,我们应该已经有了拥有sudo权限的非root用户,接下来的操作都是在这个用户底下进行。用

    sudo apt-get update

    更新软件列表,拿到最新的软件版本。之后

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

    安装 ca-certificates, curl, openssh-server, postfix这四款依赖软件。其中需要额外设置一下的是postfix(一款Linux邮件服务器,我们需要用它给GitLab的新用户发邮件进行身份认证),在安装的过程中它会跳出一个界面让我们选择邮件设置,应为我们是在VPS上搭建这个邮件服务器,所以选择Internet Site,然后在下一个界面中输入自己的VPS的ip或者绑定这个ip的域名都可以。
  4. 安装GitLab。这一步是通过官方推荐的Omnibus package安装。很简单的步骤。首先

    cd /tmp

    进入到/tmp目录下载一个脚本,配置Omnibus package。下载命令:

    curl -LO https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh

    。然后运行这个脚本

    sudo bash /tmp/script.deb.sh

    。完成之后就可以安装gitlab ce版本了

    sudo apt-get install gitlab-ce

    !这相比于上面的依赖软件,要花一些时间。在安装完成之后,进行初始化配置

    sudo gitlab-ctl reconfigure

    。这个配置第一次运行的时候也很花时间,ok,之后我遇到了一个小问题,这个初始化配置貌似不能自动识别VPS的ip地址,从而搭建的GitLab的对外地址(URL)默认是VPS主机的名字,于是登录上去看到自己的GitLab项目都是在http:// VPS名字/某某用户/某某项目。所以需要将URL设置为VPS的ip,用nano文本剪辑器修改GitLab的配置文件:

    sudo nano /etc/gitlab/gitlab.rb

    ,找到关键字external_url,将它后面的内容改为自己的VPSip地址。例如external_url 123.12.123.12,保存退出。然后重新

    sudo gitlab-ctl reconfigure

    使修改的配置生效。打开防火墙的80端口,用于运行GitLab的网站,

    sudo ufw allow http

    。打开25端口用于邮件服务器

    sudo ufw allow 25

  5. 登录GitLab。打开本地电脑浏览器,网址栏输入VPS的ip。看到的第一个画面就是给root用户设置初始密码。然后网页自动跳转到登录界面,输入帐号root,密码就是刚刚你改的那个。登录!恭喜基本上你就完工了!
  6. 配置root用户。点击右上角头像,选择Settings,进入用户设置。默认进入Profile选项卡,在Main settings中修改自己的root的Name和Email,这两个是用于之后我们git命令上传代码的。注意,由于gmail有垃圾邮件屏蔽功能,我们刚刚默认安装的邮件服务器发出的所有邮件都会被gmail的服务器拦下来,所以请用qq,sina的邮箱都可以。页面最下面有保存按钮。之后进入Account选项卡,修改root用户的用户名,因为root是默认名称,多不安全,在Change username中修改ip地址后面的名字,改一个只有自己知道的名称以防万一。
  7. 修改GitLab隐私。不过可以发现只要知道这个ip的人都可以在我们私人的GitLab上创建用户,所以我们需要进行设置去关闭新用户注册功能,这样之后凡是有需求要分一个新用户出来,都只能用root用户去登录网页后台创建,当然现在的root不叫root了,在第6步中你已经给它取了新名字。网址栏中进入http:// VPS的ip/admin/application_settings在Sign-up Restrictions中,取消选中的Sign-up enabled。然后页面最下面保存。之后在http:// VPS的ip/admin/users里面新建用户咯!
  8. 尽情享用GitLab吧,按右上角的加号去新建第一个私人项目!