zoukankan      html  css  js  c++  java
  • ubuntu13.04云主机部署gitlab6.6

    GitLab 是何物?

     

    GitLab是 GitHub 的山寨版,GitLab几乎包含了GitHub的所有功能,还包含比较有特色的功能:Code Review,Wiki,Merge Requests,最主要的是它不要钱不要钱……不要钱…………………………

     

    不要钱的好东西肯定使用起来会比较麻烦!特别是对于Linux小白!所以GitLab的使用会理所当然的比较麻烦!

     

    比如说安装     %>_<%

    先描述一下安装环境

     

    XX云主机:方便备份和恢复(通过SSH远程连接主机)

    OS:Ubuntu13.04

     

    GitLab的安装需要3

     

    1.安装大量软件

    2.下载GitLab-Shell 源码和GitLab源码

    3.配置GitLab-Shell GitLab,数据库,网站服务器

     

    一.我们先从大量软件开始

     

    GitLab软件本身需要多个软件的支持,他们是:

    Ubuntu/Debian

    ruby 1.9.3+

    git 1.7.10+

    redis 2.0+

    MySQL or PostgreSQL

    请点击查看最新的需求

     

     

    #在开始之前先创建一个专门为GitLab使用的Ubuntu用户:git
    sudo adduser --disabled-login --gecos 'GitLab' git
    #在继续之前,请务必注意每一个命令的操作权限,linux权限管理非常强大,但是如果不注意,就会导致某个软件权限不够,拒绝访问等问题,从而导致安装失败!!!
     
    sudo apt-get update
    sudo apt-get upgrade
    #先升级所有软件
    sudo apt-get install -y build-essential zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libffi-dev curl git-core openssh-server redis-server checkinstall libxml2-dev libxslt-dev libcurl4-openssl-dev libicu-dev
    #在安装必须要的软件
    sudo apt-get install -y mysql-server mysql-client libmysqlclient-dev
    #安装GitLab将要使用的数据库,我使用了mysql,也可以是其他数据库,其中数据库的root用户如果需要设置密码,请牢记
    sudo apt-get -y install nginx
    #安装GitLab的web服务器
     
    #下面开始安装GitLab制定版本的Ruby
    mkdir /tmp/ruby && cd /tmp/ruby
    curl --progress ftp://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p247.tar.gz | tar xz
    cd ruby-2.0.0-p247
    ./configure
    make
    sudo make install
    #Ruby安装完毕
     
    sudo gem install bundler --no-ri --no-rdoc
    #bundler是什么?

     

    软件安装完之后,请务必依次查一查每个软件的版本是否符合官方文档的需求!

     

    sudo ruby --version
    sudo git --version

    请备份吧!

    二.下载GitLab等的源码

    在写作的时候,因为GitLab官方还没有出Ubuntu13.04的一键部署方案,只有12.04版本第三方部署方案!所以没有去尝试是否能够正确安装!

     

    #开始下载GitLab-Shell源码
    cd /home/git
    sudo -u git -H git clone https://github.com/gitlabhq/gitlab-shell.git
    cd gitlab-shell
    #下面的v1.8.4可以改成GitLab-Shell最新的版本,Shell的更新速度非常快,在此我向GitLab的无私贡献表示致敬!!!
    sudo -u git -H git checkout v1.8.4
     
     
    #开始下载GitLab源码
    cd /home/git
    sudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab-ce.git gitlab
    cd /home/git/gitlab
    #6-6-stable可以改成最新版本
    sudo -u git -H git checkout 6-6-stable

     

    到此需要下载的部分都已经完毕,请备份吧!

     

    三、配置

    配置部分和我们的口要一样,比较麻烦……分为如下四步:

    1.配置数据库

    2.配置gitlab-shell

    3.配置Gitlab

    4.网站服务器

     

    1.配置数据库

    sudo mysql -u root -p
     
    #创建数据库登陆用户
    #‘gitlab’ 可以改成你喜欢的名字  'YOUR_PASSWORD_HERE' 改成你的密码
    CREATE USER 'gitlab'@'localhost' IDENTIFIED BY 'YOUR_PASSWORD_HERE';
    #创建数据库
    CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;
    #将'gitlab'改成你创建的名字
    GRANT SELECT, LOCK TABLES, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `gitlabhq_production`.* TO 'gitlab'@'localhost';
    exit;

     

    请备份吧!

    2.配置gitlab-shell 

     

    sudo cd /home/git/gitlab-shell
    sudo -u git -H cp config.yml.example config.yml
    #配置gitlab-shell 只需要配置 config.yml里面的gitlab_url: "http://localhost/"
    sudo nano config.yml
    #将其替换为FQDN全域名地址或者IP:
    #gitlab_url: "http://www.baidu.com/"
    #gitlab_url: "http://64.25.3.65/"
    请记住这个域名或者地址,因为后面将要使用这个地址
    sudo -u git -H ./bin/install

     

     

    请备份吧!

     

    3.配置Gitlab

     

    #接下来配置是最重要的部分
    cd /home/git/gitlab
     
    sudo -u git -H cp config/gitlab.yml.example config/gitlab.yml
    #修改gitlab的配置文件
    sudo -u git -H nano config/gitlab.yml
    #gitlab:
    ## Web server settings
    #将host: localhost 修改为上一步中使用的域名,或者地址
    #假如上一步使用的是IP这里也只能使用IP总之和上一步的地址一样,但是不能有http://
     
    sudo -u git -H cp config/initializers/rack_attack.rb.example config/initializers/rack_attack.rb
    #配置gitlab使用的数据库配置文件,记录了数据库登录名,密码等信息
    sudo -u git cp config/database.yml.mysql config/database.yml
    sudo -u git -H nano config/database.yml
    #production:
    # adapter: mysql2
    # encoding: utf8
    # reconnect: false
    # database: gitlabhq_production
    # pool: 10
    # 将 username: root  修改为 你为gitlab创建的mysql数据库登录名,我这里是gitlab
    # password: "secure password"   #修改密码
    修改一下配置文件的权限,方便其他用户直接使用!这一步也很重要
    sudo -u git -H chmod o-rwx config/database.yml
     
    #为gitlab做的配置
    cd /home/git/gitlab
    sudo chown -R git log/
    sudo chown -R git tmp/
    sudo chmod -R u+rwX log/
    sudo chmod -R u+rwX tmp/
    sudo -u git -H mkdir /home/git/gitlab-satellites
    sudo -u git -H mkdir tmp/pids/
    sudo -u git -H mkdir tmp/sockets/
    sudo chmod -R u+rwX tmp/pids/
    sudo chmod -R u+rwX tmp/sockets/
    sudo -u git -H mkdir public/uploads
    sudo chmod -R u+rwX public/uploads
    sudo -u git -H cp config/unicorn.rb.example config/unicorn.rb
    sudo -u git -H git config --global user.name "GitLab"
    sudo -u git -H git config --global user.email "gitlab@localhost"
    sudo -u git -H git config --global core.autocrlf input
     
     
    #准备安装前的最后一步
    sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production
    #现在开始安装gitlab  #这一步期间,需要输入   yes
    sudo -u git -H bundle install --deployment --without development test postgres aws
     
    #当安装完毕会出现下面的结果
    #Administrator account created:
     
    #login.........admin@local.host
    #password......5iveL!fe
    #请保存起来,这就是在网页登陆界面将要使用的登录名和密码
     
     
    #下面的脚本使每次计算机启动的时候就启动gitlab,和一些其他的系统配置
    sudo cp lib/support/init.d/gitlab /etc/init.d/gitlab
    sudo chmod +x /etc/init.d/gitlab
    sudo update-rc.d gitlab defaults 21
    sudo cp lib/support/logrotate/gitlab /etc/logrotate.d/gitlab
     
    #最后安装gitlab的所有组件
    sudo -u git -H bundle exec rake assets:precompile RAILS_ENV=production
    #至此Gitlab其实已经安装完毕了!为了确保安装过程生效,这里有一些命令
    #查看git所有组件的版本信息
    sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production
    #检查是否安装正确,只要有红色就表示没有安装成功,需要重新修改
    sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production
    #如果全是绿色,那么恭喜你,安装成功了

    #:-)  接下来你要做的就是买一瓶啤酒,花生瓜子,将你的朋友叫来,告诉他们以完成了多么了不起的一件事情,你是多么的聪明!

     

     

    怎么样?朋友都夸奖你了还是遭吐槽了?朋友吐槽软件没法用?狗屎一个?你还反说你的朋友SB,不会使用命令行?别这样,说好要以德服人的嘛!

     

    哦,不好意思,还有最后一步没有完成!

     

    请备份吧!

     

    4.网站服务器

     

    使用ningx作为服务器,可以通过浏览器直接使用gitlab

     

    cd /home/git/gitlab
    sudo cp lib/support/nginx/gitlab /etc/nginx/sites-available/gitlab
    sudo ln -s /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/gitlab
    #配置服务器的ip或者域名
    sudo nano /etc/nginx/sites-available/gitlab
    #server {
    #  listen *:80 default_server;     
    # 将 server_name  YOUR_SERVER_FQDN ;   修改为配置gitlab-shell时使用的域名或者IP
    #重启ngingx
    sudo service nginx restart

    GitLab成功安装完毕!

    打开浏览器输入你的ip或者域名就会显示下面的界面:

    wps_clip_image-6656[4] 

     

    谢谢各位看官!谢谢大家的掌声和欢呼声!

     

    当然如果我们的人生都像太阳东升西落,海洋里潮起潮落,玫瑰花开花落一般固定,那是多么幸福的生活!可惜偏偏有的人一生下来就没有视力,有的人2岁夭折,有的人一生为了给地主交租而饥寒交迫!可这有什么办法呢,这就是我们的人生,这就是我们的问题!

     

    我不能预测你的问题,但是我相信你在安装的过程中肯定会遇见各种乱七八糟的错误:

    比如502 error(s)、404 page not findpermission denied[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)502 bad geteway……

    那就需要你自己去解决了,毕竟那是你自己选择的职业,自己的人生,不是吗?

     

    转载请注明住处:http://www.cnblogs.com/pavkoo/

  • 相关阅读:
    Systemd入门教程:命令篇(转)
    Systemd入门教程:实战篇(转)
    Linux守护进程的启动方法(转)
    Ubuntu 16.04安装Chrome浏览器时提示:N: 忽略‘google-chrome.list.1’(于目录‘/etc/apt/sources.list.d/’),鉴于它的文件扩展名无效
    Ubuntu 16.04使用timedatectl进行管理时间(UTC/CST)(服务器/桌面)
    Ubuntu 16.04没有/etc/default/rcS文件的UTC设置选项的问题解决
    CentOS 6.9系统时间和硬件时间设置(转)
    Ubuntu 16.04使用“从互联网自动获取”时间无法写入硬件BIOS的奇怪问题
    MySQL中in子查询会导致无法使用索引问题(转)
    MySQL性能分析及explain的使用(转)
  • 原文地址:https://www.cnblogs.com/pavkoo/p/3605561.html
Copyright © 2011-2022 走看看