gitlab服务器搭建教程

----2016年终总结 三
大量参考以上两篇文档,整理并实际操作的总结

目录:

1.原料

2.基础环境

3.数据库安装

4.Gitlab相关安装

5.恢复及备份

1 原料

CentOS 6 kvm虚拟机一台

root用户权限

2 基础环境

以root用户登陆

2.1 更新epel源

wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 https://mirrors.tuna.tsinghua.edu.cn/epel/RPM-GPG-KEY-EPEL-6
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
rpm -Uvh http://mirrors.ustc.edu.cn/epel/epel-release-latest-6.noarch.rpm

2.2 更新epel源

yum groupinstall "Development tools"
yum install libicu-devel cmake nodejs

2.3 git

要求版本:git >=2.7.4

yum install git

2.4 ruby环境

要求版本:ruby >=2.1

yum remove ruby
mkdir /tmp/ruby && cd /tmp/ruby
curl -O --progress http://mirrors.ustc.edu.cn/ruby/2.1/ruby-2.1.6.tar.gz
tar xzf ruby-2.1.8.tar.gz cd ruby-2.1.8
./configure
make && make install
gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/
gem install bundler --no-ri
sudo -u git -H bundle config mirror.https://rubygems.org https://gems.ruby-china.org/

2.5 go

要求版本:未知

mkdir /tmp/go && cd /tmp/go
curl -O --progress http://www.golangtc.com/static/go/1.6/go1.6.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.6.linux-amd64.tar.gz
sudo ln -sf /usr/local/go/bin/{go,godoc,gofmt} /usr/local/bin/
go version

2.6 用户

adduser -c 'Gitlab' -s /bin/bash git
vim /etc/sudoers #添加git用户添加sudo权限,添加免密sudo
groupadd redis && useradd -g redis redis -s /sbin/nologin #添加redis用户
sudo usermod -aG redis git #git用户添加到redis组

3 数据库安装

3.1 MySQL

这里使用MySQL数据库。

要求版本:MySQL >= 5.5.14

3.1.1 安装
rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el6-9.noarch.rpm
yum install mysql mysql-server
service mysqld start
3.1.2 初始化

连接数据库,执行:

CREATE USER 'git'@'localhost' IDENTIFIED BY '$password'; #新建密码
CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, CREATE TEMPORARY TABLES, DROP, INDEX, ALTER, LOCK TABLES, REFERENCES ON `gitlabhq_production`.* TO 'git'@'localhost';
quit;
echo 'max_allowed_packet=500M' >> /etc/my.cnf
service mysqld restart

3.2 Redis

要求版本:Redis >=2.8

3.2.1 安装
mkdir /tmp/redis && cd /tmp/redis
curl -O --progress http://download.redis.io/releases/redis-3.2.5.tar.gz
tar xzf redis-3.2.5.tar.gz
cd redis-3.2.5
make
cd src
make install
mkdir -p /etc/redis
cp redis.conf /etc/redis
3.1.2 初始化
cp /etc/redis/redis.conf /etc/redis/redis.conf.orig
sed 's/^port .*/port 0/' /etc/redis/redis.conf.orig | sudo tee /etc/redis/redis.conf
echo 'unixsocket /var/run/redis/redis.sock' | sudo tee -a /etc/redis/redis.conf
sed -i 's/daemonize no/daemonize yes/g' /etc/redis/redis.conf
mkdir /var/run/redis
sudo chown redis:redis /var/run/redis
sudo chmod 755 /var/run/redis
if [ -d /etc/tmpfiles.d ]; then
echo 'd /var/run/redis 0755 redis redis 10d -' | sudo tee -a /etc/tmpfiles.d/redis.conf
fi
curl -L http://packages.gitlab.cc/install/init-script/redis/cenots6/redis-server -o /etc/init.d/redis-server
chmod +x /etc/init.d/redis-server
service redis-server start
chkconfig redis-server on

4 Gitlab相关安装

4.1 Gitlab-CE

要求版本-无

选择版本-8.9.6

su - git
cd /home/git/
sudo -u git -H git clone https://git.oschina.net/qiai365/gitlab-ce.git -b 8-9-stable gitlab
cd /home/git/gitlab/
git checkout v8.9.6
sudo -u git -H cp config/gitlab.yml.example config/gitlab.yml
sudo -u git -H vim config/gitlab.yml #修改host配置项为本机IP
sudo -u git -H vim config/secrets.yml
sudo -u git -H chmod 0600 config/secrets.yml
sudo chown -R git log/
sudo chown -R git tmp/
sudo chmod -R u+rwX,go-w log/
sudo chmod -R u+rwX tmp/
sudo chmod -R u+rwX tmp/pids/
sudo chmod -R u+rwX tmp/sockets/
sudo -u git -H mkdir public/uploads/
sudo chmod 0700 public/uploads
sudo chmod -R u+rwX builds/
sudo chmod -R u+rwX shared/artifacts/
sudo -u git -H cp config/unicorn.rb.example config/unicorn.rb
sudo -u git -H vim config/unicorn.rb #修改worker数量为cpu核心数
sudo -u git -H cp config/initializers/rack_attack.rb.example config/initializers/rack_attack.rb
sudo -u git -H git config --global core.autocrlf input
sudo -u git -H git config --global gc.auto 0
sudo -u git -H cp config/resque.yml.example config/resque.yml #如果redis的sock在其它位置,则修改
sudo -u git cp config/database.yml.mysql config/database.yml
sudo -u git -H vim config/database.yml #修改production环境的socket为mysql的sock文件,通常在/var/lib/mysql/mysql.sock。确认MySQL的用户、密码、库名等配置
sudo -u git -H chmod o-rwx config/database.yml

4.2 Gems

sudo -u git -H bundle install --deployment --without development test postgres aws kerberos -jn #n为cpu数目 提升安装速度
#如果前面严格按照步骤执行,通常是不会遇到问题的。如果有异常自行排查~~

4.3 Gitlab-shell

sudo -u git -H sed -i 's/https:\/\/gitlab.com\/gitlab-org\/gitlab-shell.git/https:\/\/git.oschina.net\/qiai365\/gitlab-shell.git/g' /home/git/gitlab/lib/tasks/gitlab/shell.rake
sudo -u git -H bundle exec rake gitlab:shell:install REDIS_URL=unix:/var/run/redis/redis.sock RAILS_ENV=production #如果安装成功,会有一系列ok提示
sudo -u git -H vim /home/git/gitlab-shell/config.yml #确认一下配置

4.4 Gitlab-workhorse

要求版本-无

选择版本-0.7.5

cd /home/git
sudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab-workhorse.git
cd gitlab-workhorse
sudo -u git -H git checkout v0.7.5
sudo -u git -H make

4.5 Gitlab初始化数据库

cd /home/git/gitlab
sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production #中途需要输入yes

4.6 安装Gitlab执行脚本

sudo cp lib/support/init.d/gitlab /etc/init.d/gitlab
sudo cp lib/support/init.d/gitlab.default.example /etc/default/gitlab
chkconfig gitlab on #设置gitlab开机启动 推荐

4.7 安装logrotate

sudo cp lib/support/logrotate/gitlab /etc/logrotate.d/gitlab

4.8 检查环境配置

sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production

4.9 生成Gitlab前端资源

sudo -u git -H bundle exec rake assets:precompile RAILS_ENV=production

4.10 安装、配置Nginx

sudo yum install nginx
sudo vim /etc/nginx/nginx.conf #配置80端口到8080端口到proxy_pass
sudo service nginx restart

4.11 启动gitlab

sudo service gitlab start

4.12 最后确认

sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
#根据上述命令产生的检查结果和推荐命令,执行并再次检查

5 恢复及备份

5.1 在备份机上恢复备份

su - git
cd /home/git/gitlab
sudo -u git -H vim config/gitlab.yml #确认backup path配置,确保备份的包在该目录下存在、或移动至该位置。备份的包为$时间戳_gitlab_backup.tar
sudo -u git -H vim config/secrets.yml
sudo vim /etc/my.cnf #确保该配置文件添加了 max_allowed_packet=500M 配置
sudo -u git -H bundle exec rake gitlab:backup:restore BACKUP=$时间戳 RAILS_ENV=production #执行恢复备份 中途需要输入yes确认
 

gitlab服务器搭建教程的更多相关文章

  1. ubuntu gitlab服务器搭建

    gitlab服务器搭建 1.安装依赖包 sudo apt-get install curl openssh-server ca-certificates postfix 执行完成后,出现邮件配置,选择 ...

  2. gitLab服务器搭建+ rundeck自动化部署

    git服务器搭建 https://blog.csdn.net/gx_1_11_real/article/details/79406427 rundeck   部署 https://blog.csdn. ...

  3. 8.gitlab服务器搭建(基于centos7)

    gitlab服务硬件要求 建议服务器最低配置:2核 2G以上内存(不包含2GB,2GB内存运行的时候内存直接爆掉) 官网给出的推荐配置:4核 4GB内存 支持500个用户,8核 8GB内存 支持100 ...

  4. GitLab服务器搭建及配置

    一.服务器环境 操作系统:CentOS release 6.5 (Final) GitLab版本: GitLab-shell:2.0.1 Ruby version: ruby 2.1.2p95 (20 ...

  5. linux下FTP服务器搭建教程1

    你买了个主机就像是买了块地皮,搭建FTP就像是盖房子,我在地皮上建房子,然后创建的用户就像是钥匙,我给谁钥匙(权限),谁就可以到我家去玩,去放东西,拿东西. 虽然我们买不起现实的房子,但是我们可以买互 ...

  6. gitlab服务器搭建

    当然喜欢英文的可以参考官方文档:https://about.gitlab.com/downloads/ 1.  根据自己的操作系统选择相应的安装方法,我这边是阿里云 centos 7的 sudo yu ...

  7. SVN服务器搭建教程

    常见的源代码管理工具 CVS 历史悠久,现在几乎没人使用 SVN 集中式版本控制的代表 CVS的接班人,速度比CVS快,功能比CVS强大 在国内使用率非常高(70%~90%) GIT 分布式源代码管理 ...

  8. Gitlab 服务器搭建

    一.官网地址 首页:https://about.gitlab.com/ 安装说明:https://about.gitlab.com/installation/ 二.安装命令摘录 实际问题:yum 安装 ...

  9. Gitlab服务器搭建(For fedora23)

    1. Install and configure the necessary dependencies sudo yum install curl policycoreutils openssh-se ...

随机推荐

  1. 软工+C(2017第6期) 最近发展区/脚手架

    // 上一篇:工具和结构化 // 下一篇:野生程序员 教育心理学里面有提到"最近发展区"这个概念,这个概念是前苏联发展心理学家维果茨基(Vygotsky)提出的,英文名词是Zone ...

  2. SNS团队Beta阶段第六次站立会议(2017.5.27)

    1.立会照片 2.每个人的工作 成员 今天已完成的工作 明天计划完成的工作 罗于婕 发音图标的改进 对界面各部分的图标进行完善.美化 龚晓婷 对于历史记录功能的测试 对于历史记录功能进一步完善 林仕庄 ...

  3. 团队作业8——Beta 阶段冲刺3rd day

    一.当天站立式会议 二.每个人的工作 (1)昨天已完成的工作(具体在表格中) 添加了订单功能,并且对订单功能进行了测试 (2)今天计划完成的工作(具体如下) 添加支付功能 (3) 工作中遇到的困难(在 ...

  4. 结对编程1——四则运算-GUI

    码市链接:https://coding.net/u/hmhhh/p/hmh-homework/git/tree/master/ 201421123003 黄建英 201421123004 黄美海 题目 ...

  5. 201521123033《Java程序设计》第8周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. answer: 1.2 选做:收集你认为有用的代码片段 2. 书面作业 本次作业题集集合 1.List中指定元 ...

  6. 201521123063 《Java程序设计》 第7周学习总结

    1. 本周学习总结 以你喜欢的方式(思维导图或其他)归纳总结集合相关内容. 2. 书面作业 ArrayList代码分析 1.1 解释ArrayList的contains源代码 public boole ...

  7. 201521123032 《Java程序设计》第7周学习总结

    1. 本周学习总结 以你喜欢的方式(思维导图或其他)归纳总结集合相关内容. 2. 书面作业 ArrayList代码分析 1.1 解释ArrayList的contains源代码 在contains方法中 ...

  8. Sublime text 3编辑python时出现方框的解决办法

    如图: 经过探究发现,出现这个问题的原因是我在Sublime text 3中,安装了Anaconda这款用来增强Python 编辑的插件导致了标题即图片中的问题,解决方法也非常简单,如果是因为使用an ...

  9. 201521123069 《Java程序设计》 第14周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容. 2. 书面作业 1. MySQL数据库基本操作 建立数据库,将自己的姓名.学号作为一条记录插入.(截图,需出现自 ...

  10. Eclipse rap 富客户端开发总结(4):如何搭建 rap 中文开发环境

    Rap中文开发环境搭建大约分为2个部分 1.  rap国际化,详细参加文章(rap开发经验总结(5)-rap国际化之路) 2.rap自带的JFace ,Dialog 等国际化 1.中文包下载地址: h ...