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認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。
「AWS教科書 AWS認定デベロッパーアソシエイト テキスト&問題集 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
関連記事
-
-
ハンズオン: CloudFormation、SAM、Codeサービス ~AWS認定デベロッパーアソシエイト(DVA-C02)~
このブログは2026年6月29日翔泳社さんより発売される「AWS教科書 AWS認 …
-
-
ACM(AWS Certificate Manager)の承認メールを受け取るためにAmazon SESを設定する
何のためでもいいのですが、ドメインは持っているけど、そのドメイン宛にメールを送ら …
-
-
AWS CodeStarで静的webサイトのテンプレートプロジェクトを作成する
執筆環境の検討中です。 CodeCommitは使うつもりで、コミットしたときにE …
-
-
AWS Organizationsからアカウントを新規作成してみて
AWS Organizationsでアカウントを新規作成することがありましたので …
-
-
QuickSightのVisualizeをダッシュボード化して定期メール
「Backlogの実績工数をAmazon QuickSightで可視化してわかっ …
-
-
S3 Intelligent-Tieringのオブジェクトの階層移動をCloudWatchメトリクスで確認
CloudWatchメトリクスの保存期間は現時点で15ヶ月(455日)なのでそろ …
-
-
WordPress(EC2)の画像のS3へのオフロードをMedia Cloudで
タイトル通りですが、画像をwebサーバー(EC2)からではなく、S3バケットから …
-
-
特定AWSアカウント特定リージョンのSNSトピックを削除するLambda(Python)
やりたいこと 特定アカウント内特定リージョン内のSNSトピックを全部削除したいで …
-
-
EC2 Windows インスタンス PowerShellでメタデータを見る
Linuxインスタンスならcurlコマンドで確認すればいいのですが、Window …
-
-
AWS Snowファミリーのジョブ作成画面を確認
使わないのですが、画面を見ておきたかったので確認しました。 Snowファミリージ …


