1.(root)更换apt-get源 新建文件source.list,内容以下:mysql
deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse
cp /etc/apt/sources.list /etc/apt/sources.list.bak cp sources.list /etc/apt/sources.list apt-get update
2.(root)安装必要的包nginx
apt-get install -y cmake build-essential zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libffi-dev curl git-core openssh-server redis-server checkinstall libxml2-dev libxslt-dev libcurl4-openssl-dev libicu-dev vim
3.(root)安装邮件服务器,默认设置便可git
apt-get install -y postfix
4.(root)安装ruby,使用阿里的ruby源能够节省下载时间 这里有修改,主要是ruby-1.9.3对commit删除记录有版本问题,会引起http500问题github
mkdir /tmp/ruby && cd /tmp/ruby curl --progress https://ruby.taobao.org/mirrors/ruby/2.1/ruby-2.1.2.tar.gz | tar xz cd ruby-2.1.2 ./configure make make install
5.(root)安装bundler,为了节省时间,记得更换ruby源redis
gem sources --remove http://rubygems.org/ gem sources -a http://ruby.taobao.org/ gem install bundler
6.(root)添加git用户sql
adduser --disabled-login --gecos 'GitLab' git
备注:从root用户切换到git用户:su git,退出git返回到root用户:exitshell
7.(git)安装gitlab-shell数据库
su git cd /home/git git clone https://github.com/gitlabhq/gitlab-shell.git cd gitlab-shell git checkout v2.0.1 cp config.yml.example config.yml
只须要修改gitlab_url,注意跟你之后clone,pull,push的域名一致ubuntu
vim config.yml
启动vim
./bin/install
8.(root)安装MySQL
apt-get install -y mysql-server mysql-client libmysqlclient-dev
mysql -u root -p 建立指定mysql帐户 mysql> CREATE USER 'gitlab'@'localhost' IDENTIFIED BY 'gitlab'; 建立数据库 mysql> CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; 受权 mysql> GRANT SELECT, LOCK TABLES, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON gitlabhq_production.* TO 'gitlab'@'localhost';
9.(git)安装gitlab主程序
cd /home/git git clone https://github.com/gitlabhq/gitlabhq.git gitlab cd /home/git/gitlab git checkout 7-3-stable cp config/gitlab.yml.example config/gitlab.yml
修改host便可,建立新用户和新项目时提示的地址来自这里,运行时没有影响
vim 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/ mkdir /home/git/gitlab-satellites chmod u+rwx,g=rx,o-rwx /home/git/gitlab-satellites chmod -R u+rwX tmp/pids/ chmod -R u+rwX tmp/sockets/ chmod -R u+rwX public/uploads/ cp config/unicorn.rb.example config/unicorn.rb
git配置
git config --global user.name "GitLab" git config --global user.email "gitlab@localhost" cp config/database.yml.mysql config/database.yml
修改MySQL数据库配置
vim config/database.yml
10.(git)安装Gems
cd /home/git/gitlab
修改Bundle源地址为taobao, 首行改为 source 'http://ruby.taobao.org/'
vim Gemfile
只安装部署模式下的mysql配置,其余排除
bundle install --deployment --without development test postgres
11.(git)初始化数据数据库
bundle exec rake gitlab:setup RAILS_ENV=production
12.(git)检测一下安装状态
bundle exec rake gitlab:check RAILS_ENV=production
13.(root)安装init脚本
cd /home/git/gitlab cp lib/support/init.d/gitlab /etc/init.d/gitlab cp lib/support/init.d/gitlab.default.example /etc/default/gitlab update-rc.d gitlab defaults 21
14.(git)编译静态资源
cd /home/git/gitlab bundle exec rake assets:precompile RAILS_ENV=production
15.(root)启动gitlab
service gitlab start
如下添加nginx 配置 1.(root)安装nginx
apt-get install nginx
2.(root)添加gitlab的nginx配置文件
cd /home/git/gitlab cp lib/support/nginx/gitlab /etc/nginx/sites-available/gitlab ln -s /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/gitlab
替换YOUR_SERVER_FQDN
vim /etc/nginx/sites-available/gitlab
3.(root)检查配置文件格式并重启测试
sudo nginx -t sudo service nginx restart
16.(git)再次测试
cd /home/git/gitlab bundle exec rake gitlab:check RAILS_ENV=production
完成,登陆网页试试,初始用户名密码: root/5iveL!fe