在centos里安装gitlab

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:

最近换了公司,在交接公司,所以很忙也没有时间写博客,同时随着能力的逐渐提升,很多知识感觉很简单,也没有必要专门写博客,只是把遇到的情况与解决方法写入到了笔记里,正好现在没什么事,就把我最近研究的gitlab如何在centos里安装的笔记分享给大家。

先给大家介绍一下gitlab

GitLab 是一个用于仓库管理系统的开源项目。使用 Git作为代码管理工具,并在此基础上搭建起来的web服务。
应用特点:
1. Web框架使用 Ruby on Rails
2. 基于 MIT代码发布协议。
3. 需要gitolite协同工作。
安装GitLab的需求:
Ubuntu/Debian(推荐这2个系统,也可以安装到CentOS系统中,并且在GitHub上有CentOS的GitLab一键安装脚本)

官方推荐的是那2个系统,但我这里需要安装在centos里,所以没办法自己多研究与测试,总结的安装经验如下:

前置要求

一定要先关闭iptableselinux

本文安装的系统为centos 6.2 64位系统,安装在dell r410机器

1、安装epel与基础依赖库及软件

1
2
3
4
cd /tmp
wget http: //download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -Uvh epel-release- 6 - 8 .noarch.rpm
yum install -y readline-devel  libyaml-devel gdbm-devel  ncurses-devel redis openssl-devel zlib-devel gcc gcc-c++ make autoconf readline-devel curl-devel expat-devel gettext-devel  tk-devel  libxml2-devel libffi-devel libxslt-devel libicu-devel httpd httpd-devel gitolite git-all python-devel python-pip sqlite-devel sendmail vim mysql-devel mysql-server patch libyaml* pcre-devel

2、安装ruby(一般默认安装都是1.8的,官方要求1.9以上)

1
2
3
4
5
6
7
8
9
10
mkdir /tmp/ruby && cd /tmp/ruby
curl --progress http: //ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p392.tar.gz | tar xz
cd ruby- 1.9 . 3 -p392/
./configure
make
make install
gem install bundler
ln -s /usr/local/bin/ruby /usr/bin/ruby
ln -s /usr/local/bin/gem /usr/bin/gem
ln -s /usr/local/bin/bundle /usr/bin/bundle

3、创建一个git用户供GitLab使用

1
2
adduser --comment  'GitLab'  git
chmod –R  755  /home/git

4、安装gitlab 的shell

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Login  as  git
sudo su git
# Go to home directory
cd /home/git
# Clone gitlab shell
git clone https: //github.com/gitlabhq/gitlab-shell.git
cd gitlab-shell
switch  to right version
git checkout v1. 3.0
cp config.yml.example config.yml
# Edit config and replace gitlab_url
with  something like  'http://domain.com/'
vim config.yml
# Do setup
./bin/install

5、建立gitlab数据库并授权

1
2
3
4
5
6
7
8
9
10
# Login to MySQL
mysql -u root -p
# Create a user  for  GitLab. (change $password to a real password)
mysql> CREATE USER  'gitlab' @ 'localhost'  IDENTIFIED BY  'gitlab' ;
# Create the GitLab production database
mysql> CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;
# Grant the GitLab user necessary permissopns on the table.
mysql> GRANT SELECT, LOCK TABLES, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `gitlabhq_production`.* TO  'gitlab' @ 'localhost' ;
# Quit the database session
mysql> \q

6、克隆gitlab源

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# Clone GitLab repository
cd /home/git
sudo -u git -H git clone https: //github.com/gitlabhq/gitlabhq.git gitlab
# Go to gitlab dir
cd /home/git/gitlab
# Checkout to stable release
sudo -u git -H git checkout  5 - 1 -stable
Configure it
cd /home/git/gitlab
# Copy the example GitLab config
sudo -u git -H cp config/gitlab.yml.example config/gitlab.yml
# Make sure to change  "localhost"  to the fully-qualified domain name of your
# host serving GitLab where necessary
sudo -u git -H vim config/gitlab.yml
# Make sure GitLab can write to the log/ and tmp/ directories
sudo chown -R git log/
sudo chown -R git tmp/
sudo chmod -R u+rwX  log/
sudo chmod -R u+rwX  tmp/
# Create directory  for  satellites
sudo -u git -H mkdir /home/git/gitlab-satellites
# Create directories  for  sockets/pids and make sure GitLab can write to them
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/
# Create  public /uploads directory otherwise backup will fail
sudo -u git -H mkdir  public /uploads
sudo chmod -R u+rwX   public /uploads
# Copy the example Puma config
sudo -u git -H cp config/puma.rb.example config/puma.rb
# Configure Git global settings  for  git user, useful when editing via web
# Edit user.email according to what  is  set  in  gitlab.yml
sudo -u git -H git config --global user.name  "GitLab"
sudo -u git -H git config --global user.email  "gitlab@localhost"

7、配置gitlab数据库

1
2
3
sudo -u git cp config/database.yml.mysql config/database.yml
sudo -u git vim config/database.yml
Make sure to update username/password  in  config/database.yml.

这个数据库的账户与密码是在第5步那里创建的。

8、安装gem

1
2
3
cd /home/git/gitlab
sudo gem install charlock_holmes --version  '0.6.9.4'
sudo -u git -H bundle install --deployment --without development test postgres

9、启动redis

1
/etc/init.d/redis start

10、对数据库进行初始化

1
sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production

11、下载启动脚本

1
2
3
4
5
Download the init script (will be /etc/init.d/gitlab):
sudo curl --output /etc/init.d/gitlab https: //raw.github.com/gitlabhq/gitlabhq/master/lib/support/init.d/gitlab
sudo chmod +x /etc/init.d/gitlab
Make GitLab start on boot:
chkconfig --add gitlab

12、检测应用状态

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Check  if  GitLab and its environment are configured correctly:
sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production
To make sure you didn't miss anything run a more thorough check  with :
sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
If all items are green, then congratulations on successfully installing GitLab! However there are still a few steps left.
出现了Running? ... no
Try fixing it:
sudo -u git -H bundle exec rake sidekiq:start RAILS_ENV=production
For more information see:
doc/install/installation.md  in  section  "Install Init Script"
see log/sidekiq.log  for  possible errors
Please fix the error above and rerun the checks.
运行sudo -u git -H bundle exec rake sidekiq:start RAILS_ENV=production
然后在运行sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production

13、启动gitlab

1
sudo service gitlab start

14、下载nginx(我选nging作为web服务器)

1
yum install nginx

15、下载官方提供gitlab的虚拟配置文件,并修改配置

1
2
3
4
5
6
7
8
9
10
11
12
13
Download an example site config:
sudo curl --output /etc/nginx/conf.d/gitlab https: //raw.github.com/gitlabhq/gitlabhq/master/lib/support/nginx/gitlab
Make sure to edit the config file to match your setup:
# **YOUR_SERVER_FQDN** to the fully-qualified
# domain name of your host serving GitLab. Also, replace
# the  'listen'  line  with  the following:
#   listen  80  default_server;         # e.g., listen  192.168 . 1.1 : 80 ;
sudo vim /etc/nginx/conf.d/gitlab
cd /etc/nginx/conf.d
mv  default .conf  default .conf.bak
mv gitlab  default .conf
Restart
sudo service nginx restart

16、登陆你在nginx里添加的ip,然后输入账户与密码,默认为

1
2
admin@local.host
5iveL!fe

现在就完成了gitlab在centos系统里的安装,希望本文对大家有益。



 本文转自 reinxu 51CTO博客,原文链接:http://blog.51cto.com/dl528888/1213286,如需转载请自行联系原作者





相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
存储 安全 Linux
CentOS安装SeaweedFS
通过上述步骤,您应该能够在CentOS系统上成功安装并启动SeaweedFS。记住,根据实际部署规模和需求,可能还需要进一步调整配置参数和优化网络布局。SeaweedFS的灵活性和扩展性意味着随着使用深入,您可能需要探索更多高级配置和管理策略。
107 64
|
2月前
|
存储 安全 Linux
CentOS安装SeaweedFS
通过上述步骤,您应该能够在CentOS系统上成功安装并启动SeaweedFS。记住,根据实际部署规模和需求,可能还需要进一步调整配置参数和优化网络布局。SeaweedFS的灵活性和扩展性意味着随着使用深入,您可能需要探索更多高级配置和管理策略。
116 61
|
16天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。
|
17天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第7天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统要求检查与准备、配置安装源、安装 SQL Server 2019、配置 SQL Server 以及数据库初始化(可选)。通过这些步骤,你可以成功安装并初步配置 SQL Server 2019,进行简单的数据库操作。
|
2月前
|
Linux 网络安全 数据安全/隐私保护
Linux系统之Centos7安装cockpit图形管理界面
【10月更文挑战第12天】Linux系统之Centos7安装cockpit图形管理界面
92 1
Linux系统之Centos7安装cockpit图形管理界面
|
24天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
69 3
|
25天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
46 2
|
2月前
|
NoSQL 数据可视化 Linux
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
本文介绍了Redis的两个可视化管理工具:付费的Redis Desktop Manager和免费的Another Redis DeskTop Manager,包括它们的下载、安装和使用方法,以及在使用Another Redis DeskTop Manager连接Redis时可能遇到的问题和解决方案。
130 1
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
|
27天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
82 2
|
2月前
|
Linux 知识图谱
Centos7安装killall,fuser, killall,pstree和pstree.x11
通过上述步骤,您已在CentOS 7系统中成功部署了killall、fuser、pstree以及pstree.x11,为高效管理系统进程打下了坚实基础。更多关于服务器管理与优化的知识,获取全面技术支持与解决方案。
50 1