EC2-RDSを使ってRedmineをインストールする。ついでにサブディレクトリで。

前回の続き。

せっかくAWSを使うんなら、DBはAmazon RDS(Amazon Relational Database Service)を使いたい。
ついでにEC2に入れたapacheは他ででも使いたいから、
RedmineはDocumentRootじゃなくサブディレクトリにしたい。
と、言うわけで前回インストールしたRedmineはキレイさっぱり削除して、新たにインストール。
こう言う時、AWSは便利だね。

 
RDSを使うと言っても別に難しいことは無く、DBのインストールと設定が変わるだけ・・・なんだけど、
ま、せっかくなんで前回と同じように備忘録。

name Version Install
Apache 2.2.29 yum
MySQL 5.6.23 RDS
Ruby 2.0.0p645 Pre Installed
Redmine 3.0.3 download
Passenger 5.0.11 gem

 

EC2のセットアップ

t2.microでインスタンスを作成する。(この時点でElasticIPを割り当てておく。)

 

RDSのセットアップ

MySQLでインスタンスを作成する。

インスタンスクラス:db.t2.micro
アベイラビリティゾーン:EC2と同じにしておく
セキュリティグループ:インバウンドでMYSQL(3306)を開放しておく
初期DB:作成不要

 

EC2のセットアップの続き

ec2-userでsshログイン

とりあえず、アップデート
[code lang=”bash” gutter=”off”]
$ sudo yum -y update
[/code]

 

RDSとの接続確認のため、mysqlをインストール
[code lang=”bash” gutter=”off”]
$ sudo yum -y install mysql
[/code]

RDSとの接続確認
[code lang=”bash” gutter=”off”]
$ mysql -h RDSのエンドポイント -u db_username -p
Enter password:db_password

Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 24
Server version: 5.6.23-log MySQL Community Server (GPL)

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the current input statement.

mysql>
[/code]

接続成功。

Redmine用のデータベースと接続ユーザを作成。

[code lang=”sql” gutter=”off”]
mysql> create database db_redmine default character set utf8;
mysql> grant all on db_redmine.* to user_redmine identified by ‘blueberryblueberry’;

mysql> create database db_redmine default character set utf8;
mysql> grant all on db_redmine.* to db_username identified by ‘db_password’;
mysql> quit;
[/code]

 

では、Redmineをインストール

 

Apacheのインストール

[code lang=”bash” gutter=”off”]
$ sudo yum -y install httpd
[/code]

 

Redmineのインストール

事前に必要なモノをインストール
[code lang=”bash” gutter=”off”]
$ sudo yum -y groupinstall "Development Tools"
$ sudo yum -y –enablerepo=epel install ruby-devel ImageMagick ImageMagick-devel ipa-gothic-fonts
[/code]

 

bundlerのインストール
[code lang=”bash” gutter=”off”]
$ gem install bundler –no-rdoc –no-ri
[/code]

 

io-consoleのインストール
[code lang=”bash” gutter=”off”]
$ gem install io-console
[/code]

 

mysql2のインストール
[code lang=”bash” gutter=”off”]
$ gem install mysql2
[/code]

 

Redmineをダウンロードして/var/lib/redmineに展開。
※ バージョンはhttp://www.redmine.org/releases/にアクセスして、一番新しいものを。今回は3.0.3。

[code lang=”bash” gutter=”off”]
$ mkdir tmp
$ cd tmp
$ curl -O http://www.redmine.org/releases/redmine-3.0.3.tar.gz
$ tar xvf redmine-3.0.3.tar.gz
$ sudo mv redmine-3.0.3 /var/lib/redmine
[/code]

 

/var/lib/redmineに移動し、Redmineのインストールを実行。
[code lang=”bash” gutter=”off”]
$ cd /var/lib/redmine
$ bundle install –without development test
[/code]

 

データベースを設定するため、/var/lib/redmine/config/database.ymlを編集。
※なければ、database.yml.exampleをコピーして編集。

[code lang=”xml” line=”1″]
production:
adapter: mysql2
database: db_redmine
host: RDSのエンドポイント
username: db_username
password: db_password
encoding: utf8
[/code]

 

SMTPを設定するため、/var/lib/redmine/config/configuration.ymlを編集。
※無ければ、/var/lib/redmine/config/configuration.yml.exampleをコピーして作成。
[code lang=”xml” line=”1″]
production:

email_delivery:
delivery_method: :smtp
smtp_settings:
address: SMTPサーバ
port: 25
authentication: login
domain: メールドメイン
user_name: メールサーバアカウント
password: メールサーバパスワード

rmagick_font_path: /usr/share/fonts/ipa-gothic/ipag.ttf
[/code]
※細かい説明については、以下のサイトを参照。
Redmine.jp – メール通知のためのconfiguration.ymlの設定

 

セッションのシークレットトークンの作成。
[code lang=”bash” gutter=”off”]
$ bundle exec rake generate_secret_token
[/code]

 

データベース初期化
[code lang=”bash” gutter=”off”]
$ bundle exec rake db:migrate RAILS_ENV=production
[/code]

 

Passengerインストールのため、swap領域を確保
[code lang=”bash” gutter=”off”]
$ sudo dd if=/dev/zero of=/swap bs=1M count=1024
$ sudo mkswap /swap
$ sudo swapon /swap
[/code]

 

Passengerのインストール
[code lang=”bash” gutter=”off”]
$ sudo yum -y install curl-devel httpd-devel apr-devel apr-util-devel
$ gem install passenger –no-rdoc –no-ri
[/code]

 

続けて、apache2モジュールを起動。
[code lang=”bash” gutter=”off”]
$ passenger-install-apache2-module
[/code]

 

途中でApacheの設定書き換えろと言ってくるけど、
Terminalをもうひとつ立ち上げるのが面倒なので後回し。
設定内容はコピっておく。

で、passenger設定。
さきほどコピっておいた内容を/etc/httpd/conf.d/passenger.confにペースト。
前回とバージョンが変わってる・・
[code lang=”xml” line=”1″]
LoadModule passenger_module /home/ec2-user/.gem/ruby/2.0/gems/passenger-5.0.13/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /home/ec2-user/.gem/ruby/2.0/gems/passenger-5.0.13
PassengerDefaultRuby /usr/bin/ruby2.0
</IfModule>
[/code]

 

サブディレクトリ公開設定

ドキュメントルート下に、Redmineのpublicディレクトリを
公開したい名前でシンボリックリンク設定する。

[code lang=”bash” gutter=”off”]
$ cd /var/www/html
$ sudo ln -s /var/lib/redmine/public redmine
$ ls -l
total 0
lrwxrwxrwx 1 root root 23 Jul 8 15:58 redmine -> /var/lib/redmine/public
[/code]

 

前回はDocumentRootを修正したが、今回はDocumentRootはそのまま、
/etc/httpd/conf/httpd.confにサブディレクトリ設定を追記する。
[code lang=”xml” line=”1″]
<Location /redmine>
Options -Indexes
RailsBaseURI /redmine
</Location>
[/code]

 

Apacheを起動し、自動起動設定。
[code lang=”bash” gutter=”off”]
$ sudo service httpd start
$ sudo chkconfig httpd on
[/code]

ブラウザでアクセスして動作確認。
初期設定なんかは、前回を参考にしてください。

 

さて、次回はプラグインのインストールかな。

 

コメント

  1. […] 前回の続き。 […]

タイトルとURLをコピーしました