Debian下GitLab 安装步骤详解
博客又是好久不更新了,趁着中秋假期在家学习安装了GitLab,这个折腾啊,然后写个笔记,下次可以参考.
基本上参考官方文档:https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/installation.md然后有些需要注意的地方做下记录.
一、安装要求
Debian**,MySQL,git,gitlab-shell,redis
二、安装教程
1. 首先需要确定账户可以使用sudo,并更新系统package
# run as root!,apt-get update,apt-get upgrade
apt-get install sudo #正常情况系统都带sudo命令,如果没有的话,手动安装下.
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
检查Python版本,2.5+ (3.0+还没支持)python --version,如果版本不对,请安装.
python2 --version
安装邮件发送支持默认即可.sudo apt-get install -y postfix
3. 安装Ruby这里我们使用taobao的镜像进行安装 可以大大的缩短下载包的时间.
mkdir /tmp/ruby && cd /tmp/ruby curl --progress http://ruby.taobao.org/mirrors/ruby/2.1/ruby-2.1.2.tar.gz | tar xz cd ruby-2.1.2 ./configure --disable-install-rdoc make sudo make install Note:请不要使用rvm来安装ruby 可能会因为环境变量导致这样那样的错误,当然如果你能解决这些问题可以使用rvm来安装ruby.
安装bundler 这里我们也使用taobao镜像来缩短下载时间,注意请使用sudo!!
sudo gem sources --remove http://rubygems.org/
sudo gem sources -a http://ruby.taobao.org/
sudo gem install bundler
4.添加Git用户
sudo adduser –disabled-login –gecos ‘GitLab’git
5.安装 GitLab-shell 新版本使用GitLab-shell来代替gitolite.
# Login as git sudo su git # Go to home directory cd /home/git # Clone gitlab shell git clone https://github.com/gitlabhq/gitlab-shell.git cd gitlab-shell # switch to right version git checkout v1.4.0 cp config.yml.example config.yml # Edit config and replace gitlab_url # with something like 'http://domain.com/' # 这里修改成自己的内部域名 如: http://git.test.com/ vim config.yml # Do setup ./bin/install 6.安装数据库m推荐MySQL,以下所有操作需要使用可以sudo的账户,代码如下:
# Install the database packages sudo apt-get install -y mysql-server mysql-client libmysqlclient-dev # Login to MySQL mysql -u root -p # Create a user for GitLab. (change $ password to a real password ) mysql> CREATE USER 'gitlab' @ 'localhost' IDENTIFIED BY '123456' ; # Create the GitLab production database mysql> CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`; # Grant the GitLab user necessary permissions on the table . mysql> GRANT SELECT , LOCK TABLES, INSERT , UPDATE , DELETE , CREATE , DROP , INDEX , ALTER ON `gitlabhq_production`.* TO 'gitlab' @ 'localhost' ; 7.开始安装GitLab主程序.
## We'll install GitLab into home directory of the user "git" cd /home/git # Clone GitLab repository sudo -u git -H git clone https://github.com/gitlabhq/gitlabhq.git gitlab # Go to gitlab dir cd /home/git/gitlab # Checkout to stable release sudo -u git -H git checkout 7-2-stable 8.配置GitLab.
# Go to GitLab installation folder cd /home/git/gitlab # Copy the example GitLab config sudo -u git -H cp config/gitlab.yml.example config/gitlab.yml # Make sure to change "localhost" to the fully-qualified domain name of your # host serving GitLab where necessary # 这里仅需要修改host即可, sudo -u git -H vim config/gitlab.yml # Make sure GitLab can write to the log/ and tmp/ directories # 修改账户权限 sudo chown -R git log/ sudo chown -R git tmp/ sudo chmod -R u+rwX log/