最近换了公司,在交接公司,所以很忙也没有时间写博客,同时随着能力的逐渐提升,很多知识感觉很简单,也没有必要专门写博客,只是把遇到的情况与解决方法写入到了笔记里,正好现在没什么事,就把我最近研究的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里,所以没办法自己多研究与测试,总结的安装经验如下:
前置要求
一定要先关闭iptable与selinux
本文安装的系统为centos 6.2 64位系统,安装在dell r410机器
1、安装epel与基础依赖库及软件
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以上)
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使用adduser --comment 'GitLab' git chmod –R 755 /home/git
4、安装gitlab 的shell
# 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数据库并授权
# 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源
# 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数据库
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
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
/etc/init.d/redis start
10、对数据库进行初始化
sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production
11、下载启动脚本
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、检测应用状态
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
sudo service gitlab start
14、下载nginx(我选nging作为web服务器)
yum install nginx
15、下载官方提供gitlab的虚拟配置文件,并修改配置
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,然后输入账户与密码,默认为
admin@local.host 5iveL!fe
转载请注明:爱开源 » centos安装gitlab