CentOS 6.6 64位系統源碼安裝GitLab7教程

來源:互聯網
上載者:User

環境: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@localhost@git.linuxeye.com@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 "gitlab@linuxeye.com"
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配置

usermod -a -G git www
chmod 770 /home/git
mkdir /usr/local/nginx/conf/vhost
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/public;
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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.