在 Ubuntu 12.04 上安装 GitLab7.x

安装环境:

操作系统:    Ubuntu 12.4 LTS 英文

数据库:        postgresql

web服务器: 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 "[email protected]"
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)初始的用户和密码

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
时间: 2024-10-13 07:05:51

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

ubuntu 12.04上安装HBase并运行

Ubuntu 12.04上安装HBase并运行 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 一.HBase的安装 在官网上下载HBase-1.1.2,将其解压到/home/wrr文件夹下 配置环境变量 [email protected]:~$ sudo gedit ~/.bashrc [sudo] password for wrr: [email protected]:~$ source ~/.bashrc 在.bashrc文件最后添加 exp

在 Ubuntu 12.04 上通过安装源安装 Open vSwitch (OVS)

先把Ubuntu 12.04更新一下 sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade 删除 Ebtables包 sudo aptitude purge ebtables 从安装源安装Open vSwitch (OVS) sudo apt-get install aptitude apt-show-versions openvswitch-controller openvswitch-brcompat openv

Angularjs学习---angularjs环境搭建,ubuntu 12.04下安装nodejs、npm和karma

1.下载angularjs 进入其官网下载:https://angularjs.org/?,建议下载最新版的:https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.7/angular.js 所有版本:https://code.angularjs.org/ 2.示例1 HelloWorld ! 新建一个helloworld.html <!doctype html> <html ng-app> <head> &

Ubuntu 12.04 LTS 安装 Icehouse版Keystone

--------------------------------------------------------------------------------------------------------------------------------------------------------------- Canonical的Ubuntu云存档允许用户在ubuntu服务器上安装更新版本的openstack,直到下一个LTS版本的ubuntu发布为止.Canonical承诺在ubunt

在Ubuntu 12.04上配置iSCSI Target服务

  今天自己按照网上搜来的教程自己在Ubuntu 12.04上配置了iSCSI Target服务,在这里简单地做个纪录.操作系统是全新安装的Ubuntu 12.04,配置一块500 GB的SATA笔记本硬盘.安装操作系统时将硬盘划分为两个分区,其中一个50 GB的分区(/dev/sda1)挂载为操作系统的根分区:另外一个450 GB的分区(/dev/sda2)作为提供存储服务的空间,暂时不挂载. 安装完操作系统之后,安装必要的软件: $ sudo apt-get install chkconfi

转【翻译】如何在Ubuntu 12.04上配置Apache SSL证书

关于SSL证书 SSL证书是加密站点信息和创建一个更安全的连接的一种方式.另外,证书可以向站点访问者展示VPS的身份信息.证书颁发机构颁发SSL证书,用来验证服务器的详细信息,而一个自签名的证书缺乏第三方机构的证明. 设置 以下教程,需要拥有VPS上root权限. 另外,你的虚拟服务器上需要安装并运行有apache.如果没有安装,可以通过以下命令安装: sudo apt-get install apache2 第一步--启用SSL模块 下一步启用SSL sudo a2enmod ssl 紧接着重

Ubuntu 12.04 下安装 Eclipse

方法一:(缺点是安装时附加openjdk等大量程序并无法去除,优点是安装简单) $ sudo apt-get install eclipse 方法二:(优点是安装内容清爽,缺点是配置麻烦)1.安装JDK,参考 Ubuntu 12.04 下安装 JDK 7 2.下载 Eclipse 从 http://www.eclipse.org/downloads/index-developer.php下载合适版本,如:Eclipse IDE for C/C++ Developers 3.解压文件$ sudo

Ubuntu 14.04 上安装和配置 FTP 服务器 ProFTPD

proftpd的配置方式类似apache,比vsftpd更易用,xampp就集成了proftpd. apt-cache search proftpd 搜索相关包 sudo apt-get install proftpd-basic 安装 安装时默认作为一个standalone server运行proftpd,如果每天的ftp请求量少,可以安装为inetd服务,节省服务器资源. 这里我使用默认值,安装为standalone server. sudo netstat -antp|grep proft

Ubuntu 12.04下安装ibus中文输入法

这是最完整的安装方法: ibu是一个框架,可以支持多种输入法,像是pinyin,五笔等. 1,安装ibus框架 终端输入以下命令: sudo apt-get install ibus ibus-clutter ibus-gtk ibus-gtk3 ibus-qt4 2,启用Ibus框架 终端输入以下命令: im-switch -s ibus 3,重新启动Computer,或者注销当前用户. 4,安装相应输入法引擎: 如安装拼音: sudo apt-get install ibus-pinyin