CentOS系统中GitLab客户端的安装教程

添加epel仓库

代码如下:

cat > /etc/yum.repos.d/epel.repo << EOF
[epel]
name=Extra Packages for Enterprise Linux 6 - \$basearch
#baseurl=http://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=http://puias.math.ias.edu/data/puias/computational/\$releasever/\$basearch/mirrorlist
#baseurl=http://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 http://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@http://localhost/@http://git.kafan.cn/@' 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 's@localhost@git.kafan.cn@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@kafan.cn"
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.kafan.cn.conf https://gitlab.com/gitlab-org/gitlab-ce/raw/master/lib/support/nginx/gitlab-ssl
vi git.kafan.cn.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.kafan.cn,用户名/密码:root/5iveL!fe

(0)

相关推荐

  • CentOS系统中使用yum命令安装redis

    在linux CentOS系统中使用yum命令安装redis报错: 1 2 3 4 5 6 [root@localhost install]# yum install redis Loaded plu ...

  • CentOS系统中使用yum命令安装redis的方法

    在linux CentOS系统中使用yum命令安装redis报错: [root@localhost install]# yum install redis Loaded plugins: fastes ...

  • Ubuntu系统中Git客户端的安装与基本命令使用教程

    安装git 复制代码 代码如下: sudo apt-get install git git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然 ...

  • 在CentOS系统中安装RPMforge的方法

    RPMforge 是 Dag.Dries 和其它软件包的组合.它们为 CentOS 提供了超过 4000 个软件包,包括 mplayer.xmms-MP3和其它流行的媒体播放工具.RPMforge 不 ...

  • CentOS系统中怎么修改默认SSH端口?

    CentOS系统中怎么修改默认SSH端口? 默认的centOS默认端口是22,时间久了你会找到很多日志文件,这是扫描攻击留下的错误日志.那么今天我们要做的就是改成只有自己知道的数字,这样降低了被扫描到 ...

  • Mac OS X系统中应用程序如何安装与卸载(多种方法)

    MAC OS X系统发布后,许多MAC用户纷纷升级更新了自己的系统。不过更新了新系统之后,有一个比较麻烦的就是要将自己电脑上的应用程序重新安装,并把不需要的应用程序卸载掉。那么,MAC OS X系统该 ...

  • win10系统中Visual Studio无法安装的解决方法

    最近,升级为win10系统的电脑用户越来越多,但是,升级win10系统之后,也带来了一些软件无法安装的问题,比如说,Visual Studio(以下简称:VS)这款工具包就无法在win10系统中安装, ...

  • centos系统中VPS忘记密码该如何解决?

    centos系统中VPS忘记密码该如何解决? 下面我就随便拿一个VPS来测试,本文以CentOS5.*系统为例,分别在2台KVM架构VPS上测试,他们是:XSVPS.COM(堪萨斯)和VPSPLAZA ...

  • CentOS系统中与时间的相关命令详解

    时间在任何系统里都是最基本的部分,必不可少.本文介绍CentOS系统中与时间的相关命令. 基本概念 硬件时钟(Hardware Clock) 硬件时钟,也叫实时时钟(RealTimeClock),或者 ...