Amazon EC2(Amazon Linux 2)にRedmine3.4をインストール
2018/08/16
久しぶりに新しい環境でRedmineを構築したくなり、せっかくなのでAmazon Linux 2を使って構築してみました。
こちらの記事を大変参考にいたしました。
Redmine 3.4をCentOS 7.3にインストールする手順
いつもありがとうございます!
また別の記事にも書いていますが、これもせっかくなので、データベースには一般利用が始まったばっかりのAmazon RDS Aurora Serverless、ファイルシステムは東京リージョンに来たばっかりのAmazon EFSを使ってみてます。
Amazon Aurora Serverlessを使い始めてみました(1日経過しての課金結果も)
EFSをEC2(Amazon Linux 2)からマウントする
目次
高可用なRedmine
EC2の起動
t2.smallのAmazon Linux 2を起動しました。
Redmineのインストール
rootで操作したいので環境変数のパスだけ渡してユーザーを切り替えます。
1 2 3 4 |
export ORIG_PATH=$PATH $ sudo -s -E export PATH=$ORIG_PATH |
必要なモジュールをインストールします。
1 2 3 4 5 6 7 |
yum -y update yum -y groupinstall "Development Tools" yum -y install openssl-devel readline-devel zlib-devel curl-devel libyaml-devel libffi-devel yum -y install mysql mysql-devel yum -y install httpd httpd-devel yum -y install ImageMagick ImageMagick-devel ipa-pgothic-fonts |
Ruby2.4をインストールしました。
1 2 3 4 5 6 7 8 9 10 11 |
curl -O https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.1.tar.gz tar xvf ruby-2.4.1.tar.gz cd ruby-2.4.1 ./configure --disable-install-doc make make install cd .. ruby -v ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux] |
bundleをインストールします。
1 2 |
gem install bundler --no-rdoc --no-ri |
Auroraにアクセスして、Redmine用のデータベースとユーザを作成します。
1 2 3 4 5 |
mysql -h (Auroraのクラスタendpoint) -u user -p create database db_redmine default character set utf8; grant all on db_redmine.* to redmine_user@’%’ identified by '************'; flush privileges; |
Redmineをインストールします。
1 2 |
svn co https://svn.redmine.org/redmine/branches/3.4-stable /var/lib/redmine |
データベースの接続設定を作成します。
1 2 |
vim /var/lib/redmine/config/database.yml |
今回はProductionの環境だけ作成しましたので下記のみを記載するようにしました。
1 2 3 4 5 6 7 8 |
production: adapter: mysql2 database: db_redmine host: (Auroraのクラスタendpoint) username: redmine_user password: *************** encoding: utf8 |
Redmineの設定ファイルを作成します。
1 2 |
vim /var/lib/redmine/config/configuration.yml |
こちらもProductionのみです。
メールの設定はとりあえずです。
attachments_storage_pathを使ってEFSをマウントしているパスに添付ファイルの保存先を変更します。
1 2 3 4 5 6 7 8 9 10 11 |
production: email_delivery: delivery_method: :smtp smtp_settings: address: "localhost" port: 25 domain: "example.com" rmagick_font_path: /usr/share/fonts/ipa-pgothic/ipagp.ttf attachments_storage_path: /var/efs |
必要なモジュールをインストールします。
1 2 |
bundle install --without development test --path vendor/bundle |
シークレットトークンを作成します。
1 2 |
bundle exec rake generate_secret_token |
データベースにテーブルを作成します。
1 2 |
RAILS_ENV=production bundle exec rake db:migrate |
初期データを作成します。
1 2 |
RAILS_ENV=production REDMINE_LANG=ja bundle exec rake redmine:load_default_data |
passengerをインストールします。
1 2 3 4 |
gem install passenger -v 5.1.12 --no-rdoc --no-ri passenger-install-apache2-module --auto --languages ruby passenger-install-apache2-module --snippet |
LoadModule以降が表示されるのでこれを/etc/httpd/conf.d以下に設定ファイルを作って記述します。
1 2 |
vim /etc/httpd/conf.d/redmine.conf |
1 2 3 4 5 6 7 8 9 10 |
<Directory "/var/lib/redmine/public"> Require all granted </Directory> LoadModule passenger_module /usr/local/lib/ruby/gems/2.4.0/gems/passenger-5.1.12/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /usr/local/lib/ruby/gems/2.4.0/gems/passenger-5.1.12 PassengerDefaultRuby /usr/local/bin/ruby </IfModule> |
apacheのドキュメントルートをredmineのディレクトリに変更します。
1 2 3 |
vim /etc/httpd/conf/httpd.conf DocumentRoot "/var/lib/redmine/public" |
apache webサーバを自動起動にしてサーバをスタートします。
1 2 3 4 |
systemctl enable httpd.service service httpd configtest systemctl start httpd.service |
起動しました!
証明書を発行してALB経由にするのはまた次のお話で。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。


開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
Amazon CloudSearchにAWS Lambda(Python)からデータをアップロードする
このブログはゆるっとアドベントカレンダー Advent Calendar 201 …
-
-
AWS Global Acceleratorでアクセラレーターを作成する
バージニア北部、東京、大阪のEC2インスタンスをエンドポイントにして作成してみま …
-
-
WordPressのwp-login.php , xmlrpc.phpへのアクセスをAWS WAFで接続元IPアドレスを制限する
AWS CloudWatch LogsエージェントでAmazon EC2上のNg …
-
-
ChatGPT APIをTeamsボットから使いました(AWS Lambda(Python) + API Gateway)
ChatGPT APIが有償で利用可能になったので、会社のTeamsボットに実装 …
-
-
ENAが有効なEC2インスタンスの帯域幅をiperf3で確認してみた
同じ Amazon VPC 内で Amazon EC2 Linux インスタンス …
-
-
Amazon Aurora Serverless のログをCloudWatch Logsに出力する
WordPress W3 Total Cache のDatabaseCacheを …
-
-
AWS Wavelengthゾーンを有効にする
画面上で確認しておきたかったので有効にしておきました。 AWS Waveleng …
-
-
AWS CDK とにかくサンプルでやってみる
Cloud9でAWS CDK環境で作った環境でサンプルプロジェクトからのデプロイ …
-
-
AWS Lambda(Python)で生成した文字をAmazon Connectで音声を設定して発信する
Amazon Connectから発信する電話の音声を動的に設定します。 Lamb …
-
-
Rocket.ChatにAPIで投稿するテスト(Postman)
トレーニング期間中で一時利用するチャットが欲しいなあと思い、Rocket.Cha …