建立郵箱 gitlab@vzjc.com, noreply@vzjc.comnode
添加 gitlab.zjc.com IP映射到系統的hosts文件或者DNS
python
$ sudo vim /etc/hosts
mysql
10.1.6.49 zjc.com zjc vzjc.com mail.vzjc.com gitlab.zjc.comnginx
Needed to compile Ruby and native extensions to Ruby gemsgit
$ sudo apt-get install vim # editor$ sudo apt-get install -y build-essential zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libffi-dev curl openssh-server redis-server checkinstall libxml2-dev libxslt-dev libcurl4-openssl-dev libicu-dev logrotate python-docutils pkg-config cmake nodejs12
$ sudo apt-get install -y git git-core gitweb git-review# Make sure Git is version 1.7.10 or higher, for example 1.7.12 or 2.0.0$ git --version12345
Ruby的版本能夠經過瀏覽http://cache.ruby-lang.org/pub/ruby/
來查到github
# Remove the old Ruby 1.8 if present$ sudo apt-get remove ruby1.8$ mkdir /tmp/ruby && cd /tmp/ruby $ curl -L --progress http://cache.ruby-lang.org/pub/ruby/ruby-2.2.2.tar.gz | tar xz $ cd ruby-2.2.2$ ./configure --disable-install-rdoc $ make $ sudo make install12345678910
*修改Gem源指向taobao https://rubygems.org/
在國內被牆着*web
$ gem source -r https://rubygems.org/ $ gem source -a http://ruby.taobao.org/12
$ sudo gem install bundler --no-ri --no-rdoc1
接下來Gitlab安裝都用這個帳戶redis
$ sudo adduser --disabled-login --gecos 'GitLab' git1
用來 ssh 訪問倉庫的管理軟件sql
$ cd /home/git $ sudo -u git -H git clone https://github.com/gitlabhq/gitlab-shell.git $ cd gitlab-shell $ sudo -u git -H cp config.yml.example config.yml12345
/etc/hosts裏修改
gitlab.zjc.com
指向本機IP或者配置DNS$ sudo vim /etc/hosts
10.1.6.49 zjc.com zjc vzjc.com mail.vzjc.com gitlab.zjc.comshell
$ sudo -u git -H vim /home/git/gitlab-shell/config.ymlgitlab_url: "http://gitlab.zjc.com/"
$ cd /home/git/gitlab-shell $ sudo -u git -H ./bin/install12
$ sudo apt-get install -y mysql-server mysql-client libmysqlclient-dev1
下面代碼中gitlabuser
, gitlabpass
爲gitlabdb
分配給的用戶的用戶名和密碼,用戶能夠自行設置,可是在下面用到的地方要記得修改
$ sudo mysql -uroot -p $ > create database gitlabdb; $ > grant all on gitlabdb.* to 'gitlabuser'@'localhost' identified by 'gitlabpass';123
$ cd /home/git $ sudo -u git -H git clone https://github.com/gitlabhq/gitlabhq.git gitlab $ cd gitlab# 切換到的最新穩定版號能夠經過瀏覽器瀏覽`https://github.com/gitlabhq/gitlabhq`,點擊branch得到$ sudo -u git -H git checkout 7-13-stable12345
其中 host: 項和 gitlab-shell 中 gitlab_url 的主機一致 cd /home/git/gitlab
sudo -u git -H cp config/gitlab.yml.example config/gitlab.yml
sudo -u git -H vim config/gitlab.yml
host: gitlab.zjc.com
email_from: gitlab@vzjc.com
email_reply_to: noreply@vzjc.com
# 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,go-w log/ $ sudo chmod -R u+rwX tmp/# Create directory for satellites$ sudo -u git -H mkdir /home/git/gitlab-satellites $ sudo chmod u+rwx,g=rx,o-rwx /home/git/gitlab-satellites# Make sure GitLab can write to the tmp/pids/ and tmp/sockets/ directories$ sudo chmod -R u+rwX tmp/pids/ $ sudo chmod -R u+rwX tmp/sockets/# Make sure GitLab can write to the public/uploads/ directory$ sudo chmod -R u+rwX public/uploads12345678910111213141516
$ cd /home/git/gitlab/ $ sudo -u git -H cp config/initializers/rack_attack.rb.example config/initializers/rack_attack.rb $ sudo -u git -H cp config/unicorn.rb.example config/unicorn.rb $ sudo -u git -H vim config/unicorn.rb listen "gitlab.zjc.com:8081", :tcp_nopush => true12345
$ cd /home/git/gitlab/ $ sudo -u git cp config/database.yml.mysql config/database.yml $ sudo -u git -H vim config/database.yml 修改 Production 部分,注意這裏用到的gitlabdb表的用戶名和密碼production: adapter: mysql2 encoding: utf8 collation: utf8_general_ci reconnect: false database: gitlabdb pool: 10 username: gitlabuser password: "gitlabpass" host: localhost socket: /var/run/mysqld/mysqld.sock
$ cd /home/git/gitlab/ $ sudo -u git -H vim config/environments/production.rb修改 :sendmail 爲 :smtpconfig.action_mailer.delivery_method = :smtp$ sudo -u git -H cp config/initializers/smtp_settings.rb.sample config/initializers/smtp_settings.rb $ sudo -u git -H vim config/initializers/smtp_settings.rb地址、端口、密碼等請根據實際狀況配置Gitlab::Application.config.action_mailer.delivery_method = :smtp ActionMailer::Base.smtp_settings = { address: "mail.vzjc.com", port: 587, user_name: "gitlab@vzjc.com", password: "111111", domain: "vzjc.com", authentication: :plain, enable_starttls_auto: true, openssl_verify_mode: 'none' # See ActionMailer documentation for other possible options }
$ cd /home/git/gitlab/ $ sudo -u git -H vim Gemfilesource "http://ruby.taobao.org/"
$ cd /home/git/gitlab/ $ sudo -u git -H bundle install --deployment --without development test postgres aws kerberos12
$ cd /home/git/gitlab/ $ sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production12
$ cd /home/git/gitlab/ $ sudo cp lib/support/init.d/gitlab /etc/init.d/gitlab $ sudo update-rc.d gitlab defaults 21123
$ cd /home/git/gitlab/ $ sudo cp lib/support/logrotate/gitlab /etc/logrotate.d/gitlab12
$ cd /home/git/gitlab/ $ sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=productionENV=production System information System: Ubuntu 14.04 Current User: git Using RVM: no Ruby Version: 2.2.3p173 Gem Version: 2.4.5.1 Bundler Version:1.10.6 Rake Version: 10.4.2 Sidekiq Version:3.3.0 GitLab information Version: 7.14.0 Revision: 6efd0bc Directory: /home/git/gitlab DB Adapter: mysql2 URL: http://gitlab.zjc.com HTTP Clone URL: http://gitlab.zjc.com/some-group/some-project.git SSH Clone URL: git@gitlab.zjc.com:some-group/some-project.git Using LDAP: no Using Omniauth: no GitLab Shell Version: 2.6.4 Repositories: /home/git/repositories/ Hooks: /home/git/gitlab-shell/hooks/ Git: /usr/bin/git
$ sudo /etc/init.d/gitlab restart
sudo -u git -H bundle exec rake assets:precompile RAILS_ENV=production1
安裝方法查看本博客 Ubuntu下安裝Nginx、PHP
$ cd /home/git/gitlab $ sudo cp lib/support/nginx/gitlab /etc/nginx/sites-available/gitlab $ sudo ln -s /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/gitlab $ sudo vim /etc/nginx/sites-available/gitlabserver { listen 0.0.0.0:80; listen [::]:80; server_name gitlab.zjc.com;[...] location /uploads/ { [...] proxy_pass http://gitlab.zjc.com:8081; }[...] location @gitlab { [...] proxy_pass http://gitlab.zjc.com:8081; }
$ sudo /etc/init.d/nginx restart# or$ sudo service nginx restart123
用瀏覽器訪問: `http://gitlab.zjc.com` 用戶名:root 密碼:5iveL!fe
接下來作幾件事兒
Gitlab用root登陸
root用戶配置,修改郵箱爲admin@vzjc.com
admin爲主機上的帳戶,修改郵箱後會向此帳戶發送郵件,點擊郵件裏的驗證,郵箱就算是完全修改過來了
若是在配置完後又修改了Gitlab的配置文件,那麼還須要執行Gitlab初始化數據庫和編譯操做,否則重啓後無效 (測試是這樣,待考證)
http://longgeek.com/2013/12/26/ci-system-structures-ii-gitlab-installation/
https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/installation.md
http://my.oschina.net/u/1158620/blog/289191