gitlab安装(基于centos6.5)
安装wget和cmake
sudo yum -y install wget
sudo yum -y install cmake
增加EPEL安装源
wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 https://www.fedoraproject.org/static/0608B895.txt
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
安装epel-release-6-8.noarch包
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
增加PUIAS安装源
vi /etc/yum.repos.d/PUIAS_6_computational.repo
[PUIAS_6_computational]
name=PUIAS computational Base $releasever - $basearch
mirrorlist=http://puias.math.ias.edu/data/puias/computational/$releasever/$basearch/mirrorlist
#baseurl=http://puias.math.ias.edu/data/puias/computational/$releasever/$basearch
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-puias
下载并安装GPG key
wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-puias http://springdale.math.ias.edu/data/puias/6/x86_64/os/RPM-GPG-KEY-puias
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-puias
yum repolist
安装GitLab的所需依赖包和工具
yum -y groupinstall 'Development Tools'
yum -y install vim-enhanced readline readline-devel ncurses-devel gdbm-devel glibc-devel tcl-devel openssl-devel curl-devel expat-devel db4-devel byacc sqlite-devel gcc-c++ libyaml libyaml-devel libffi libffi-devel libxml2 libxml2-devel libxslt libxslt-devel libicu libicu-devel system-config-firewall-tui python-devel redis sudo wget crontabs logwatch logrotate perl-Time-HiRes git
配置redis
chkconfig redis on
service redis start
安装Ruby
mkdir /tmp/ruby && cd /tmp/ruby
curl --progress ftp://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p353.tar.gz | tar xz
cd ruby-2.0.0-p353
./configure --prefix=/usr/local/
make && make install
查看ruby版本
ruby -v
安装bundle
gem install bundler --no-ri --no-rdoc
创建用户git
adduser --system --shell /bin/bash --comment 'git' --create-home --home-dir /home/git/ git
切换到git
su - git
git clone https://github.com/gitlabhq/gitlab-shell.git
cd gitlab-shell
git checkout v1.8.0
cp config.yml.example config.yml
vi config/config.yml
将gitlab_url修改成gitlab的访问域名。形如:http://test.gitlab.com/
./bin/install
安装数据库
切换到root用户
su -
yum install -y mysql-server mysql-devel
chkconfig mysqld on
service mysqld start
/usr/bin/mysql_secure_installation
重新设定数据库密码并清除空用户跟test数据库
mysql -u root -p
创建git用户
CREATE USER 'git'@'localhost' IDENTIFIED BY '123456';
创建数据库
CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;
设定git权限
GRANT SELECT, LOCK TABLES, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `gitlabhq_production`.* TO 'gitlab'@'localhost';
切换到git用户
su - git
克隆分支:
git clone https://gitlab.com/larryli/gitlab.git .gitlab
cd gitlab
git checkout 7-7-zh
配置项目
cp config/gitlab.yml.example config/gitlab.yml
vi config/gitlab.yml
把localhost修改成你需要的域名
chown -R git log/
chown -R git tmp/
chmod -R u+rwX log/
chmod -R u+rwX tmp/
mkdir /home/git/gitlab-satellites
mkdir tmp/pids/
mkdir tmp/sockets/
chmod -R u+rwX tmp/pids/
chmod -R u+rwX tmp/sockets/
mkdir public/uploads
chmod -R u+rwX public/uploads
cp config/unicorn.rb.example config/unicorn.rb
git config --global user.name "GitLab"
git config --global user.email "683099@qq.com"
git config --global core.autocrlf input
配置数据库访问文件
cp config/database.yml.mysql config/database.yml
vi config/database.yml
修改数据库连接密码(把password里面的密码修改成我们刚才设置的密码123456)
chmod o-rwx config/database.yml
安装Gems
切换到git用户
修改源
vi Gemfile
#source "https://rubygems.org"
source "https://ruby.taobao.org"
bundle install --deployment --without development test postgres puma aws
完成后会生成默认管理员账户密码
root
5iveL!fe
安装启动脚本
切换到root用户
wget -O /etc/init.d/gitlab https://raw.github.com/gitlabhq/gitlab-recipes/master/init/sysvinit/centos/gitlab-unicorn
chmod +x /etc/init.d/gitlab
chkconfig --add gitlab
chkconfig gitlab on
service gitlab start
切换到git用户
su - git
cd gitlab/
bundle exec rake gitlab:check RAILS_ENV=production
bundle exec rake assets:precompile RAILS_ENV=production
切换到root用户
service gitlab restart
安装web服务器
yum -y install nginx
chkconfig nginx on
mkdir /etc/nginx/sites-available
mkdir /etc/nginx/sites-enabled
cp /home/git/gitlab/lib/support/nginx/gitlab /etc/nginx/sites-available
ln -sf /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/gitlab
编辑/etc/nginx/nginx.conf,将 include /etc/nginx/conf.d/*.conf; 替换成 include /etc/nginx/sites-enabled/*;
编辑/etc/nginx/sites-available/gitlab,将配置中server_name替换成实际访问的域名。
将nginx加入git用户组
usermod -a -G git nginx
chmod g+rx /home/git/
service nginx start
配置防火墙
lokkit -s http -s https -s ssh
service iptables restart
访问:
http://localhost