1.安装依赖库

yum install libicu-devel mysql-develpcre-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

编译安装python  

tar -zxvfPython-3.3.0.tgz
 cd Python-3.3.0
./configure
make all
make install

清除之前编译的可执行文件及配置文件

make clean

清除所有生成的文件

make distclean

查看python版本信息

/usr/local/bin/python3 –V


将之前版本的python备份

mv python python.old

将编译安装的python建立软连接

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

保证之前python2也可以使用

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 | tarxz
cd ruby-1.9.3-p392 
./configure 
make 
make install

RVM方式

curl -#L https://get.rvm.io | bash-s stable --ruby

注:如果安装的时候出现failed(File "/usr/bin/yum", line 30except KeyboardInterrupt, e:),就需要将/usr/bin/yum里面的第一行"#!/usr/bin/python"改为 "#!/usr/bin/python2.4",修改之后重新执行命令。

这里可能需要等好长时间了。

执行完成之后需要执行以下命令

rvm install ruby-1.9.3-p392

注:如果执行的时候报错,那么需要执行source/usr/local/rvm/scripts/rvm

然后再去重新执行rvm方式

rvm install ruby-1.9.3-p392

安装bundler

gem install bundler

添加git用户

adduser --comment 'GitLab' git

让git用户无密码登陆

chmod 644 /etc/shadow

vi /etc/shadow

删掉感叹号:

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

将git用户加入到sudo组

chmod u+w /etc/sudoers

vi /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


现在切换git用户

su  - git

安装依赖包

sudo yum install zlib-devel 
sudo yum install openssl-devel 
sudo yum install perl 
sudo yum install cpio 
sudo yum install expat-devel 
sudo yum install gettext-devel
sudo yum install gcc


安装Curl(root用户)

tar xzvf curl-7.18.0.tar.gz 
cd curl-7.18.0 
./configure 
make 
sudo make install



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

sudo vi /etc/ld.so.conf

#插入下面的代码

/usr/local/lib

保存文件,接着运行:

sudo /sbin/ldconfig

下载git并安装

根据这个网址http://code.google.com/p/git-core/downloads/list最新的版本是1.8.5.2

tar xzvf git-latest.tar.gz 
cd git-1.8.5.2
autoconf(如果终端提示no command的话就yum install autoconf,千万不要以为文件夹中有makefile就好直接make了,不然会出错的)
./configure --with-curl=/usr/local
make 
sudo make install


克隆GitLab Shell

git clone git://github.com/gitlabhq/gitlab-shell.git
cd gitlab-shell
git checkout v1.1.0
git checkout -b v1.1.0

生产配置文件

cp config.yml.example config.yml

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

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

安装

./bin/install

切换回root用户安装数据库

yum install -y mysql-server mysqlmysql-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> exit 
Bye


测试gitlab用户连接mysql

sudo -u git -H mysql -u gitlab -p-D gitlabhq_production

Enter password:gitlab

测试通过,连接成功

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

su - git

克隆GitLab

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

克隆出现error,需要执行这条命令,关闭全局证书验证

git config --global http.sslverifyfalse

sudo -u git -H git clonehttps://github.com/gitlabhq/gitlabhq.git gitlab
cdgitlab

切换到5.0稳定分支

sudo -u git -H git checkout5-0-stable


配置
cd /home/git/gitlab 

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

# 更改域名
sudo -u git -H vimconfig/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.exampleconfig/unicorn.rb
配置GitLab DB设置
# sudo -u git cp config/database.yml.mysqlconfig/database.yml
安装Gems
cd /home/git/gitlab 
sudo geminstall charlock_holmes --version '0.6.9'

安装的时候一直报错,说什么要我安装libyaml以及重新安装ruby,

Installing libyaml

$ wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz
$ tar xzvf yaml-0.1.4.tar.gz
$ cd yaml-0.1.4
$ ./configure --prefix=/usr/local
$ make

$ make install

我勒个去。我都安装n遍了,最后查找官方的文档,说是ruby要禁掉二进制安装,按照这个重新安装了ruby,但是在执行最后一部rake的时候又报同样的错。最后楼主发现了gitlab一键安装包,在编译安装整了两天多难以进行的情况下,果断卸掉之前的应用,使用一键安装包安装成功。

那位如果编译安装成功了,请告知我报错处理的方法。谢谢啦。

时间紧,截图神马的都是浮云,就不提了。




转载于:https://blog.51cto.com/buertu/1352640