ubuntu desktop 12.04 LTS で Redmine 2.3.0 と GitLab 5.2 を構築 (nginx で構築)

投稿者: | 2014/09/05

環境

Ubuntu desktop 12.04 LTS (64bit)
Redmine 2.3.0

事前準備

  • 必要なパッケージのインストール。
# sudo apt-get update
# sudo apt-get upgrade
# sudo apt-get install -y build-essential zlib1g-dev libyaml-dev libssl-dev \
libgdbm-dev libreadline-dev libncurses5-dev libffi-dev curl git-core \
openssh-server redis-server checkinstall libxml2-dev libxslt-dev \
libcurl4-openssl-dev libicu-dev postfix python nginx \
imagemagick  libmagickcore-dev libmagickwand-dev \
mysql-server mysql-client libmysqlclient-dev
  • rubyのインストール

デフォルトでrubyがインストールされている場合は削除。

# sudo apt-get remove ruby1.8

安定しているruby1.9.3をインストール。

# mkdir /tmp/ruby && cd /tmp/ruby
# curl --progress http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p429.tar.gz | tar xz
# cd ruby-1.9.3-p429
# ./configure
# make
# make install
# gem install bundler --no-ri --no-rdoc

GitLabのインストール

  • Gitユーザーを追加
# adduser --disabled-login --gecos 'GitLab' git

gitユーザーで作業をする

# sudo su git
# cd /home/git
  • gitlab-shellをインストール
# git clone https://github.com/gitlabhq/gitlab-shell.git
# cd gitlab-shell/
# git checkout -b v1.5.0 v1.5.0
# cp config.yml{.example,}
# vim config.yml
# ./bin/install
# cd ../
  • gitlabを配置
# cd /home/git
# git clone https://github.com/gitlabhq/gitlabhq.git gitlab
# cd /home/git/gitlab
# git checkout -b v5.2.1 v5.2.1
# cp config/gitlab.yml{.example,}
# vim config/gitlab.yml # いろいろ設定
# chown -R git log/ # ログや一時ディレクトリを作成して書き込み可能にしておく
# chown -R git tmp/
# mkdir tmp/pids/
# mkdir tmp/sockets/
# mkdir public/uploads
# chmod -R u+rwX  log/
# chmod -R u+rwX  tmp/
# chmod -R u+rwX  public/uploads
# cp config/puma.rb{.example,}
# git config --global user.name "GitLab" # Gitの設定
# git config --global user.email "gitlab@example.com"
  • MySQLの設定
# cp config/database.yml{.mysql,}
# mysql -u root -p

ここで$passwordは任意のものを入力し、上記のdatabase.ymlにそのパスワードを記述する。

mysql> CREATE USER 'gitlab'@'localhost' IDENTIFIED BY '$password';
mysql> CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;
mysql> GRANT SELECT, LOCK TABLES, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `gitlabhq_production`.* TO 'gitlab'@'localhost';
mysql> exit;

接続チェック

# mysql -u gitlab -p -D gitlabhq_production
  • gemから必要なものをインストール
# gem install charlock_holmes --version '0.6.9.4' --no-ri --no-rdoc
# bundle install --deployment --without development test postgres
# bundle exec rake gitlab:setup RAILS_ENV=production

※ココらへんで失敗する場合は、databse.ymlにmysqlのパスワードを記述し忘れたり、
gitユーザーでgitlab-shellの./bin/installの実行し忘れの可能性あり。

再び起動チェック

# bundle exec rake gitlab:env:info RAILS_ENV=production
# bundle exec rake sidekiq:start RAILS_ENV=production
  • 起動スクリプトの設置
# sudo su -
# cp lib/support/init.d/gitlab /etc/init.d/gitlab
# chmod +x /etc/init.d/gitlab
# update-rc.d gitlab defaults 21

Redmine

※redmineは、/home/直下だとユーザー領域にサービスがたくさん出来てしまうので、/home/project/redmineに作成します。

  • ソースのDL
# mkdir -m 755 /home/project
# cd /home/project
# git clone https://github.com/redmine/redmine.git
# cd redmine
  • MySQL設定
# cp config/database.yml{.example,}
# mysql -u root -p

$passwordは任意のものを入力し、上記のdatabase.ymlにそのパスワードを記述する。

mysql> CREATE USER 'redmine'@'localhost' IDENTIFIED BY '$password';
mysql> CREATE DATABASE IF NOT EXISTS `redmine` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;
mysql> GRANT SELECT, LOCK TABLES, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `redmine`.* TO 'redmine'@'localhost';
mysql> exit;

各種設定

※apacheではなく、nginxで動かす。gitlabで作ったpumaファイルが使えそうなので、流用する。

# cp /home/git/gitlab/config/puma.rb config/puma.rb
# vim config/puma.rb # gitlab 用の設定を redmine 用に変更
# vim Gemfile # puma をインストールするために " gem "puma", '~> 2.0.1' " を追加
# cp -pR config/configuration.yml{.example,}
# vim config/configuration.yml # 各種設定
# bundle install --without development test postgresql sqlite
# rake generate_secret_token
  • redmine インストール
# RAILS_ENV=production rake db:migrate
# RAILS_ENV=production rake redmine:load_default_data
# mkdir tmp public/plugin_assets
# chown -R www-data:www-data /home/project
# chmod -R 755 files log tmp public/plugin_assets

起動スクリプト作成

※これもgitlabのを流用。変更点が多かったので、DLしてください。
Redmineの起動スクリプト
これを/etc/init.d/redmineに配置。そして設定。

# chmod +x /etc/init.d/redmine
# update-rc.d redmine defaults 21

Nginxの設定

※あとはNginxの設定。gitlab と redmine をバーチャルホストで動かす。
(SSL利用するのでkeyとかcrtとか設定しているが、とりあえずコメントアウトでOK)

下記のNginx用gitlab設定ファイルを「/etc/nginx/sites-available/」に配置する。
Nginx用gitlab設定ファイル

・SSL設定利用しないのであれば、11,13~16行目はコメントアウトでOK
・17行目のserver_nameだけ変更すればOK

下記のNginx用redmine設定ファイルを「/etc/nginx/sites-available/」に配置する。
Nginx用redmine設定ファイル

・SSL設定利用しないのであれば、11,13~16行目はコメントアウトでOK
・17行目のserver_nameだけ変更すればOK

そして各サービスを起動。

# service gitlab restart
# service redmine restart
# service nginx restart

メールの設定などはまた今度。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です