GitLab5.0安装全过程(转)

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,Fedora一般的版本都在2.7以上,因此直接安装源自带的即可 

yum install python 安装完查看下版本 

python --version 还要确保python2命令有效 

python2 --version 如果提示 

bash: python2: 未找到命令 ,那你需要link一下
sudo ln -s /usr/bin/python /usr/bin/python2

安装Ruby

添加系统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) ALL #加入这行

安装GitLab Shell 切换到git用户

su - git cd ~/ 克隆GitLab Shell 

git clone https://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 https://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设置

# Mysql 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
报错了,提示 Error connecting to Redis on localhost:6379 (ECONNREFUSED) 解决办法: 切到root,安装Redis bc(command). yum install redis* service redis start #启动redis

重新执行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. 哈哈!看到登陆页面了吧!