CentOS系统怎么安装GitLab客户端

2016-12-21

在CentOS安装GitLab的方法非常的简单吧,但过滤感觉还是蛮多的,下面小编就来给各位朋友详细介绍一下CentOS系统安装GitLab客户端步骤。

CentOS系统安装GitLab客户端步骤

一、安装环境

基础操作系统(CentOS 6.5 Minimal)

Ruby (版本: 2.0.0p353+)

创建项目运行用户(创建git账号,方便权限管理)

GitLab Shell(版本:1.8.1)

数据库 ,采用PostgreSQL (可以支持mysql和PostgreSQL)

GitLab(版本:6-3-stable)

Web服务器,采用nginx (可支持nginx和apache )

防火墙,开放相关端口(iptables)

二、升级更新系统

yum groupinstall "Development Tools" -y

yum update -y

yum install wget vim -y

添加epel仓库

代码如下:

cat > /etc/yum.repos.d/epel.repo << EOF

[epel]

name=Extra Packages for Enterprise Linux 6 - $basearch

#baseurl=//download.fedoraproject.org/pub/epel/6/$basearch

mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch

failovermethod=priority

enabled=1

gpgcheck=0

EOF

添加PUIAS Computational参考

代码如下:

cat > /etc/yum.repos.d/PUIAS_6_computational.repo << EOF

[PUIAS_6_computational]

name=PUIAS computational Base $releasever - $basearch

mirrorlist=//puias.math.ias.edu/data/puias/computational/$releasever/$basearch/mirrorlist

#baseurl=//puias.math.ias.edu/data/puias/computational/$releasever/$basearch

enabled=1

gpgcheck=0

EOF

安装依赖包

代码如下:

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 crontabs logwatch

logrotate perl-Time-HiRes git

Ruby安装

代码如下:

cd lnmp/src

wget //cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.5.tar.gz

tar xzf ruby-2.1.5.tar.gz

cd ruby-2.1.5

./configure --prefix=/usr/local/ruby

make && make install

cd ..

添加到环境变量

代码如下:

vi /etc/profile

export PATH=/usr/local/ruby/bin:$PATH

. /etc/profile

安装Bundler Gem

代码如下:

gem install bundler --no-ri --no-rdoc

为GitLab创建一个git用户

代码如下:

adduser --system --shell /bin/bash --comment 'GitLab' --create-home --home-dir /home/git/ git

su - git

GitLab shell安装

代码如下:

git clone https://github.com/gitlabhq/gitlab-shell.git

cd gitlab-shell

git checkout v1.8.0

cp config.yml.example config.yml

sed -i 's@//localhost/@//git.bitsCN.com/@' config.yml

sed -i 's@/usr/bin/redis-cli@/usr/local/redis/bin/redis-cli@' config.yml

./bin/install

数据库/MySQL

代码如下:

$ mysql -uroot -p

mysql> create database gitlabhq_production;

mysql> quit;

redis.sock路径指定

代码如下:

su -

service redis-server stop

mkdir /var/run/redis;chown -R redis.redis /var/run/redis

vi /usr/local/redis/etc/redis.conf

unixsocket /var/run/redis/redis.sock

service redis-server start

ls -l /var/run/redis/redis.sock

GitLab

su - git

wget https://github.com/gitlabhq/gitlabhq/archive/v7.4.5.tar.gz

tar xzvf v7.4.5.tar.gz

mv gitlabhq-7.4.5 gitlab

cd gitlab

cp config/gitlab.yml.example config/gitlab.yml

sed -i 'sgit.bitsCN.com@g' config/gitlab.yml

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 "gitlab@bitsCN.com"

git config --global core.autocrlf input

cp config/resque.yml.example config/resque.yml

GitLab数据库配置

代码如下:

cp config/database.yml{.mysql,}

cat config/database.yml

production:

adapter: mysql2

encoding: utf8

collation: utf8_general_ci

reconnect: false

database: gitlabhq_production

pool: 10

username: root

password: "password"

# host: localhost

# socket: /tmp/mysql.sock

chmod o-rwx config/database.yml

Gems安装

代码如下:

su -

gem install charlock_holmes --version '0.6.9.4'

exit

cd /home/git/gitlab/

bundle install --deployment --without development test postgres puma aws postgres

GitLab shell安装

代码如下:

bundle exec rake gitlab:shell:install[v2.1.0] REDIS_URL=unix:/var/run/redis/redis.sock RAILS_ENV=production

vi /home/git/gitlab-shell/config.yml

修改正确路径,如redis-cli,路径改成bin: "/usr/local/bin/redis-cli"

代码如下:

restorecon -Rv /home/git/.ssh

初始化数据库和激活高级功能

代码如下:

git init

bundle exec rake gitlab:setup RAILS_ENV=production #yes

login.........root

password......5iveL!fe

GitLab初始化脚本

代码如下:

su -

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

exit #切回git用户

检查应用状态

代码如下:

cd /home/git/gitlab/

bundle exec rake gitlab:env:info RAILS_ENV=production

Compile assets

bundle exec rake assets:precompile RAILS_ENV=production

GitLab启动

代码如下:

su -

service gitlab start

Nginx配置

usermod -a -G git www

chmod 770 /home/git

mkdir /usr/local/nginx/conf/vhost

cd /usr/local/nginx/conf/vhost

wget -O git.bitsCN.com.conf https://gitlab.com/gitlab-org/gitlab-ce/raw/master/lib/support/nginx/gitlab-ssl

vi git.bitsCN.com.conf #修改一下配置项

root /home/git/gitlab/public;

server_name

access_log

error_log

ssl_certificate gitlab.crt;

ssl_certificate_key gitlab.key;

ps:证书生成方法如下(正式环境建议将生成公钥用第三方签名使浏览器能识别):

代码如下:

cd /usr/local/nginx/conf

openssl genrsa -out gitlab.key 2048

openssl req -new -x509 -days 36500 -key gitlab.key -out gitlab.crt -subj "/C=CN/ST=Shanghai/L=Shanghai/O=LinuxEye Ltd./OU=LinuxEye"

重启nginx

代码如下:

service nginx restart

访问:https://git.bitsCN.com,用户名/密码:root/5iveL!fe

更多相关阅读

最新发布的文章