安装环境:

操作系统:    Ubuntu 12.4 LTS 英文

数据库:        postgresql

webserver: nginx

能够说到7.x的时候,GitLab的文档已经相当完好了!此文作为翻译和部分FAQ.

1. 安装依赖包

(1) 设置默认文本编辑器

使用Vim作为默认文本编辑器

sudo apt-get install -y vim
sudo update-alternatives --set editor /usr/bin/vim.basic

(2) 安装依赖

sudo apt-get install -y build-essential zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libffi-dev curl openssh-server redis-server checkinstall libxml2-dev libxslt-dev libcurl4-openssl-dev libicu-dev logrotate python-docutils pkg-config cmake

(3) 安装Git

sudo apt-get install -y git-core

注意:

在12.4版本号中,默认的Git版本号为1.7.9.5



          所以,我们要手动安装Git。

I. 移除系统已有版本号的Git

sudo apt-get remove git-core

II. 安装Git依赖包

sudo apt-get install -y libcurl4-openssl-dev libexpat1-dev gettext libz-dev libssl-dev build-essential

III. 下载并安装

我们能够用浏览器看https://www.kernel.org/pub/software/scm/git以下的Git的版本号,选择最新的下载。

cd /tmp
curl -L --progress https://www.kernel.org/pub/software/scm/git/git-2.1.2.tar.gz | tar xz
cd git-2.1.2/
make prefix=/usr/local all

安装位置:/usr/local/(自己主动安装的安装位置为:/usr/bin/)

sudo make prefix=/usr/local install

文档中特别提到,在我们配置gitlab.yml时,一定要改动Git的路径问题!

安装Email工具

sudo apt-get install -y postfix

2. 安装Ruby

(1)移除V1.8

sudo apt-get remove ruby1.8

(2)下载并安装

mkdir /tmp/ruby && cd /tmp/ruby
curl -L --progress ftp://ftp.ruby-lang.org/pub/ruby/2.1/ruby-2.1.2.tar.gz | tar xz
cd ruby-2.1.2
./configure --disable-install-rdoc
make
sudo make install

(3)安装Gem

sudo gem install bundler --no-ri --no-rdoc

3. 添加GitLab用户

sudo adduser --disabled-login --gecos 'GitLab' git

此用户专用于Gitlab的,不用其它操作。

4. 设置数据库

(1) 安装Postgresql

sudo apt-get install -y postgresql postgresql-client libpq-dev

(2)建库和添加用户

sudo -u postgres psql -d template1
template1=# CREATE USER git CREATEDB;
template1=# CREATE DATABASE gitlabhq_production OWNER git;
template1=# \q

(3)測试用户

sudo -u git -H psql -d gitlabhq_production

5. 安装Redis

sudo apt-get install redis-server
sudo cp /etc/redis/redis.conf /etc/redis/redis.conf.orig
sed 's/^port .*/port 0/' /etc/redis/redis.conf.orig | sudo tee /etc/redis/redis.conf
echo 'unixsocket /var/run/redis/redis.sock' | sudo tee -a /etc/redis/redis.conf
sudo service redis-server restart
sudo usermod -aG redis git

6. 配置Gitlab

             进入git用户根文件夹
cd /home/git

(1)同步

sudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab-ce.git -b 7-3-stable gitlab

(2)配置他

I. 文件操作

cd /home/git/gitlab
sudo -u git -H cp config/gitlab.yml.example config/gitlab.yml
sudo chown -R git log/
sudo chown -R git tmp/
sudo chmod -R u+rwX log/
sudo chmod -R u+rwX tmp/
sudo -u git -H mkdir /home/git/gitlab-satellites
sudo chmod u+rwx,g=rx,o-rwx /home/git/gitlab-satellites
sudo chmod -R u+rwX tmp/pids/
sudo chmod -R u+rwX tmp/sockets/
sudo chmod -R u+rwX public/uploads
sudo -u git -H cp config/unicorn.rb.example config/unicorn.rb
sudo -u git -H cp config/initializers/rack_attack.rb.example config/initializers/rack_attack.rb
sudo -u git -H cp config/resque.yml.example config/resque.yml

II. 配置Git路径

sudo -u git -H editor config/gitlab.yml

III. 配置Gitlab全局变量

sudo -u git -H git config --global user.name "GitLab"
sudo -u git -H git config --global user.email "example@example.com"
sudo -u git -H git config --global core.autocrlf input

(3)配置Gitlab使用的数据库

我们以Postgresql为例;

sudo -u git cp config/database.yml.postgresql config/database.yml

改动database.yml文件

sudo -u git -H editor config/database.yml

把production部分的user和passwor前面的“#”去掉。

仅git用户能够使用database.yml文件

sudo -u git -H chmod o-rwx config/database.yml

(4)安装Gems

我们以Postgresql为例;

sudo -u git -H bundle install --deployment --without development test mysql aws

注意:因为国内网络管制问题,我们须要不断的重试!出现的错误提示 - 无视之,然后重试(又一次运行上面命令)。

(5)安装GitLab Shell

sudo -u git -H bundle exec rake gitlab:shell:install[v2.0.1] REDIS_URL=unix:/var/run/redis/redis.sock RAILS_ENV=production

(6)初始化数据库

sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production

(7)开机启动

sudo cp lib/support/init.d/gitlab /etc/init.d/gitlab
sudo cp lib/support/init.d/gitlab.default.example /etc/default/gitlab
sudo update-rc.d gitlab defaults 21

(8)设置Logrotate

sudo cp lib/support/logrotate/gitlab /etc/logrotate.d/gitlab

(9)检查应用程序状态

sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production

(10)编译Assets

sudo -u git -H bundle exec rake assets:precompile RAILS_ENV=production

(11)启动Gitlab

sudo service gitlab start

7. 配置Nginx

(1)安装Nginx

sudo apt-get install -y nginx

(2)配置site

I. 拷贝模板文件到Nginx

sudo cp lib/support/nginx/gitlab /etc/nginx/sites-available/gitlab
sudo ln -s /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/gitlab

II. 替换“YOUR_SERVER_FQDN”

sudo editor /etc/nginx/sites-available/gitlab

内部网:localhost

(3) 測试并重新启动Nginx

sudo nginx -t
sudo service nginx restart

8. 完毕

(1)再次測试应用状态

sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production

(2)初始的用户和password

root
5iveL!fe

FAQ:

1. 502问题

因为使用了老版本号Git,比方V1.7.9.5;所以在进行“安装Gems”步骤时,下载了老版本号的Rate,比方V10.1.0;

此文《Ubuntu 1204 装配 GitLab 出现 502》,攻克了这个问题。

sudo gem install rake -v '10.3.2' --source http://rubygems.org

sudo -u git -H bundle exec rake assets:precompile RAILS_ENV=production

在 Ubuntu 12.04 上安装 GitLab7.x的更多相关文章

  1. Ubuntu 12.04上安装R语言

    Ubuntu 12.04上安装R语言 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ R的安装 sudo gedit /etc/apt/sources. ...

  2. Ubuntu 12.04上安装HBase并运行

    Ubuntu 12.04上安装HBase并运行 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 一.HBase的安装 在官网上下载HBase-1.1.2 ...

  3. Ubuntu 12.04上安装MySQL并运行

    Ubuntu 12.04上安装MySQL并运行 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 安装MySQL数据库 sudo apt-get upda ...

  4. Ubuntu 12.04上安装Hadoop并运行

    Ubuntu 12.04上安装Hadoop并运行 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 在官网上下载好四个文件 在Ubuntu的/home/w ...

  5. Ubuntu 12.04上安装 MongoDB并运行

    Ubuntu 12.04上安装 MongoDB并运行 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 在Terminal输入 sudo apt-key ...

  6. 在 Ubuntu 12.04 上安装 GitLab6.0

    安装环境: 操作系统:    Ubuntu 12.4 LTS 英文 数据库:        mysql5.5.32 web服务器: nginx1.4.1 首先, 添加git和nginx的ppa,并升级 ...

  7. ubuntu 12.04上安装QQ2013(转载)

    转自:http://www.cnblogs.com/wocn/p/linux_ubuntu_QQ_install.html 环境介绍: OS:Ubuntu12.04 64bit QQ:WineQQ20 ...

  8. ubuntu 12.04上安装OpenERP 7的一次记录

    登陆ssh, 先更新系统: sudo apt-get update && sudo apt-get dist-upgrade 接着再为openerp运行创建一个系统用户,用户名就叫op ...

  9. 在ubuntu 12.04上安装tomcat 7.40

    因为源上的版本问题,所以没有使用源上的自动安装包,老规矩,Tomcat 7.0.40 Core下载地址:http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/ ...

随机推荐

  1. ZOJ3626(树形dp)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4772 题意:给一棵有n个结点的树,每个点有点权表示在这个点上的价值, ...

  2. C#之任务,线程和同步

    1 概述 对于所有需要等待 的操作,例 如 ,因 为文件 . 数据库或网络访 问都需要一定 的时间,此 时就可以启 动一个新线程,同时完成其他任务,即使是处理密集型的任务,线程也是有帮助的. 2 Pa ...

  3. zabbix 监控特定进程

    因为一些server上跑着一些重要程序,须要对它们进行监控,公司用的是zabbix监控,之前都是在zabbix中加入自己定义脚本对特定程序进行监控,近期看了zabbix的官方文档,发现原来强大的zab ...

  4. Linux虚拟文件系统VFS解决

    参考<Linux内核设计与实现> 虚拟文件系统(VFS)它是linux核心和详细I/O一个普通的访问接口之间的包装设备,通过这层界面,linux内核能够以同一的方式訪问各种I/O设备. 虚 ...

  5. Android Application plugin

          在网易云阅读App上看到了插件管理功能,刚好自己也需要以插件的模式来扩展已有的功能,于是研究了一下,下面是一张网易云阅读App提供的插件模式,只需下载相应的插件就扩展了相应的功能,非常方便 ...

  6. 【ECSHOP插件】商品颜色尺寸仿淘宝选择功能免费发布

    先放效果图,如此实用的功能是不是迫不及待的要添加到自己的网店中了呢   牵涉到的修改文件(default模板为例) /themes/default/style.css /themes/default/ ...

  7. Windows Phone开发(43):推送通知第一集——Toast推送

    原文:Windows Phone开发(43):推送通知第一集--Toast推送 好像有好几天没更新了,抱歉抱歉,最近"光荣"地失业,先是忙于寻找新去处,唉,暂时没有下文.而后又有一 ...

  8. SQL:多表关联采取这一纪录迄今为止最大

    笔者:iamlasong 1.需求 两个表,投递记录表和封发开拆记录表,如今想知道投递日期距最后一次封发日期天数分布情况. 对这个需求,须要先查询出投递明细,同一时候要知道相应的邮件最后一次封发情况. ...

  9. 扔鸡蛋问题具体解释(Egg Dropping Puzzle)

    经典的动态规划问题,题设是这种: 假设你有2颗鸡蛋,和一栋36层高的楼,如今你想知道在哪一层楼之下,鸡蛋不会被摔碎,应该怎样用最少的測试次数对于不论什么答案楼层都可以使问题得到解决. 假设你从某一层楼 ...

  10. 怎么样excel其产生的条形码(10分钟的时间excel)从而出现了条形码

    现在快递行业.京东购物,这样一来,使用条码管理,因此,如何在你的excel其中还生产商品条码管理它?其实很easy,4步骤学会!10分钟搞定. 1.从网址如下.下载字体, 2.双击安装字体. 3,在e ...