windows | Mac os | linux | 电脑故障 | 网络知识 | 电脑百科 | 破解软件 | 网页编程 | 电脑配置 |

CentOS系统怎样安装GitLab客户端

发布时间:2016-11-30

CentOS系统怎样安装GitLab客户端?其实在CentOS安装GitLab的方法非常的简单,要安装Ruby环境作为依赖,今天小编与大家分享下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

三、配置安装源

1、下载EPEL的GPG KEY

wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 httPs://www.fedoraproject.org/static/0608B895.txt

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

rpm -qa gpg*

2、安装epel-release-6-8.noarch package

rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

3、创建PUIAS安装源

vim /etc/yum.repos.d/PUIAS_6_computational.repo

======================

[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

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-puias

=======================

4、下载PUIAS的GPG key

wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-puias http://springdale.math.ias.edu/data/puias/6/x86_64/os/RPM-GPG-KEY-puias

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-puias

5、检查是否安装成功

rpm -qa gpg*

yum repolist

四、安装GitLab所需依赖包

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 redis sudo wget crontabs logwatch logrotate perl-Time-HiRes git

五、安装所需服务

1、Redis

chkconfig redis on

service redis start

2、Ruby(记得下载好了,tar一个备份,下载贼慢了)

curl --progress ftp://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p353.tar.gz | tar xz

cd ruby-2.0.0-p353

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

make && make install

3、检查Ruby是否安装成功,并配置$PATH

which ruby

/usr/local/bin/ruby

ruby -v

ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-Linux]

4、Bundle

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

六、创建git用户

注:git@#命令行表示是用git用户登录执行命令,其他所有均以root用户执行

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

七、配置GitLab Shell

注:GitLab shell是专门为GitLab开发的提供ssh访问和版本管理的软件

1、下载gitlab-shell

su - git

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

git@# cd gitlab-shell

git@# git checkout v1.9.4

2、修改配置文件

git@# cp config.yml.example config.yml

# Url to gitlab instance. Used for api calls. Should end with a slash.

gitlab_url: "http://yourdomain:8080/"

注:如果gitlab是使用https访问,则需将http替换成https,配置文件中的self_signed_cert要修改成true,否则gitlab shell在通过api和gitlab进行通信的时候就会出现错误,导致项目push出错。因为后面配置web服务器的时候是使用ssl,所以这里要按照ssl的方式配置。

3、安装gitlab-shell

git@# ./bin/install

八、安装PostgreSQL数据库

1、yum安装postgresql

yum install postgresql-server postgresql-devel -y

service postgresql initdb

service postgresql start

chkconfig postgresql on

2、创建数据库和对应用户

su - postgres

psql -d template1

template1=# CREATE USER git WITH PASSWord 'password';

template1=# CREATE DATABASE gitlabhq_production OWNER git;

template1=# q

exit

附:MYSQL安装方法

yum install -y mysql-server mysql-devel

chkconfig mysqld on

service mysqld start

/usr/bin/mysql_secure_installation

mysql -u root -p

CREATE USER 'gitlab'@'localhost' IDENTIFIED BY 'password';

CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;

GRANT SELECT, LOCK TABLES, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `gitlabhq_production`.* TO 'gitlab'@'localhost';

九、安装GitLab

1、下载项目

su - git

git@# git clone https://github.com/gitlabhq/gitlabhq.git gitlab

git@# cd /home/git/gitlab

git@# git checkout 6-3-stable

2、配置项目

git@# cp config/gitlab.yml.example config/gitlab.yml

git@# sed -i 's|localhost|your_domain_name|g' config/gitlab.yml

3、创建相关目录,及配置所有者权限

git@# chown -R git log/

git@# chown -R git tmp/

git@# chmod -R u+rwX log/

git@# chmod -R u+rwX tmp/

git@# mkdir /home/git/gitlab-satellites

git@# mkdir tmp/pids/ tmp/sockets

git@# chmod -R u+rwX tmp/pids/

git@# chmod -R u+rwX tmp/sockets/

git@# mkdir public/uploads

git@# chmod -R u+rwX public/uploads

git@# cp config/unicorn.rb.example config/unicorn.rb

4、配置unicorn.rb

git@# vim config/unicorn.rb

listen "yourdomain:8080", :tcp_nopush => true

5、全局配置

git@# git config --global user.name "GitLab"

git@# git config --global user.email "gitlab@your_domain_name"

git@# git config --global core.autocrlf input

6、修改数据库配置文件

git@# cp config/database.yml.postgresql config/database.yml

git@# vim config/database.yml

git@# chmod o-rwx config/database.yml

十、安装gems

gem install charlock_holmes --version '0.6.9.4'

十一、安装postgresql包

git@# cd /home/git/gitlab/

git@# bundle install --deployment --without development test mysql

注:mysql包安装方法

git@# bundle install --deployment --without development test postgres puma aws ( mysql包)

十二、初始化数据和激活高级功能

git@# cd /home/git/gitlab

git@# bundle exec rake gitlab:setup RAILS_ENV=production

生成默认的管理账号

admin@local.host

5iveL!fe

十三、安装GitLab启动脚本

1、下载启动脚本

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

2、检查状态

git@# cd gitlab/

git@# bundle exec rake gitlab:env:info RAILS_ENV=production

3、启动gitlab

service gitlab start

4、检查安装信息

git@# cd gitlab/

git@# bundle exec rake gitlab:check RAILS_ENV=production

十四、安装web服务 (nginx)

1、安装nginx

yum -y install nginx

chkconfig nginx on

mkdir /etc/nginx/sites-available

mkdir /etc/nginx/sites-enabled

wget -O /etc/nginx/sites-available/gitlab https://raw.github.com/gitlabhq/gitlab-recipes/master/web-server/nginx/gitlab-ssl

ln -sf /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/gitlab

2、修改配置文件

vim /etc/nginx/nginx.conf

include /etc/nginx/conf.d/*.conf;

改为

include /etc/nginx/sites-enabled/*;

vim /etc/nginx/sites-available/gitlab

server_name git.example.com;

改为

server_name youdomain.com;

3、将nginx加入git用户组

usermod -a -G git nginx

chmod g+rx /home/git/

4、添加ssl证书

mkdir /etc/nginx/ssl

cd /etc/nginx/ssl

openssl req -new -x509 -nodes -days 3560 -out gitlab.crt -keyout gitlab.key

5、启动nginx

service nginx start

6、要看监听的端口是否启动

nestat -nap | grep nginx

十五、开放相关端口和服务

lokkit -s http -s https -s ssh

service iptables restart

十六、系统相关配置

1、主机hosts配置

vim /etc/hosts

yourIP yourdomain

2、关闭selinux

setenforce 0

访问gitlab首页 http://yourdomain.com/

十七、邮箱配置

1、后期再配置,待续.........

十八、GitLab Windows客户端

1、TortoiseGit

2、msysgit

问题处理:

1、检测API-access失败

解决方法:

查看三个配置文件

vim gitlab/config/unicorn.rb #配置ruby提供的服务端口,ip

listen "gitlab.test.com:8080", :tcp_nopush => true

vim gitlab-shell/config.yml #配置gitlab-shell要调用的API接口

gitlab_url: "http://gitlab.test.com:8080/"

vim gitlab/config/gitlab.yml #配置gitlab服务的端口,ip

host: gitlab.test.com

port: 80

2、启动nginx报错

service nginx start

Starting nginx: nginx: [emerg] unknown directive "ssl_stapling" in /etc/nginx/sites-enabled/gitlab:102

解决方法:

vim /etc/nginx/sites-available/gitlab

注释以下几行

3、登录打开首页显示不完全

解决方法:

vim /etc/nginx/sites-available/gitlab

注释下面几行

/etc/init.d/nginx restart #重启nginx

4、打开首页提示BAD GATEWAY

解决方法:

setenforce 0

看过“CentOS系统怎样安装GitLab客户端”的人还看了:

123
  • CentOS系统怎样安装GitLab客户端 相关内容:
  • 阿里云linux服务器数据盘、磁盘扩容教程(案例操
  • 近日服务器的数据盘空间越来越少,于是通过阿里云为linux服务器扩容,但是按照官方的教程没有扩容成功。研究了很长时间特意把需要注意和容易出错的地方给大家标注下,并且把这些实际操作的步骤发出来,以后自己遇到问题方便查看。又能帮助到同样遇到此问题的朋友。首先第一步,在...

  • linux grep命令详解
  • grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。接下来是小编为大家收集的linux grep命令详解,希望能帮到大家。linux grep命令详解Un...

  • Linux命令convert GPT to MBR图解
  • 随着嵌入式系统设备的普及,嵌入式设备的种类越来越多,这就导致了现在还没有一种统一的操作系统能够轻易地运行在任何嵌入式设备平台上。接下来是小编为大家收集的Linux命令convert GPT to MBR图解,希望能帮到大家。Linux命令convert GPT to MBR图解采用GPT分区方式的硬盘...

  • Linux下的GPT分区教程
  • 随着Internet网络的普及,Linux操作系统正在各个方面得到广泛的应用。Linux操作系统在服务器、嵌入式等方面已经取得不俗的成绩,在桌面系统方面,也逐渐受到欢迎。接下来是小编为大家收集的Linux下的GPT分区教程,希望能帮到大家。Linux下的GPT分区教程Linux下的GPT分区,这是...

  • Linux磁盘管理GPT分区教程
  • Linux内核代码量大、逻辑关系复杂,因此对内核中的错误进行追溯和调试一直以来都是一件既耗费时间又耗费精力的事情。接下来是小编为大家收集的 Linux磁盘管理GPT分区教程,希望能帮到大家。 Linux磁盘管理GPT分区教程硬盘分区表扫盲:MBR和GPT表MBR全称为Master Boot Record...

  • linux下串口gps应用
  • 嵌入式系统是计算机技术的一种重要应用形式。从概念上讲,嵌入式系统并不是近来才出现的产品,但随着计算技术和通信技术的迅速发展以及Internet的广泛应用,嵌入式系统却从来没有象现在这样风靡过。接下来是小编为大家收集的linux下串口gps应用,希望能帮到大家。linux下串口gp...

  • linux下GPS设备编程实例
  • Linux系统的裁减的目的就是建立一个在特定的嵌入式环境下与需求相匹配的嵌入式Linux系统。接下来是小编为大家收集的linux下GPS设备编程实例 ,希望能帮到大家。linux下GPS设备编程实例1、GPS设备工作时一直不停地通过串口(或其他的接口)向主机发送具有一定协议格式的数据...

  • Linux下接收处理GPS数据教程
  • Linux的性能、可靠性、灵活性、和开放性,与其支持多微处理器体系结构、硬件设备、图形支持和通信协议相结合,把Linux建成了一个日益发展的操作系统平台。接下来是小编为大家收集的Linux下接收处理GPS数据教程,希望能帮到大家。Linux下接收处理GPS数据教程1,接收数据这个名...

  • 查看更多>>

    linux