Amazon LinuxにRedmine をインストールする(手順整理版)
2021/08/12
Amazon LinuxにRedmineをインストールしました手順を記載します。
エラーなどで悪戦苦闘したところは別の記事「エラーと対応をそのまま記載版」でご確認ください。
目次
2015/11/15 追記
この環境、Railsの実行環境をdevelopmentにして起動した、というだけという事にいまさらながら気が付きました。
後々のプラグインインストールとかも含めてやり直さないとなーと思ってます。
それも含めて、以下をご参照いただければ幸いです。
Amazon Linux インスタンス
passengerのインストールでメモリ2GB必要なので、インスタンスタイプはt2.small以上。
必要パッケージのインストール
開発ツールなどをインストールする
1 2 3 |
$ sudo yum groupinstall "Development Tools" $ sudo yum install openssl-devel readline-devel zlib-devel curl-devel libyaml-devel |
MySQLをインストールする
1 2 |
$ sudo yum install mysql-server mysql-devel |
Apacheをインストールする
1 2 |
$ sudo yum install httpd httpd-devel |
ImageMagickと日本語フォントのインストール
1 2 |
$ sudo yum install ImageMagick ImageMagick-devel ipa-pgothic-fonts |
Rubyはすでに入ってます
1 2 3 |
$ ruby -v ruby 2.0.0p598 (2014-11-13 revision 48408) [x86_64-linux] |
bundlerをインストールする
1 2 |
$ sudo gem install bundler --no-rdoc --no-ri |
MySQLの設定
デフォルトキャラクタセットをUTF-8にする
1 2 |
$ sudo vim /etc/my.cnf |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock symbolic-links=0 character-set-server=utf8 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid [mysql] default-character-set=utf8 |
MySQLの自動起動設定してとりあえず起動しておきます
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
$ sudo chkconfig mysqld on $ sudo service mysqld Initializing MySQL database: Installing MySQL system tables... OK Filling help tables... OK To start mysqld at boot time you have to copy support-files/mysql.server to the right place for your system PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! To do so, start the server, then issue the following commands: /usr/bin/mysqladmin -u root password 'new-password' Alternatively you can run: /usr/bin/mysql_secure_installation which will also give you the option of removing the test databases and anonymous user created by default. This is strongly recommended for production servers. See the manual for more instructions. You can start the MySQL daemon with: cd /usr ; /usr/bin/mysqld_safe & You can test the MySQL daemon with mysql-test-run.pl cd /usr/mysql-test ; perl mysql-test-run.pl Please report any problems at http://bugs.mysql.com/ Starting mysqld: [ OK ] |
MySQL初期設定ツールの実行
1 2 |
$ sudo mysql_secure_installation |
- 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ユーザとデータベースの作成
1 2 3 4 5 6 |
$ sudo mysql -uroot -p mysql> create database db_redmine default character set utf8; mysql> grant all on db_redmine.* to user_redmine@localhost identified by '********'; mysql> flush privileges; mysql> exit; |
Redmine 3.0.0のインストール
Redmine 3.0.0をダウンロードして/var/lib/redmineに展開する
1 2 3 4 |
$ curl -O http://www.redmine.org/releases/redmine-3.0.0.tar.gz $ tar xvf redmine-3.0.0.tar.gz $ sudo mv redmine-3.0.0 /var/lib/redmine |
Redmineからデータベースへの接続設定ファイルを作成する
1 2 3 |
$ cd /var/lib/redmine $ sudo vim config/database.yml |
productionとdevelopmentで分けたほうがいいのかもしれませんが、とりあえずは1つのデータベースで設定しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
production: adapter: mysql2 database: db_redmine host: localhost username: user_redmine password: <password>; encoding: utf8 development: adapter: mysql2 database: db_redmine host: localhost username: user_redmine password: <password>; encoding: utf8 |
※RDSに接続する場合はhostにRDSのエンドポイントを設定する
設定ファイル config/configuration.yml を作成する
1 2 |
$ sudo vim config/configuration.yml |
1 2 3 4 5 6 7 8 9 10 |
production: email_delivery: delivery_method: :smtp smtp_settings: address: 'localhost'; port: 25 domain: 'domain.com' rmagick_font_path: /usr/share/fonts/ipa-pgothic/ipagp.ttf |
Gemパッケージをインストールする
1 2 3 4 5 6 7 8 9 10 |
$ sudo yum install ruby-devel $ cd /var/lib/redmine $ sudo chmod 666 Gemfile.lock $ export ORIG_PATH="$PATH" $ sudo -s -E export PATH="$ORIG_PATH" bundle install --without test exit $ bundle install --without test |
Redmineの初期設定
1 2 3 4 5 6 7 8 |
$ cd /var/lib/redmine $ bundle exec rake generate_secret_token $ sudo chmod 777 db $ sudo chmod 666 /log/production.log $ sudo chmod 666 /log/development.log $ RAILS_ENV=production bundle exec rake db:migrate $ RAILS_ENV=development bundle exec rake db:migrate |
Passengerのインストール
PassengerとPassengerのApache用モジュールをインストールする
1 2 3 4 5 6 |
$ sudo gem install passenger --no-rdoc --no-ri $ export ORIG_PATH="PATH"; $ sudo -s -E export PATH="$ORIG_PATH"; passenger-install-apache2-module |
[Enter]を押していってインストールを実行。
完了です。
続いて書かれているとおりApacheの設定をします。
Apacheの設定
passenger.confを作成する
設定内容を再確認してテキストエディタにコピーします。
1 2 3 4 5 6 7 8 |
# exit $ passenger-install-apache2-module --snippet LoadModule passenger_module /usr/local/share/ruby/gems/2.0/gems/passenger-5.0.4/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /usr/local/share/ruby/gems/2.0/gems/passenger-5.0.4 PassengerDefaultRuby /usr/bin/ruby2.0 </IfModule> |
/etc/httpd/conf.d/passenger.confを作成します。
1 2 |
$ sudo vim /etc/httpd/conf.d/passenger.conf |
記述内容
Header以降の任意パラメータはとりあえず。
チューニングなど設定がまずければ後で変更します。
「RackBaseURI /redmine」はサブディレクトリで実行するための設定です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
LoadModule passenger_module /usr/local/share/ruby/gems/2.0/gems/passenger-5.0.4/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /usr/local/share/ruby/gems/2.0/gems/passenger-5.0.4 PassengerDefaultRuby /usr/bin/ruby2.0 </IfModule> RackBaseURI /redmine RailsEnv development Header always unset "X-Powered-By" Header always unset "X-Rack-Cache" Header always unset "X-Content-Digest" Header always unset "X-Runtime" PassengerMaxPoolSize 20 PassengerMaxInstancesPerApp 4 PassengerPoolIdleTime 3600 PassengerHighPerformance on PassengerStatThrottleRate 10 PassengerSpawnMethod smart RailsAppSpawnerIdleTime 86400 PassengerMaxPreloaderIdleTime 0 |
Apache上のPassengerでRedmineを実行するための設定をする
今回はサブディレクトリで実行するように設定しました。
1 2 3 |
$ sudo chown -R apache:apache /var/lib/redmine $ sudo ln -s /var/lib/redmine/public /var/www/html/redmine |
Apacheを起動して自動起動も設定する
1 2 3 |
$ sudo service httpd start $ sudo chkconfig httpd on |
動作確認
http://<IPアドレス>/redmine で確認
AWSのセキュリティグループでHTTPポートで接続出来るように設定しておく。
管理者のIDとパスワードは初期でadmin/adminなのでログインしてパスワードを変更してインストールは完了です。
最後までお読みいただきましてありがとうございました!
【PR】 「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
【PR】 「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第2版」という本を書きました。
【PR】 「ポケットスタディ AWS認定 デベロッパーアソシエイト」という本を書きました。
【PR】 「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
【PR】 「AWSではじめるLinux入門ガイド」という本を書きました。

開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
AWS Well-Architected フレームワークによるクラウド ベスト プラクティスのセッションを聞いたので自アカウントの環境を確認してみる
AWS Summit Tokyo 2017で「AWS Well-Architec …
-
-
AWS DataLake 構築ハンズオンに行ってきました
AWSJ大阪が増床されて2019年10月限定でAWS pop-up loftとい …
-
-
Microsoft TeamsのIncoming Webhooksを使ってAWS Lambda(Python)からFeedlyの記事を自動投稿する
Microsoft Teamsの検証を始めましたので、Slackで自動化している …
-
-
Redmineの作業時間、予定工数をSQLで抽出
プラグインとかでやればいいのかもなのですが、可視化はダッシュボードツールとかBI …
-
-
API GatewayをトリガーにしたときのLambdaリソースベースポリシー
先日、SwaggerからAPI Gatewayを作ったときに、API Gatew …
-
-
ユーザーガイドの方法でGithubからCodeCommitへリポジトリを移行する
GitリポジトリをAWS CodeCommitに移行するを参照しました。 環境 …
-
-
AWS CloudHSMを起動してみました
なかなか触る機会のないサービス、CloudHSM。 起動してみました。 手順はユ …
-
-
Cloud9のデフォルト設定での権限確認(AWS managed temporary credentials)
Cloud9の環境を作成した際のデフォルトアクセス権限は、環境を作成したIAMユ …
-
-
EC2:RunInstances APIにリクエストしてEC2インスタンスを起動(署名バージョン4、Postman)
AWSのAPIリクエストってHTTPでもよかったですよね?って思って、確認のため …
-
-
CloudWatch Internet Monitor(プレビュー)を試しました
Amazon CloudWatch Internet Monitor プレビュー …