環境:CentOS-6.6-x86_64-minimal.iso
安裝LNMP(必須安裝Nginx、MySQL、redis,PHP可選),參考《lnmp一鍵安裝包》
添加epel倉庫
cat > /etc/yum.repos.d/epel.repo << EOF [epel] name=Extra Packages for Enterprise Linux 6 - \$basearch #baseurl=http://download.fedoraproject.org/pub/epel/6/\$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=\$basearch failovermethod=priority enabled=1 gpgcheck=0 EOF
添加PUIAS Computational參考(自帶的git版本是1.7和gitlab不兼容)
cat > /etc/yum.repos.d/PUIAS_6_computational.repo << EOF [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 enabled=1 gpgcheck=0 EOF
安裝依賴包
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 crontabs logwatch \ logrotate perl-Time-HiRes git
Ruby安裝
cd lnmp/src wget http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.5.tar.gz tar xzf ruby-2.1.5.tar.gz cd ruby-2.1.5 ./configure --prefix=/usr/local/ruby make && make install cd ..
添加到環境變量
vi /etc/profile export PATH=/usr/local/ruby/bin:$PATH . /etc/profile
安裝Bundler Gem
gem install bundler --no-ri --no-rdoc
為GitLab創建一個git用戶
adduser --system --shell /bin/bash --comment 'GitLab' --create-home --home-dir /home/git/ git su - git
GitLab shell安裝
git clone https://github.com/gitlabhq/gitlab-shell.git cd gitlab-shell git checkout v1.8.0 cp config.yml.example config.yml sed -i 's@http://localhost/@http://git.linuxeye.com/@' config.yml sed -i 's@/usr/bin/redis-cli@/usr/local/redis/bin/redis-cli@' config.yml ./bin/install
數據庫/MySQL
$ mysql -uroot -p mysql> create database gitlabhq_production; mysql> quit;
redis.sock路徑指定
su - service redis-server stop mkdir /var/run/redis;chown -R redis.redis /var/run/redis vi /usr/local/redis/etc/redis.conf unixsocket /var/run/redis/redis.sock service redis-server start ls -l /var/run/redis/redis.sock
GitLab
su - git wget https://github.com/gitlabhq/gitlabhq/archive/v7.4.5.tar.gz tar xzvf v7.4.5.tar.gz mv gitlabhq-7.4.5 gitlab cd gitlab cp config/gitlab.yml.example config/gitlab.yml sed -i 's@[email protected]@g' config/gitlab.yml chown -R git log/ chown -R git tmp/ chmod -R u+rwX log/ chmod -R u+rwX tmp/ mkdir /home/git/gitlab-satellites mkdir tmp/pids/ mkdir tmp/sockets/ chmod -R u+rwX tmp/pids/ chmod -R u+rwX tmp/sockets/ mkdir public/uploads chmod -R u+rwX public/uploads cp config/unicorn.rb.example config/unicorn.rb git config --global user.name "GitLab" git config --global user.email "[email protected]" git config --global core.autocrlf input cp config/resque.yml.example config/resque.yml
GitLab數據庫配置
cp config/database.yml{.mysql,} cat config/database.yml production: adapter: mysql2 encoding: utf8 collation: utf8_general_ci reconnect: false database: gitlabhq_production pool: 10 username: root password: "password" # host: localhost # socket: /tmp/mysql.sock chmod o-rwx config/database.yml
Gems安裝
su - gem install charlock_holmes --version '0.6.9.4' exit cd /home/git/gitlab/ bundle install --deployment --without development test postgres puma aws postgres
GitLab shell安裝
bundle exec rake gitlab:shell:install[v2.1.0] REDIS_URL=unix:/var/run/redis/redis.sock RAILS_ENV=production vi /home/git/gitlab-shell/config.yml 修改正確路徑,如redis-cli,路徑改成bin: "/usr/local/bin/redis-cli" restorecon -Rv /home/git/.ssh
初始化數據庫和激活高級功能
git init bundle exec rake gitlab:setup RAILS_ENV=production #yes login.........root password......5iveL!fe
GitLab初始化腳本
su - 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 exit #切回git用戶
檢查應用狀態
cd /home/git/gitlab/ bundle exec rake gitlab:env:info RAILS_ENV=production
Compile assets
bundle exec rake assets:precompile RAILS_ENV=production
GitLab啟動
su - service gitlab start
Nginx配置
cd /usr/local/nginx/conf/vhost wget -O git.linuxeye.com.conf https://gitlab.com/gitlab-org/gitlab-ce/raw/master/lib/support/nginx/gitlab-ssl vi git.linuxeye.com.conf #修改一下配置項 root /home/git/gitlab; server_name access_log error_log ssl_certificate gitlab.crt; ssl_certificate_key gitlab.key;
ps:證書生成方法如下(正式環境建議將生成公鑰用第三方簽名使浏覽器能識別):
cd /usr/local/nginx/conf openssl genrsa -out gitlab.key 2048 openssl req -new -x509 -days 36500 -key gitlab.key -out gitlab.crt -subj "/C=CN/ST=Shanghai/L=Shanghai/O=LinuxEye Ltd./OU=LinuxEye"
重啟nginx
service nginx restart
訪問:https://git.linuxeye.com,用戶名/密碼:root/5iveL!fe
原文:http://blog.linuxeye.com/411.html