参考URL
https://github.com/gitlabhq/gitlabhq/blob/stable/doc/install/installation.md
##1. Packages / Dependencies
システムのアップデート
sudo apt-get update
sudo apt-get upgrade
vimをインストール
sudo apt-get install -y vim
必要なパッケージをインストール
sudo apt-get install -y build-essential zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libffi-dev wget curl git-core openssh-server redis-server postfix checkinstall libxml2-dev libxslt-dev libcurl4-openssl-dev libicu-dev
Pythonをインストール
sudo apt-get install python
バージョンが2.5+であることを確認 (3.xはまだサポート外)
python --version
##2. Ruby
Rubyをダウンロード&コンパイル
mkdir /tmp/ruby && cd /tmp/ruby
wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p327.tar.gz
tar xfvz ruby-1.9.3-p327.tar.gz
cd ruby-1.9.3-p327
./configure
make
sudo make install
Bundler Gemをインストール
sudo gem install bundler
##3. System Users
Git and Gitoliteユーザーを作成:
sudo adduser
--system
--shell /bin/sh
--gecos 'Git Version Control'
--group
--disabled-password
--home /home/git
git
GitLabユーザーを作成:
sudo adduser --disabled-login --gecos 'GitLab' gitlab
グループの追加
sudo usermod -a -G git gitlab
SSHキーの生成
sudo -u gitlab -H ssh-keygen -q -N '' -t rsa -f /home/gitlab/.ssh/id_rsa
##4. Gitolite
Gitoliteソースコードをクローンする:
cd /home/git
sudo -u git -H git clone -b gl-v320 https://github.com/gitlabhq/gitolite.git /home/git/gitolite
Gitoliteスクリプトを環境変数に設定
sudo -u git -H mkdir /home/git/bin
sudo -u git -H sh -c 'printf "%b\n%b\n" "PATH=$PATH:/home/git/bin" "export PATH" >> /home/git/.profile'
sudo -u git -H sh -c 'gitolite/install -ln /home/git/bin'
gitlabユーザーのSSHキーをコピーする
sudo cp /home/gitlab/.ssh/id_rsa.pub /home/git/gitlab.pub
sudo chmod 0444 /home/git/gitlab.pub
上記のキーを管理者キーとして使用するように設定
sudo -u git -H sh -c "PATH=/home/git/bin:$PATH; gitolite setup -pk /home/git/gitlab.pub"
Gitoliteをgitで管理できるように設定
sudo chmod 750 /home/git/.gitolite/
sudo chown -R git:git /home/git/.gitolite/
レポジトリのディレクトリを設定
sudo chmod -R ug+rwXs,o-rwx /home/git/repositories/
sudo chown -R git:git /home/git/repositories/
StrictHostKeyCheckingを無効にする
echo "Host localhost
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null" | sudo tee -a /etc/ssh/ssh_config
設定テスト
sudo -u gitlab -H git clone git@localhost:gitolite-admin.git /tmp/gitolite-admin
テストしてOKだったらクローンしたものを削除
sudo rm -rf /tmp/gitolite-admin
##5. Database
MySQL
MySQL関連のパッケージをインストール
sudo apt-get install -y mysql-server mysql-client libmysqlclient-dev
MySQLにログイン
$ mysql -u root -p
GitLabユーザーを作成
mysql> CREATE USER 'gitlab'@'localhost' IDENTIFIED BY '{$password}';
GitLabデータベースを作成
mysql> CREATE DATABASE IF NOT EXISTS gitlabhq_production
DEFAULT CHARACTER SET utf8
COLLATE utf8_unicode_ci
;
GitLabユーザーの権限設定
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON gitlabhq_production
.* TO 'gitlab'@'localhost';
データベース切断
mysql> \q
上記で設定したユーザーでログインできるか確認
sudo -u gitlab -H mysql -u gitlab -p -D gitlabhq_production
##6. GitLab
GitLabをインストール
cd /home/gitlab
GitLabレポジトリをクローンする
sudo -u gitlab -H git clone https://github.com/gitlabhq/gitlabhq.git gitlab
gitlabディレクトリに移動する
cd /home/gitlab/gitlab
安定版にチェックアウトする
sudo -u gitlab -H git checkout 4-0-stable
設定
gitlabディレクトリに移動する
cd /home/gitlab/gitlab
設定ファイルのサンプルをコピーする
sudo -u gitlab -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 gitlab -H vim config/gitlab.yml
Make sure GitLab can write to the log/ and tmp/ directories
sudo chown -R gitlab log/
sudo chown -R gitlab tmp/
sudo chmod -R u+rwX log/
sudo chmod -R u+rwX tmp/
Copy the example Unicorn config
sudo -u gitlab -H cp config/unicorn.rb.example config/unicorn.rb
Configure GitLab DB settings
Mysql
sudo -u gitlab cp config/database.yml.mysql config/database.yml
Make sure to update username/password in config/database.yml.
Install Gems
cd /home/gitlab/gitlab
sudo gem install charlock_holmes --version '0.6.9'
For mysql db
sudo -u gitlab -H bundle install --deployment --without development test postgres
Configure Git
sudo -u gitlab -H git config --global user.name "GitLab"
sudo -u gitlab -H git config --global user.email "gitlab@ec2----.ap-southeast-1.compute.amazonaws.com"
Setup GitLab Hooks
sudo cp ./lib/hooks/post-receive /home/git/.gitolite/hooks/common/post-receive
sudo chown git:git /home/git/.gitolite/hooks/common/post-receive
Initialise Database and Activate Advanced Features
sudo -u gitlab -H bundle exec rake gitlab:app:setup RAILS_ENV=production
Check Application Status
sudo -u gitlab -H bundle exec rake gitlab:env:info RAILS_ENV=production
sudo -u gitlab -H bundle exec rake gitlab:check RAILS_ENV=production
Install Init Script
Download the init script (will be /etc/init.d/gitlab):
sudo wget https://raw.github.com/gitlabhq/gitlab-recipes/master/init.d/gitlab -P /etc/init.d/
sudo chmod +x /etc/init.d/gitlab
Make GitLab start on boot:
sudo update-rc.d gitlab defaults 21
Start your GitLab instance:
sudo service gitlab start
or
sudo /etc/init.d/gitlab restart
##7. Nginx
Installation
sudo apt-get install nginx
Site Configuration
sudo wget https://raw.github.com/gitlabhq/gitlab-recipes/master/nginx/gitlab -P /etc/nginx/sites-available/
sudo ln -s /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/gitlab
Change YOUR_SERVER_IP and YOUR_SERVER_FQDN
to the IP address and fully-qualified domain name
of your host serving GitLab
sudo vim /etc/nginx/sites-enabled/gitlab
sudo rm /etc/nginx/sites-enabled/default
Restart
sudo /etc/init.d/nginx restart
完了!
Visit YOUR_SERVER for your first GitLab login. The setup has created an admin account for you. You can use it to log in:
##[重要]