GitLab服务器搭建及配置
一、服务器环境
操作系统:CentOS release 6.5 (Final)
GitLab版本:
GitLab-shell:2.0.1
Ruby version: ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux]
Gem version:2.2.2
Redis-server:Redis server version 2.4.10 (00000000:0)
Web Server:Nginx/1.10.15
Database:5.6.30-log MySQL Community Server (GPL)
Git别名管理GitLab,是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。
二、安装epel源
cd /usr/local/src
1、增加epel源,如果你是i686系统,请把x86_64修改下(安装前最好先关闭selinux和防火墙,否则ssl无法连接)
下载秘钥
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
安装epel源
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
检查是否安装成功:
# rpm -qa gpg*
gpg-pubkey-4bd6ec30-4ff1e4fa
gpg-pubkey-c105b9de-4e0fd3a3
gpg-pubkey-0608b895-4bd22942
gpgme-1.1.8-3.el6.x86_64
2、增加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
下载并安装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
检查是否安装成功:
# rpm -qa | grep gpg*
sgpio-1.2.0.10-5.el6.x86_64
libgpg-error-1.7-4.el6.x86_64
gpm-libs-1.20.6-12.el6.x86_64
gpg-pubkey-4bd6ec30-4ff1e4fa
gpg-pubkey-c105b9de-4e0fd3a3
gpg-pubkey-0608b895-4bd22942
gpgme-1.1.8-3.el6.x86_64
pygpgme-0.1-18.20090824bzr68.el6.x86_64
libart_lgpl-2.3.20-5.1.el6.x86_64
gpg-pubkey-41a40948-4ce19266
检查软件仓库是否安装成功:
# yum repolist
如果此列表中没有epel和PUIAS_6_computational,请执行以下命令
yum-config-manager --enable epel --enable PUIAS_6_computational
三、安装依赖的包
yum -y update(如果update了需要重启,因为内核已经更新了,)
yum -y groupinstall 'Development Tools'
yum -y install readline readline-devel ncurses-devel gdbm-devel glibc-devel tcl-devel openssl-devel curl-devel expat-devel db4-devel byacc sqlite-devel libyaml libyaml-devel libffi libffi-devel libxml2 libxml2-devel libxslt libxslt-devel libicu libicu-devel system-config-firewall-tui redis sudo wget crontabs logwatch logrotate perl-Time-HiRes git cmake libcom_err-devel.i686 libcom_err-devel.x86_64
邮件服务本机默认是postfix
四、安装git
本机git版本:1.8.3.1,先删除,安装2.4.8
yum -y remove git
yum -y install zlib-devel perl-CPAN gettext curl-devel expat-devel gettext-devel openssl-devel
curl --progress https://www.kernel.org/pub/software/scm/git/git-2.4.8.tar.gz | tar xz
也可以使用wget获取
cd git-2.4.8/ && ./configure && make && make prefix=/usr/local install
# git --version
git version 2.4.8
五、安装ruby
如果系统中已经安装先卸载
yum remove ruby
curl --progress ftp://ftp.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz | tar xz
cd ruby-2.1.9 && ./configure --disable-install-rdoc && make && make prefix=/usr/local install
安装bundler:
gem install bundler --no-doc
查看安装情况:
# ruby -v
ruby 2.1.9p490 (2016-03-30 revision 54437) [x86_64-linux]
六、创建gitlab用户
useradd -r -s /bin/bash -c 'GitLab' -m -d /home/gitlab gitlab
增加/usr/local/bin
visudo
#修改以下内容
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
七、安装MySQL
参考文档:
LAMP环境搭建:http://www.cnblogs.com/fansik/p/5646340.html
或者
MySQL安装及主从配置:http://www.cnblogs.com/fansik/p/5270334.html
创建数据库并授权
mysql -u root -p
mysql> CREATE DATABASE IF NOT EXISTS `gitlab` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;
mysql> grant all on gitlab.* to 'gitlab'@'localhost' identified by 'gitlab';
或者
mysql> GRANT SELECT, LOCK TABLES, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON gitlab.* to gitlab@localhost;
八、安装配置redis
参考:Redis安装及基本配置:http://www.cnblogs.com/fansik/p/5483057.html
九、安装gitlab
1、将gitlab项目clone到本地
# git clone https://gitlab.com/gitlab-org/gitlab-ce.git -b 7-4-stable gitlab
# cd gitlab
2、复制配置文件:
# cp config/gitlab.yml.example config/gitlab.yml
# cp config/unicorn.rb.example config/unicorn.rb
# cp config/initializers/rack_attack.rb.example config/initializers/rack_attack.rb
# cp config/resque.yml.example config/resque.yml
# cp config/database.yml.mysql config/database.yml
3、修改目录权限:
# chown -R git log/
# chown -R git tmp/
# chmod -R u+rwX tmp/
# chmod -R u+rwX tmp/pids/
# chmod -R u+rwX tmp/sockets/
# chmod -R u+rwX public/uploads/
4、创建目录:
# mkdir /home/git/gitlab-satellites
# chmod u+rwx,g=rx,o-rwx /home/git/gitlab-satellites
5、定义全局的用户和邮箱:
# git config --global user.name "GitLab"
# git config --global user.email "shandingshangdeyu@hotmail.com"
# git config --global core.autocrlf input
6、配置数据库信息:
# vim config/database.yml
production:
adapter: mysql2
encoding: utf8
collation: utf8_general_ci
reconnect: false
database: gitlab
pool: 10
username: gitlab
password: "gitlab"
host: localhost
socket: /tmp/mysql.sock
修改文件权限,只有git用户可读:
# chmod o-rwx config/database.yml
7、安装gem:
# cd /home/git/gitlab
# bundle install --deployment --without development test postgres aws
8、安装getlab-shell
# bundle exec rake gitlab:shell:install[v2.0.1] REDIS_URL=unix:/usr/local/redis/var/redis.sock RAILS_ENV=production
# vim /home/git/gitlab-shell/config.yml
---
user: git
gitlab_url: http://localhost/
http_settings:
self_signed_cert: true
repos_path: "/home/git/repositories/"
auth_file: "/home/git/.ssh/authorized_keys"
redis:
bin: "/usr/bin/redis-cli"
namespace: resque:gitlab
socket: "/usr/local/redis/var/redis.sock"
log_level: INFO
audit_usernames: false
9、初始化数据库
# bundle exec rake gitlab:setup RAILS_ENV=production
login.........root
password......5iveL!fe
设置管理员密码
# bundle exec rake gitlab:setup RAILS_ENV=production GITLAB_ROOT_PASSWORD=fanjinbao
10、下载服务脚本
wget -O /etc/init.d/gitlab https://gitlab.com/gitlab-org/gitlab-recipes/raw/master/init/sysvinit/centos/gitlab-unicorn
# chmod +x /etc/init.d/gitlab
# chkconfig --add gitlab
# chkconfig gitlab on
设置logrotate
# cp lib/support/logrotate/gitlab /etc/logrotate.d/gitlab
检测应用状态
# bundle exec rake gitlab:env:info RAILS_ENV=production
# bundle exec rake assets:precompile RAILS_ENV=production
启动服务
service gitlab start
11、安装web服务器
# yum -y install nginx
# usermod -a -G git nginx
# chmod g+rx /home/git/
# cd /etc/nginx
wget -O /etc/nginx/conf.d/gitlab.conf https://gitlab.com/gitlab-org/gitlab-ce/raw/master/lib/support/nginx/gitlab-ssl
# openssl req -newkey rsa:2048 -x509 -nodes -days 3560 -out gitlab.crt -keyout gitlab.key
# /etc/init.d/nginx start
注:502错误是gitlib的socket文件位置错误
500错误是redis的socket的权限问题
参考文档:http://charlie928.blog.51cto.com/3741218/1613257
GitLab服务器搭建及配置的更多相关文章
- gitlab服务器搭建教程
gitlab服务器搭建教程 ----2016年终总结 三 参考https://bbs.gitlab.cc/topic/35/gitlab-ce-8-7-%E6%BA%90%E7%A0%81%E5%AE ...
- ubuntu gitlab服务器搭建
gitlab服务器搭建 1.安装依赖包 sudo apt-get install curl openssh-server ca-certificates postfix 执行完成后,出现邮件配置,选择 ...
- weblogic——服务器搭建与配置
本次操作的内容:weblogic服务器搭建与配置服务 本次操作是主要围绕如何搭建weblogic服务器及配置服务,总共有两大步骤,可划分为六个小步骤: 选取已有环境,准备weblogic压缩包 安装w ...
- 基于SSL加密的vsftpd 服务器搭建和配置
基于SSL加密的VSFTPD 服务器搭建和配置 1.安装 ubuntu系统:apt-get install vsftp lftp centos系统:yum install -y vsftpd ftp ...
- DNS服务器搭建与配置
DNS服务器搭建与配置目录 1.DNS查询方式 2.DNS服务器类型 3.DNS主要配置文件组 4.name.conf文件配置介绍 5.DNS的资源记录格式 6.DNS服务器和客户端配置 7.简单搭建 ...
- Ubuntu 16.04下Samba服务器搭建和配置(配截图)
一.相关介绍 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和 ...
- nginx服务器搭建以及配置
2019年第一篇博客,在新的一年祝大家新年快乐,技术更上一层楼. 今天在公司搞了好长时间的nginx服务器搭建,以及遇到的问题,总结一下,方便查询 这里使用的是百度云的服务器,CentOS7系统的 N ...
- Samba服务器搭建与配置
Samba服务简介Samba的起源:对于windows的网上邻居来讲,共享文件的方式用的是SMB和CIFS协议以及NETBIOS协议Linux/Unix之间用的是NFS协议. 但是Linux和Wi ...
- 8.gitlab服务器搭建(基于centos7)
gitlab服务硬件要求 建议服务器最低配置:2核 2G以上内存(不包含2GB,2GB内存运行的时候内存直接爆掉) 官网给出的推荐配置:4核 4GB内存 支持500个用户,8核 8GB内存 支持100 ...
随机推荐
- Secondary NameNode:的作用?
前言 最近刚接触Hadoop, 一直没有弄明白NameNode和Secondary NameNode的区别和关系.很多人都认为,Secondary NameNode是NameNode的备份,是为了防止 ...
- iOS开发技巧-2
1,打印View所有子视图 po [[self view]recursiveDescription] 2,layoutSubviews调用的调用时机 * 当视图第一次显示的时候会被调用 * 当这个视图 ...
- JDK安装与环境变量配置
1.安装JDK 选择安装目录 安装过程中会出现两次 安装提示 .第一次是安装 jdk ,第二次是安装 jre .建议两个都安装在同一个java文件夹中的不同文件夹中.(不能都安装在java文件夹的根目 ...
- OGG for DB2 z/OS 12.2版本发布
2016-04-15 Oracle发布了GoldenGate for DB2 z/OS 12.2.0.1.2.可以从OTN或eDelivery下载,该版本是ogg for DB2 z/OS的第一个1 ...
- Sort Characters By Frequency
Given a string, sort it in decreasing order based on the frequency of characters. Example 1: Input: ...
- Python学习路程day16
Python之路,Day14 - It's time for Django 本节内容 Django流程介绍 Django url Django view Django models Django te ...
- Linux内核分析——进程描述与创建
20135125陈智威 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 实验内容 ...
- utf8转gbk,libcurl中文乱码处理
这两个转码在网页客户端处理用很常见,所使用的平台为VS2010,字符集采用多字节字符集 utf8转gbk string UTF8ToGBK(const std::string& strUTF8 ...
- 第5章 搭建S3C6410开发板的测试环境
1.使用Eboot擦除NandFlash的方法如下: 第一步:准备工作 用串口线或USB转串口线连接开发板和PC,并启动minicom 第二步:进入Eboot状态 打开OK6410开发板的电源开关,过 ...
- SHUTDOWN_MSG: Shutting down NameNode at java.net.UnknownHostException: xxx
刚配置hadoop2.2,格式化namenode时候报的这个错. 原因是hadoop在格式化HDFS的时候,通过hostname命令获取到的主机名在/etc/hosts文件中进行映射的时候,没有找到, ...