LoginSignup
0
2

More than 3 years have passed since last update.

AWSのRHEL8インスタンスにRedmine構築した時の備忘録

Posted at

はじめに

 みなさま初めまして弐進(ニシン)と申します。長い1年間の社内研修を終えたぺーぺーのSEです。
今回は配属1週間目にしてAWSを用いてRedmineの構築を命じられ、四苦八苦しながらも達成したので構築に際して参考にした記事とそれ以外に詰まったところメモを自身の備忘録代わりに記事にしていきます。

目次

  • 構築の条件
  • 手順1 SSH接続
  • 手順2 下準備
  • 手順3 環境構築

構築の条件

 今回はIaaSでイチからRedmineを構築していきます。AWSのAMIにはbitnamiのオールインワンパッケージが存在しますが今回はこれを使いません。上司からの指定+Linuxへの知見を深めるためです。(正直、できるなら楽をしたかったのですが……笑)その他指定された条件は以下の通りです。
- OS:RHEL8
- DB:MySQL8
- バックアップ:1回/日 7世代分をRedmineと同一インスタンス内にとる
- インスタンスは用意したプライベートサブネット内に作成してSSHは踏み台インスタンスからのみ許可
 指定されたこと以外はなるべく楽をしました。

手順1 SSH接続

 いきなりここで躓きました。単純なクライアントtoサーバーのSSH接続は経験があったのですが、踏み台サーバーを通して目的のサーバーに接続した試しはありません。最初は踏み台サーバーに鍵をおいて踏み台サーバー上でSSHコマンドぶっぱすればいいでしょとかいう、セキュリティホールの権化のような単純な発想になりかけたのですが思いとどまり、クライアントに鍵を置いた状態で接続する方法をさがしました。
 ProxyCommandという便利なモノを発見。これを使えば楽に多段SSHができました。こちらの記事を参考させていただいたので、手順の説明に代えて記事のリンクを貼っておきます。

参考1: ProxyCommandでsshの多段接続をする - Qiita
参考2: 多段SSH, ポートフォワーディングの方法 - わくわくBank

手順2 下準備

 RubyやMySQL、Redmineのインストールの前に必要なパッケージのインストールを済ませます。Apacheもあらかじめインストールしておきます。

SELinuxの無効化

 AWSのRHEL8パッケージではSElinuxが有効化されていますので、こちら無効化しておきます。エディタで/etc/sysconfig/selinuxを開いて、SELINUX=disabledに書き換えてください。

dnfのアップデート

 のちのちのインストールでエラーが出ることがあったので、dnfをアップデートします。

$ dnf --releasever=8 -y update dnf

開発ツールやEPELなどのインストール

 開発ツールのインストールをします。

$ dnf -y groupinstall "Development Tools"

 続けてEPELのインストールをします。EPELのインストール前にDnf(yum) updateすると rhui-codeready-builder-for-rhel-8-rhui-rpm が codeready-builder-for-rhel-8-rhui-rpm として登録されてしまい、インストールに失敗するので注意してください。(私はここで詰まりました。。。)

$ dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
$ dnf config-manager --set-enabled rhui-codeready-builder-for-rhel-8-rhui-rpms

 RubyとPassengerのインストールに必要なツールをインストールします。

$ dnf -y install openssl-devel readline-devel zlib-devel curl-devel libyaml-devel libffi-devel

 ImageMagickのインストールをします。

$ dnf -y install ImageMagick ImageMagick-devel

 Redmineで使う日本語フォントをIPAからダウンロードして展開します。

$ curl -OL https://ipafont.ipa.go.jp/IPAexfont/ipaexg00401.zip
$ unzip ipaexg00401.zip -d /usr/share/fonts/

 Apacheのインストールをして、下準備は完了です。

$ dnf -y install httpd httpd-devel

参考:3 CentOS 8.0 でパッケージがインストールできなくなったら - Qiita

手順3 環境構築

 環境構築とざっくりまとめましたが、RubyのインストールからRedmineのインストールに至るまで、(インストールするバージョンの違いはあれど)このあとに紹介する記事の手順に沿って行いました。ただ、Redmineの設定ファイル/opt/redmine-4.1.0/config/configuration.ymlの編集内容は、先にインストールしておいたIPAの日本語フォントを使うので以下のようになります。

configuration.yml
  production:
    email_delivery:
      delivery_method: :smtp
      smtp_settings:
        address: "localhost"
        port: 25
        domain: 'myhost.com'

  rmagick_font_path: /usr/share/fonts/ipaexg00401/ipaexg.ttf

インスタンスサイズ(メモリサイズ)が小さいとPassengerのインストールが失敗することがあります。その場合はSWAP領域を用意するか、それでもダメな時はいっそのことスケールアップすることで解決します。(私はSWAPファイル作成してもうんともすんとも言わなかったので、スケールアップしました。初期はt2.microサイズでした。メモリは2GiBはあるほうがいいと思います)

参考4: Redmine 3.2 のインストール手順 (CentOS 7, Apache 2.4, MySQL) | WEB ARCH LABO
参考5: rbenv+ruby-buildをインストールする手順 (CentOS/RedHat) | WEB ARCH LABO
参考6: Rubyをrbenv+ruby-buildを利用してCentOSにインストールする手順 | WEB ARCH LABO
参考7: rbenv を使って ruby をインストールする(CentOS編) - Qiita

最後のひとこと

 AWSのRHEL8にRedmineをインストールするにあたって詰まったところを補足する形で、参考にした記事をまとめました。最低限の備忘録にはなったと思います。なにかお気づきの点あればコメントくださると幸いです。

0
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2