AWSのEC2にALMiniumをインストールしたときのいろいろ
前回の続き。
タイトルとは裏腹に、実際にインストールしたのは素のRedmine。
RedminやらGitを入れるのなら、「ALMinium」と言う便利なパッケージがあると聞き
さっそく手抜きして入れてみることにした・・・のだが、
思いの他ハマり、インストールはできたものの起動ができない問題に直面して結局挫折した。
(Apacheは起動するが、ALMiniumがロードされない)
べつにALMiniumやらrubyに詳しくなるのが目的ではないので、
素直にRedmineやらGitを個別にインストールする方向で軌道修正。
なお、単独でRedmineをインストールするのはかなりスムーズにできた。
情報としては色々と出回ってるけれど、個人的な備忘録として記しておく。
一応、今回の前提としてAWSの無料枠で行いたいと言うものがある。
Redmineの推奨環境(と言うよりはpassengerの推奨環境か?)としては「t2.small」以上とあるが、
それでは無料枠ではなくなってしまうので、あくまで「t2.micro」でがんばる。
参考にしたのは以下のサイト。
Amazon EC2上にRedmineをインストールしてみた
その他のもろもろは以下の通り
name | Version | Install |
---|---|---|
Apache | 2.2.29 | yum |
MySQL | 5.5.42 | yum |
Ruby | 2.0.0p645 | Pre Installed |
Redmine | 3.0.3 | download |
Passenger | 5.0.11 | gem |
EC2のセットアップ
t2.microでインスタンスを作成する。(この時点でElasticIPを割り当てておくと楽。)
起動したらsshを起動し、ec2-userでログイン。
とりあえず、アップデート
$ sudo yum -y update
Apacheのインストール
$ sudo yum -y install httpd
MySQLのインストール
$ sudo yum -y install mysql-server mysql-devel
/etc/my.cnfを編集し、文字コードを設定する。
以下の内容を追記。
[mysqld] character-set-server=utf8 [mysql] default-character-set=utf8
MySQLを起動し、自動起動設定。
$ sudo service mysqld start $ sudo chkconfig mysqld on
Redmine用のデータベースと接続ユーザを作成。
$ mysql -uroot mysql> create database db_redmine default character set utf8; mysql> grant all on db_redmine.* to db_username@localhost identified by 'db_password'; mysql> quit
Rubyのインストール
Amazon LinuxにはデフォルトでRuby2.0がインストールされているので、そのまま利用。
Redmineのインストール
事前に必要なモノをインストール
$ sudo yum -y groupinstall "Development Tools" $ sudo yum -y --enablerepo=epel install ruby-devel ImageMagick ImageMagick-devel ipa-gothic-fonts
bundlerのインストール
$ gem install bundler --no-rdoc --no-ri
Redmineをダウンロードして/var/lib/redmineに展開。
※ バージョンはhttp://www.redmine.org/releases/にアクセスして、一番新しいものを。今回は3.0.3。
$ mkdir tmp $ cd tmp $ curl -O http://www.redmine.org/releases/redmine-3.0.3.tar.gz $ tar xvf redmine-3.0.3.tar.gz $ sudo mv redmine-3.0.3 /var/lib/redmine
/var/lib/redmineに移動し、Redmineのインストールを実行。
$ cd /var/lib/redmine $ bundle install --without development test ・・・ /usr/share/ruby/vendor_ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- io/console (LoadError) ・・・
ここでエラーが発生・・・
io-consoleが無いとの事なので、io-consoleをインストール。
$ gem install io-console
Redmineのインストールをリトライ
$ bundle install --without development test
成功。
データベースを設定するため、/var/lib/redmine/config/database.ymlを編集。
※なければ、database.yml.exampleをコピーして編集。
production: adapter: mysql2 database: db_redmine host: localhost username: db_username password: db_password encoding: utf8
その他、余計な記述はコメントアウト。
SMTPを設定するため、/var/lib/redmine/config/configuration.ymlを編集。
※無ければ、/var/lib/redmine/config/configuration.yml.exampleをコピーして作成。
production: email_delivery: delivery_method: :smtp smtp_settings: address: SMTPサーバ port: 25 authentication: login domain: メールドメイン user_name: メールサーバアカウント password: メールサーバパスワード rmagick_font_path: /usr/share/fonts/ipa-gothic/ipag.ttf
※ちなみにこの設定ファイル、コロン「:」が2つ続いたり、
addressがSMTPサーバのことだったり、いろいろとトラップが多い。
※細かい説明については、以下のサイトを参照。
Redmine.jp – メール通知のためのconfiguration.ymlの設定
セッションのシークレットトークンの作成。
正直、これが何をやってるのかよくわからん。
$ bundle exec rake generate_secret_token ・・・ Could not find gem 'mysql2 (~> 0.3.11) ruby' in any of the gem sources listed in your Gemfile or available on this machine. ・・・
ここでもエラー発生。言われるがままにmysql2をインストールする
$ gem install mysql2
リトライ
$ bundle exec rake generate_secret_token
成功。
データベース初期化
$ bundle exec rake db:migrate RAILS_ENV=production
Passengerのインストール
$ sudo yum -y install curl-devel httpd-devel apr-devel apr-util-devel $ gem install passenger --no-rdoc --no-ri
続けて、apache2モジュールを起動。
$ passenger-install-apache2-module ・・・ Your system does not have a lot of virtual memory Compiling Phusion Passenger works best when you have at least 1024 MB of virtual memory. However your system only has 996 MB of total virtual memory (996 MB RAM, 0 MB swap). It is recommended that you temporarily add more swap space before proceeding. You can do it as follows: sudo dd if=/dev/zero of=/swap bs=1M count=1024 sudo mkswap /swap sudo swapon /swap See also https://wiki.archlinux.org/index.php/Swap for more information about the swap file on Linux. If you cannot activate a swap file (e.g. because you're on OpenVZ, or if you don't have root privileges) then you should install Phusion Passenger through DEB/RPM packages. For more information, please refer to the manual, section "Installation": /home/ec2-user/.gem/ruby/2.0/gems/passenger-5.0.11/doc/Users guide Apache.html https://www.phusionpassenger.com/documentation/Users%20guide%20Apache.html ・・・
だめっぽい。事前チェックでメモリが足りないとの事。
ちなみに、無理やり続けても・・・
It looks like something went wrong
なんか、swap領域確保しろと言われているようなので、指示に従う。
$ sudo dd if=/dev/zero of=/swap bs=1M count=1024 $ sudo mkswap /swap $ sudo swapon /swap
リトライ
$ passenger-install-apache2-module
成功。
途中でApacheの設定書き換えろと言ってくるけど、
Terminalをもうひとつ立ち上げるのが面倒なので後回し。
設定内容はコピっておく。
で、passenger設定。
さきほどコピっておいた内容を/etc/httpd/conf.d/passenger.confにペースト。
バージョンやパスなど毎回微妙に変わるので、きちんと言われた内容をコピーすること。
LoadModule passenger_module /home/ec2-user/.gem/ruby/2.0/gems/passenger-5.0.11/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /home/ec2-user/.gem/ruby/2.0/gems/passenger-5.0.11 PassengerDefaultRuby /usr/bin/ruby2.0 </IfModule>
DocumentRoot設定。
いずれ、ディレクトリで公開したいけど、いったんRedmineをDocumentRootで設定。
/etc/httpd/conf/httpd.confを編集する。
DocumentRoot "/var/lib/redmine/public"
Apacheを起動し、自動起動設定。
$ sudo service httpd start $ sudo chkconfig httpd on
ブラウザでアクセス。問題なければRedmineの画面が表示されるはず。
表示されなければ、Apacheのログ(/etc/httpd/logs/error_logとか)を確認。
※私の場合、SMTPの設定がまずかったらしくうまく起動しなかった。
初期設定
デフォルトのID(admin/admin)でログインし、初期設定を行う。
参考:Redmine.jp – Redmineを使い始めるための初期設定
とりあえず、「adminユーザのパスワードの変更」と
「日本語での利用に適した設定」だけは最初にやっておく。
メール設定確認
「管理」>「設定」画面で「メール通知」タブを開き、
画面左下の「テストメールを送信」というリンクをクリック。
リンクをクリックしたユーザー宛にテストメールの送信される。
今回はいったんここまで。
Gitやらプラグインやらディレクトリの設定やらはまた次回以降で。
この投稿へのトラックバック
-
-
[…] 前回の続き。 […]
-
- トラックバック URL
この投稿へのコメント