ヤマムギ

growing hard days.

*

Amazon LinuxにRedmine をインストールする(手順整理版)

      2015/11/15


Amazon LinuxにRedmineをインストールしました手順を記載します。

エラーなどで悪戦苦闘したところは別の記事「エラーと対応をそのまま記載版」でご確認ください。

amazon-linux

2015/11/15 追記

この環境、Railsの実行環境をdevelopmentにして起動した、というだけという事にいまさらながら気が付きました。
後々のプラグインインストールとかも含めてやり直さないとなーと思ってます。
それも含めて、以下をご参照いただければ幸いです。

Amazon Linux インスタンス

passengerのインストールでメモリ2GB必要なので、インスタンスタイプはt2.small以上。

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

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

[bash]
$ sudo yum groupinstall "Development Tools"
$ sudo yum install openssl-devel readline-devel zlib-devel curl-devel libyaml-devel
[/bash]

MySQLをインストールする

[bash]
$ sudo yum install mysql-server mysql-devel
[/bash]

Apacheをインストールする

[bash]
$ sudo yum install httpd httpd-devel
[/bash]

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

[bash]
$ sudo yum install ImageMagick ImageMagick-devel ipa-pgothic-fonts
[/bash]

Rubyはすでに入ってます

[bash]
$ ruby -v
ruby 2.0.0p598 (2014-11-13 revision 48408) [x86_64-linux]
[/bash]

bundlerをインストールする

[bash]
$ sudo gem install bundler –no-rdoc –no-ri
[/bash]

MySQLの設定

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

[bash]
$ sudo vim /etc/my.cnf
[/bash]

[vim]
[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
[/vim]

MySQLの自動起動設定してとりあえず起動しておきます

[bash]
$ 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 ]
[/bash]

MySQL初期設定ツールの実行

[bash]
$ sudo mysql_secure_installation
[/bash]

  • 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ユーザとデータベースの作成

[bash]
$ 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;
[/bash]

Redmine 3.0.0のインストール

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

[bash]
$ 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
[/bash]

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

[bash]
$ cd /var/lib/redmine
$ sudo vim config/database.yml
[/bash]

productionとdevelopmentで分けたほうがいいのかもしれませんが、とりあえずは1つのデータベースで設定しています。

[vim]
production:
adapter: mysql2
database: db_redmine
host: localhost
username: user_redmine
password: ;
encoding: utf8

development:
adapter: mysql2
database: db_redmine
host: localhost
username: user_redmine
password: ;
encoding: utf8
[/vim]

※RDSに接続する場合はhostにRDSのエンドポイントを設定する

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

[bash]
$ sudo vim config/configuration.yml
[/bash]

[vim]
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
[/vim]

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

[bash]
$ 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
[/bash]

Redmineの初期設定

[bash]
$ 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
[/bash]

Passengerのインストール

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

[bash]
$ sudo gem install passenger –no-rdoc –no-ri
$ export ORIG_PATH=”PATH”;
$ sudo -s -E
export PATH=”$ORIG_PATH”;
passenger-install-apache2-module
[/bash]

[Enter]を押していってインストールを実行。

passenger-install

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

Apacheの設定

passenger.confを作成する

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

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

PassengerRoot /usr/local/share/ruby/gems/2.0/gems/passenger-5.0.4
PassengerDefaultRuby /usr/bin/ruby2.0

[/bash]

/etc/httpd/conf.d/passenger.confを作成します。

[bash]
$ sudo vim /etc/httpd/conf.d/passenger.conf
[/bash]

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

[vim]
LoadModule passenger_module /usr/local/share/ruby/gems/2.0/gems/passenger-5.0.4/buildout/apache2/mod_passenger.so

PassengerRoot /usr/local/share/ruby/gems/2.0/gems/passenger-5.0.4
PassengerDefaultRuby /usr/bin/ruby2.0

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
[/vim]

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

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

[bash]
$ sudo chown -R apache:apache /var/lib/redmine
$ sudo ln -s /var/lib/redmine/public /var/www/html/redmine
[/bash]

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

[bash]
$ sudo service httpd start
$ sudo chkconfig httpd on
[/bash]

動作確認

http://<IPアドレス>/redmine で確認

AWSのセキュリティグループでHTTPポートで接続出来るように設定しておく。

管理者のIDとパスワードは初期でadmin/adminなのでログインしてパスワードを変更してインストールは完了です。

Redmine


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

【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。

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

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

ad

ad

  関連記事

AWS CloudWatch LogsエージェントでAmazon EC2上のNginxのaccess.log , error.log , php-fpm error.log , Linuxのmessages , secureログを収集する

参考ページ クイックスタート: 実行中の EC2 インスタンスに CloudWa …

Linux Mint 17 MATE 64bitにAtomをインストールする

Linux MintにATOMをインストールする [bash] $ sudo a …

AWS Lambda(Python)からZoom投票作成

以前、Zoomの投票(アンケート)をAPI経由で作成するというブログで書きました …

EC2 セッションマネージャにEC2インスタンスの一覧から接続できるようになりました

EC2に接続する時に、どうしてもSSHクライアントから接続しないといけない場合を …

NGINXで500と502のエラーが実は頻発していたらしい

先日Mackerelで当ブログの外形監視を始めたのですが、500と502のエラー …

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

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

試そうとしてたらSavings Plans買っちゃいました

Savings Plansの購入画面を確認していました。 画面遷移も確認しようと …

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

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

Amazon Aurora Serverless 課金確認

Amazon Aurora Serverlessを使い始めてみましたの記事で書い …

T2.microからT3.nanoに変更(メモリエラーも対応)

このブログのEC2インスタンスをT2.micro 1インスタンスからT3.nan …