はじめに
AWS EC2のRHEL7.2でRedmine Pluginの開発環境を構築したときのメモです。
項目 | 内容 |
---|---|
OS | Red Hat Enterprise Linux 7.2 |
Redmine | 3.2.0 |
Ruby | 2.3.0 |
EC2インスタンス準備
インスタンス作成
項目 | 内容 |
---|---|
AMI | Red Hat Enterprise Linux 7.2 (HVM), SSD Volume Type |
インスタンスタイプ | t2.micro |
セキュリティグループ | SSH,HTTP,HTTPS,3000を許可 |
インスタンス初期設定
SELINUXを無効に変更
sudo vi /etc/sysconfig/selinux
以下を変更
SELINUX=enforcing
↓
SELINUX=disabled
タイムゾーン変更
sudo ls -la /etc/localtime
sudo rm /etc/localtime
sudo ln -s /usr/share/zoneinfo/Japan /etc/localtime
sudo ls -la /etc/localtime
redmineユーザ作成
sudo useradd redmine
sudo passwd redmine
周辺ツールインストール
開発ツール(Cコンパイラ等)のインストール
sudo yum -y groupinstall "Development Tools"
sudo yum -y install wget ipa-pgothic-fonts
MariaDBのインストール
sudo yum -y install mariadb-server mariadb-devel
sudo vi /etc/my.cnf
/etc/my.cnfで、以下の設定を追加
[mysqld]
character-set-server=utf8
[mysql]
default-character-set=utf8
show-warnings
起動と自動起動の設定の追加
sudo systemctl start mariadb
sudo systemctl enable mariadb
初期設定
mysql_secure_installation
-- > パスワードなどを設定
mysql -uroot -p
> -- my.cnfの設定確認。character_sets_dir 以外の値がすべて utf8 になっていることを確認
> show variables like 'character_set%';
>
> -- Redmine用データベース(通常用)と操作権限を持つユーザーの作成
> create database db_redmine default character set utf8;
> grant all on db_redmine.* to user_redmine@localhost identified by '********';
>
> -- Redmine用データベース(開発用)と操作権限を持つユーザーの作成
> create database db_redmine_dev default character set utf8;
> grant all on db_redmine_dev.* to user_redmine@localhost;
>
> -- 設定確認
> show databases;
> show grants for user_redmine@localhost;
>
> -- 設定反映
> flush privileges;
>
> exit
Rubyのインストール
Rubyのダウンロードページからソースコードをダウンロードしてインストールします。
http://www.ruby-lang.org/ja/downloads/
cd /usr/local/src/
sudo wget https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0.tar.gz
cd /var/lib
sudo tar xvf /usr/local/src/ruby-2.3.0.tar.gz
cd ruby-2.3.0
sudo ./configure --disable-install-doc
sudo make; sudo make install
ruby -v
--> バージョン確認
ImageMagickのインストール
ImageMagickはガントチャートをPNG形式の画像にエクスポートする機能や、添付ファイルのサムネイル画像を作成するのに使われます。
Gemパッケージのインストールする際、PATHを設定しても以下のようなエラーが出るので、対策としてImageMagickをインストールしています。
# bundle install --without development test --path vendor/bundle
[略]
An error occurred while installing rmagick (2.15.4), and Bundler cannot continue.
Make sure that `gem install rmagick -v '2.15.4'` succeeds before bundling.
# gem install rmagick -v '2.15.4'
[略]
Package MagickCore was not found in the pkg-config search path.
Perhaps you should add the directory containing `MagickCore.pc'
to the PKG_CONFIG_PATH environment variable
No package 'MagickCore' found
[略]
ImageMagickインストール方法(もっと良い方法ありそう)
cd /usr/local/src/
sudo wget http://sourceforge.net/projects/imagemagick/files/old-sources/6.x/6.9/ImageMagick-6.9.1-10.tar.gz
cd /var/lib
sudo tar xvf /usr/local/src/ImageMagick-6.9.1-10.tar.gz
cd ImageMagick-6.9.1-10
sudo ./configure
sudo make;sudo make install
Redmineインストール
Redmine本体の入手
Redmineのダウンロードページからソースコードをダウンロードしてインストールします。
http://www.redmine.org/projects/redmine/wiki/Download
cd /usr/local/src
sudo wget http://www.redmine.org/releases/redmine-3.2.0.tar.gz
cd /var/lib
sudo tar xzfv /usr/local/src/redmine-3.2.0.tar.gz
sudo ln -s redmine-3.2.0/ redmine
ll redmine
cd /var/lib/redmine
sudo chown -R redmine.redmine .
データベース接続設定
database.yml.exampleを参考に、DBに合わせて記述します。ここでは、productionモード(通常用)とdevelopmentモード(開発用)の両方を記述しています。
productionモード(通常用)とdevelopmentモード(開発用)とは?
Railsでは、productionモードとdevelopmentモードの2つの動作モードが用意されています。実際に稼動する場合はproductionモードで動作させますが、開発に使う場合はdevelopmentモードの方が少し便利です。
productionモードでは動作を速くするため、一度読み込んだコードは覚えておいて、再度表示する場合はそれを使います。developmentモードの場合は、表示するたびに毎回読み込んでくれます。
su - redmine
cp /var/lib/redmine/config/database.yml.example /var/lib/redmine/config/database.yml
chmod 600 /var/lib/redmine/config/database.yml
vi /var/lib/redmine/config/database.yml
例
production:
adapter: mysql2
database: db_redmine
host: localhost
username: user_redmine
password: ****
encoding: utf8
development:
adapter: mysql2
database: db_redmine_dev
host: localhost
username: user_redmine
password: ****
encoding: utf8
Gemパッケージのインストール
Redmineはrubyの各種モジュールを使用しています。まずは、bundlerという、Redmineが使用するGemを一括インストールするためのツールをインストールします。
その後、bundleコマンドで関連パッケージをインストールします。
cd /var/lib/redmine
gem list
gem install bundler --no-rdoc --no-ri
su - redmine
cd /var/lib/redmine
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
bundle install --without development test --path vendor/bundle
Redmine初期設定
Redmineの初期設定をします。
bundle exec rake generate_secret_token
--> セッションデータ改竄防止用鍵(クッキーを暗号化する鍵)に生成
bundle exec rake db:migrate RAILS_ENV=production
--> テーブル作成(通常用)
bundle exec rake db:migrate
--> テーブル作成(開発用)
起動
cd /var/lib/redmine
bundle exec rails s --bind=0.0.0.0 -e production
--> productionモードで起動
bundle exec rails s --bind=0.0.0.0
--> developmentモードで起動
URLにアクセスして、Redmineのホーム画面が表示されれば成功です。
http://サーバーのIP:3000/
Redmineプラグインの開発環境の準備が整いました。
参考
プラグイン開発ガイド
EC2のRHEL7にRedmineを構築するレシピ
Redmine 2.6をCentOS 7.0にインストールする手順