ヤマムギ

growing hard days.

*

Amazon LinuxにRedmine 環境構築(エラーと対応をそのまま記載版)

      2021/12/08

Amazon Linuxにgit + Redmineの環境を構築してみます。

自宅で構築検証したり構成したりしたものを4月より仕事場で稼働しようと思いまして。
空いた時間で場所を選ばすに作業を進められるのがIaaSのメリットかと思います。

とりあえずこの記事ではRedmineのインストールで悪戦苦闘した様をそのまま書いてます。
手順を整理してきれいにした記事は別で作成する事にします。

amazon-linux

Amazon Linuxのインスタンスは新規で作成。

インストール手順は「Redmine 2.5をCentOS 6.5にインストールする手順」を参考にさせていただきました、というかほぼほぼそのままの手順で、うまく行かなかったとこだけ調べてなんとかします。

必要パッケージのインストール

gitをインストールする

開発ツールなどをインストールする

MySQLをインストールする

Apacheをインストールする

ImageMagickと日本語フォントのインストール

Rubyはすでに入ってた

地味に嬉しい

bundlerをインストールする

MySQLの設定

デフォルトキャラクタセットをUTF-8にする

MySQLの自動起動設定してとりあえず起動

MySQL初期設定ツールの実行

  • Enter current password for root (enter for none): 初期状態でrootのパスワード設定はないのでそのまま[Enter]
  • Set root password? [Y/n] rootのパスワード設定なのでyにして設定
  • Remove anonymous users? [Y/n] anonymous ユーザの削除なのでyで削除
  • Disallow root login remotely? [Y/n] rootユーザの接続をローカルに限定するかどうか
  • Remove test database and access to it? [Y/n] テスト用データベースを削除するかどうか
  • Reload privilege tables now? [Y/n] 設定を即時反映するかどうかなのでyで反映

Redmine用MySQLユーザとデータベースの作成

Redmineのインストール

Redmine 3.0.0をダウンロードして/var/lib/redmineに展開する

Redmineからデータベースへの接続設定ファイルを作成する

設定ファイル config/configuration.yml を作成する

Gemパッケージをインストールする

mkmf.rb can’t find header files for ruby at /usr/share/ruby/include/ruby.h
まずbundle installを実行して上記のエラーが発生してちょいはまる。
ruby-develを先にインストールしなければならないらしいのでそれで解決。

Redmineの初期設定

Passengerのインストール

PassengerとPassengerのApache用モジュールをインストールする

sudo passenger-install-apache2-moduleではパスが通らず、sudoなしで実行したら、やっぱりパーミッションエラーで、その時に表示されたメッセージ通りのコマンドで最終的には実行しました。

[Enter]を押してって実行。
途中の興味のある言語では、デフォルトの「Ruby」と「python」だけでなく「node.js」も追加で選びました。

It looks like something went wrong
「何かが間違っていたように見えます」ですと。
よく見ると次のメッセージが。

virtual memory exhausted: メモリを確保できません

そういえば、EC2のインスタンスタイプがt2.micro(Memory 1G)なのでt2.small(Memory 2G)に変更して2行目のexportから再実行。

[Enter]を押してって実行。
途中の興味のある言語では、デフォルトの「Ruby」と「python」だけでなく「node.js」も改めて追加で選びました。

passenger-install

完了です。
続いて書かれているとおりApacheの設定をします。

Apacheの設定

passenger.confを作成する

設定内容を再確認してテキストエディタにコピーします。

ec2-userに戻って/etc/httpd/conf.d/passenger.confを作成します。

記述内容
Header以降の任意パラメータはとりあえず。
チューニングなど設定がまずければ後で変更します。
「RackBaseURI /redmine」はサブディレクトリで実行するための設定です。

Apache上のPassengerでRedmineを実行するための設定をする

今回はサブディレクトリで実行するように設定しました。

Apacheを起動して自動起動も設定する

動作確認

We’re sorry, but something went wrong.

意気揚々とhttp://<IPアドレス>/redmine で確認したら、
「We’re sorry, but something went wrong.」の表示が。

検索したら「RailsEnv development」を設定ファイルに追加するらしい。

なので、passenger.confに追加してapache再起動

Web applcation could not be started

Could not find i18n-0.7.0 in any of the sources

Web_application_could_not_be_started

続いて「Web applcation could not be started」

エラー内容

bundleをもう一度インストールしてみる。

「Unknown database adapter adapter found in config/database.yml, use Gemfile.local to load your own database gems
Unknown database adapter adapter found in config/database.yml, use Gemfile.local to load your own database gems」

database.ymlをコピペではなくちゃんと書いてみる。

そしてもう一度実行

「There was an error while trying to write to Gemfile.lock. It is likely that
you need to allow write permissions for the file at path:
/var/lib/redmine/Gemfile.lock」

確認

素直に権限を付けてみる

そしてもう一度実行

「Bundle complete! 27 Gemfile dependencies, 49 gems now installed.
Gems in the groups development and test were not installed.
Use bundle show [gemname] to see where a bundled gem is installed.」

きれいにインストールできたようです。
とりあえずOSごと再起動。

まだ変わらない。

bundle以降の手順を再確認してみると、「$ RAILS_ENV=production bundle exec rake db:migrate」でまず
「Rails Error: Unable to access log file. Please ensure that /var/lib/redmine/log/production.log exists and is writable」のエラー

次に「Errno::EACCES: Permission denied – /var/lib/redmine/db/schema.rb」
もうなんだかパーミッションエラー地獄です。
rootがbundleを実行できないのが問題なのでしょうか。
とりあえず1つづつ対応していく。

まだ変わらず。
よくよくエラーメッセージを見ていると、「development」で何かが見つからないって言われているようです。
なので、withoutをやめてみて順番に実行する。

database.ymlに追加した内容

やっと起動した!

使っていて問題があるかもしれませんがとりあえずはインストール完了!!!!

adminのパスワードだけ変えておきます。
(初期パスワードは全世界共通 adminなので。)

Redmine

2015/11/15 追記

この環境、Railsの実行環境がproductionでうまく起動しなくて、developmentにして起動した、というだけという事にいまさらながら気が付きました。

後々のプラグインインストールとかも含めてやり直さないとなーと思ってます。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

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

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

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

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

 - Amazon Linux, AWS, Linux, ProjectManagement, Redmine , , ,

ad

ad

  関連記事

AWS CLIでS3マルチパートアップロードを確認

AWS CLI を使用して、Amazon S3 にファイルをマルチパートアップロ …

Amazon Elasticsearch ServiceにMySQLのデータを投入してkibanaで可視化してみる

MySQLのデータの可視化にAmazon Elasticsearch Servi …

LINE Bot APIのファーストステップをLambda+API Gatewayでやってみたらものすごく簡単で驚いた

トライアル当初はホワイトリストのしばりや、初回反応するまで時間がかかったりとみな …

Linux Mint 17 MATE 64bit にRuby最新安定版をインストールする

外出用Linux MintにRubyを入れてなかった事をハンズオン直前に思い出し …

AMIをOrganizations組織で共有しました

よく使うAMIをOrganizations組織内のリソースパブリッシュ用のアカウ …

VPCピア接続した先のVPCインターフェイスエンドポイントを使用する

VPC1とVPC2でピア接続しています。 VPC2にはKMSのインターフェイスエ …

Amazon EC2 インスタンスメタデータサービス(IMDS) v2のみにしました

今さらながらですが、EC2 インスタンスメタデータサービス(IMDS) v2を確 …

CloudFrontからのバーチャルホストなサイトのテストってどうしてます?

このブログの構成です。 AWSで構築しています。 4つのサイトを1つのEC2で配 …

Amazon API GatewayのIAM認証の動作を確認しました

API GatewayのIAM認証は、IAMユーザーが実行できるように認証する、 …

AWS Transit Gateway Network ManagerにTransit Gatewayを登録してルートアナライザーで確認

グローバルネットワークの作成 VPC左ペインのメニュー Transit Gate …