栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

CentOS 6.6源码安装GitLab7

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

CentOS 6.6源码安装GitLab7

环境:CentOS-6.6-x86_64-minimal.iso

安装LNMP(必须安装Nginx、MySQL、redis,PHP可选),参考《lnmp一键安装包》或《OneinStack》

添加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参考(自带的git版本是1.7和gitlab不兼容)

    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.linuxeye.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 's@localhost@git.linuxeye.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@linuxeye.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.linuxeye.com.conf https://gitlab.com/gitlab-org/gitlab-ce/raw/master/lib/support/nginx/gitlab-ssl
    vi git.linuxeye.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.linuxeye.com,用户名/密码:root/5iveL!fe

参考:https://github.com/gitlabhq/gitlab-recipes/tree/master/install/centos

Mon Mar 2 10:47:45 CST 2015
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/10167.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号