CentOS5.6下安装GitLab

这篇文章是转载过来的,安装过程中我遇到了一些别的问题,或者是与原文有区别的地方,就直接在原文的基础上修改了

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

GitLab5发布快一个月了,决定试用下,5.0最大的特性就是用GitLab-Shell取代了Gitolite,这大大降低了安装难度,不过本人在安装过程中还是遇到了一些问题,所以记录下来供要安装GitLab5的朋友参考!

主要参考文档: https://github.com/gitlabhq/gitlabhq/blob/5-0-stable/doc/install/installation.md

安装步骤总览
  1. 安装依赖包
  2. 安装Ruby/RVM
  3. 创建Git用户
  4. 安装GitLab-Shell
  5. 配置数据库
  6. 安装GitLab
  7. 启动
安装依赖库
yum install libicu-devel mysql-devel pcre-devel

安装python,官方要求版本必须在2.5以上,而且不支持3.0,而CentOS5.5默认的Python版本是2.4的,此时就需要手动升级Python

下载python版本

wget -c http://www.python.org/ftp/python/3.3.0/Python-3.3.0.tgz

解压缩、编译和安装

tar zxf Python-3.3.0.tgz

cd Python-3.3.0

./configure

make all

make install

make clean

make distclean

升级Python在执行到make all时报错了:
是由于该虚拟机上没有安装GCC组件,所以还需要安装一下GCC
#yum install gcc

查看安装的新版本信息

#/usr/local/bin/python3 -V

Python 3.3.0

由此看出编译安装的新版本python生效了

做个软连接到当前系统python命令的bin目录

ln -s /usr/local/bin/python3.3 /usr/bin/python

升级安装好新版本python以后,yum服务无法使用,这是因为yum命令使用是的python2.4版本,所以要修改yum的配置文件,以便能完全使用yum命令。

vi /usr/bin/yum

将文件头部的#!/usr/bin/python修改为 #!/usr/bin/python2.4 即可。

装完查看下版本

python --version

还要确保python2命令有效

python2 --version

如果提示 bash: python2: 未找到命令 ,那你需要link一下

sudo ln -s /usr/bin/python /usr/bin/python2
安装Ruby
  • 源码方式安装
mkdir /tmp/ruby && cd /tmp/ruby 
curl --progress http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p392.tar.gz | tar xz 
cd ruby-1.9.3-p392 
./configure 
make 
sudo make install
  • RVM方式
curl -#L https://get.rvm.io | bash -s stable --ruby

默然安装ruby2.0, GitLab推荐用1.9.3

rvm install ruby-1.9.3-p392

还要安装Bundler

sudo gem install bundler
添加系统Git用户

创建一个 git 用户供GitLab使用

adduser --comment 'GitLab' git

让git用户无密码登陆

sudo chmod 644 /etc/shadow | vim /etc/shadow

去掉用户的叹号

git:!!:15814:0:99999:7::: 修改为 git::15814:0:99999:7:::

加入sudo组

chmod u+w /etc/sudoers 
vim /etc/sudoers 

## Allow root to run any commands anywhere 
root ALL=(ALL) ALL 
git ALL=(ALL) 	NOPASSWD:ALL #加入这行# 
# %wheel ALL=(ALL) NOPASSWD:ALL 改为 
%wheel ALL=(ALL) NOPASSWD:ALL
安装GitLab Shell

切换到git用户

su - git 
cd ~

要使用git命令,就需要安装git

首先安装Git依赖的一些包.

  
  
  1. yum install zlib-devel 
  2. yum install openssl-devel 
  3. yum install perl 
  4. yum install cpio 
  5. yum install expat-devel 
  6. yum install gettext-devel
  7. yum install gcc

接下来,如果你已经安装过Curl了,那么跳过这一步,没有的话,就装一下.(可以yum安装)

  
  
  1. wget http://curl.haxx.se/download/curl-7.18.0.tar.gz 
  2. tar xzvf curl-7.18.0.tar.gz 
  3. cd curl-7.18.0 
  4. ./configure 
  5. make 
  6. make install 

确定一下ld.so.conf文件里有/usr/local/lib,这个是为git-http-push准备的.

  
  
  1. vi /etc/ld.so.conf 

#插入下面的代码

  
  
  1. /usr/local/lib 

保存文件,接着运行:

  
  
  1. /sbin/ldconfig 

最后,我们下载Git并安装它

  
  
  1. http://linux.linuxidc.com/2012%E5%B9%B4%E8%B5%84%E6%96%99/1%E6%9C%88/12%E6%97%A5/CentOS%205.6%E4%B8%8BGit%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%AE%89%E8%A3%85%E6%89%8B%E8%AE%B0/
  2. tar xzvf git-latest.tar.gz 
  3. cd git-{date}(这里的{date}指的是版本的时间) 
  4. autoconf(如果终端提示no command的话就yum install autoconf,千万不要以为文件夹中有makefile就好直接make了,不然会出错的) 
  5. ./configure --with-curl=/usr/local
  6. make 
  7. make install

克隆GitLab Shell

git clone git://github.com/gitlabhq/gitlab-shell.git 
cd gitlab-shell

切换到最新的分支

git checkout v1.2.0 

生产配置文件

cp config.yml.example config.yml

更改配置信息,一般就改下你部署的域名地址gitlab_url

vim config.yml 

# Url to gitlab instance. Used for api calls. Should be ends with slash.
gitlab_url: "http://localhost/" #改成你的域名或者IP

安装

./bin/install
安装数据库

gitlab支持mysql和postgresql,这里以mysql为例,postgresql会比较麻烦!

切换回root用户

su - root

安装mysql及开发包

yum install -y mysql-server mysql mysql-devel

启动数据库

service mysqld start

初始化GitLab数据库

mysql -u root -p 
Enter password: (直接按回车键)
Welcome to the MySQL monitor. 
Commands end with ; or \g. 
Your MySQL connection id is 2 
Server version: 5.5.30 MySQL Community Server (GPL) 

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 

Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 

mysql> CREATE USER 'gitlab'@'localhost' IDENTIFIED BY 'gitlab'; 
Query OK, 0 rows affected (0.01 sec) 

mysql> CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;
Query OK, 1 row affected (0.00 sec) 

mysql> GRANT SELECT, LOCK TABLES, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `gitlabhq_production`.* TO 'gitlab'@'localhost';
Query OK, 0 rows affected (0.00 sec) 

mysql> \q 
Bye

测试gitlab用户连接mysql

sudo -u git -H mysql -u gitlab -p -D gitlabhq_production
安装GitLab

终于到GitLab的安装了,进入git用户

su - git 
cd ~/

克隆GitLab

sudo -u git -H git clone git://github.com/gitlabhq/gitlabhq.git gitlab 
cd gitlab

切换到5.0稳定分支

sudo -u git -H git checkout 5-0-stable
配置
cd /home/git/gitlab 

# 用样例配置生成gitlab配置 
sudo -u git -H cp config/gitlab.yml.example config/gitlab.yml 

# 更改域名 
sudo -u git -H vim config/gitlab.yml 

# 确保gitlab对 log/ 和 tmp/ 目录有写权限 
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 

# 创建pids目录并确保对gitlab可写 
sudo -u git -H mkdir tmp/pids/ 
sudo chmod -R u+rwX tmp/pids/ 

# 生成Unicorn配置 
sudo -u git -H cp config/unicorn.rb.example config/unicorn.rb
配置GitLab DB设置
# sudo -u git cp config/database.yml.mysql config/database.yml
安装Gems
cd /home/git/gitlab 
sudo gem install charlock_holmes --version '0.6.9' 

# For MySQL (note, the option says "without") 
bundle install --deployment --without development test postgres


初始化数据并激活高级特性

 

首先编辑/home/git/gitlab/config/database.yml

# 
# PRODUCTION 
# 
production: 
  adapter: mysql2 
  encoding: utf8 
  reconnect: false 
  database: gitlabhq_production 
  pool: 5 
  username: root 
  password: "secure password" #更改为你mysql的root用户密码 
# host: localhost 
# socket: /tmp/mysql.sock 
#

执行rake

bundle exec rake gitlab:setup RAILS_ENV=production
如果你安装最新版可能会报  /home/git/repositories/root 目录找不到,手工建上即可!

如果你看到如下信息:

... 
Administrator account created: 

login.........admin@local.host 
password......5iveL!fe

恭喜你!你已经成功安装GitLab了!别忘了记录输出的管理用户名和密码!

启动GitLab
bundle exec rails s -e production 
=> Booting WEBrick 
=> Rails 3.2.13 application starting in production on http://0.0.0.0:3000 
=> Call with -d to detach 
=> Ctrl-C to shutdown server 
[2013-04-19 15:04:41] INFO WEBrick 1.3.1 
[2013-04-19 15:04:41] INFO ruby 1.9.3 (2013-02-22) 
[x86_64-linux] [2013-04-19 15:04:41] INFO WEBrick::HTTPServer#start: pid=11488 port=3000

Ok,你现在可以访问GitLab了,默认端口是 @3000@, 访问 http://你的域名或IP:3000
第一访问会比较慢,因为要编译很多js和css.

哈哈!看到登陆页面了吧!

GitLab登陆

输入管理用户名和密码!开始享受GitLab吧!

GitLab首页

2013-04-19
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值