ブログトップ 記事一覧 ログイン 無料ブログ開設

hellkite 日記と雑記とメモ。 このページをアンテナに追加 RSSフィード Twitter

2010-09-26(Sun)

[][]ServersMan@VPSRedmineを動かしてみた

さくらサーバで動かし始めたRedmine。しかし、やたら遅く苦情が殺到*1。泣く泣くfcgi+drbによる高速化を試みるもうまく動きません。

年会費払ってでもホスティング借りようか・・・と思ったところでVPSというサービスが開始されていて、値段も安く専用サーバが用意できる・・・と聞いたので、そっちにRedmineインストールしてみることにしました。


VPSサービスですが自分が借りたのは、ServersMan@VPSというもの。

ServersMan@VPS|仮想専用サーバー|クラウドサービス:ユビキタスプロバイダ DTI

2ヶ月無料期間があるのと、CodeZineRails環境構築の記事があったことが大きいですね。とりあえずEntryプランを選択しました。


結果、Redmineは最新の1.0.1が動いて体感速度はさくらレンタルサーバにおいてcgiで動作させた時の10倍〜20倍。さくらインターネットVPS提供しているので、そっちなら同等以上の速度が出ると思いますが・・・。何にせよ、これなら文句でないレベルだと思います。


しかし、各サイトを参考にしながらRailsを設定したのですが、一筋縄ではやはり行かず・・・。結構苦戦しました。以下に手順とかメモを残しておきます。

特にハマった部分は役に立つと思います*2


開通後にやっておくこと

  1. rootでのssh禁止
  2. ServersManの停止

Railをインストール

以下を参考にやってみる。

格安VPSサーバで実用的なRuby on Railsアプリ運用環境を構築する(1/4):CodeZine

  1. /etc/hosts修正
    • これだけだと、上のサイトにある問題は解決しなかった。ServerNameの変更が必要(後述)
  2. MySQLインストール、設定
  3. php-mysql, php-mbstringをインストール
  4. phpMyAdminの設定
    • うまくいかなかったorz 俺には・・・コマンドラインがある・・・っ!というわけで無視w
  5. gcc, glibc, gcc-c++インストール
  6. readline-devel, opanssl-devel, zlib-develのインストール
  7. Rubyのインストール
  8. RubyGemsインストール
  9. Railsインストール
  10. gemsでmysql,dbi,dbd-mysqlインストール
  11. httpd-develをインストール
  12. gemsでpassengerインストール
  13. passenger-install-apache2-moduleの実行

Redmineインストール

この辺を参考にしながら・・・

CentOS5にRedmineをインストール – Apelog

  1. RedmineDL、1.0.1
  2. config/database.ymlを編集
  3. MySQLでcreate databaseを実行
    • その前に、キャラクタセットの設定をする必要あり(後述)
  4. rakeを実行
  5. /etc/httpd/conf/httpd.confのNameVirtualHostの行のコメントを解除
    • 1番最後のところに書いてありました・・・。
  6. /etc/httpd/conf.d内に設定ファイル作成
    • これはそのままでもOKでしたが、SubURIに配置したかったので変更しました。(後述)

山積みの問題を消化

上記のサイトの通りにやっただけだとうまくいかなかった部分を少し詳しく記録。

まず、passengerインストールしときのメッセージ

Please edit your Apache configuration file, and add these lines:

LoadModule passenger_module /opt/ruby-1.8.7-p302/lib/ruby/gems/1.8/gems/passenger-2.2.15/ext/apache2/mod_passenger.so

PassengerRoot /opt/ruby-1.8.7-p302/lib/ruby/gems/1.8/gems/passenger-2.2.15

PassengerRuby /opt/ruby-1.8.7-p302/bin/ruby

After you restart Apache, you are ready to deploy any number of Ruby on Rails

applications on Apache, without any further Ruby on Rails-specific

configuration!

ちゃんと読んで追記してあげましょう・・・途中にLoadModuleがまとまって書いてあるところがあったので、その部分の1番最後に追記した。


あと、apacheのrestartでエラーが出ていたのが、/etc/hostsを修正しただけでは直らなかった。httpd.confのServerNameを変更する必要がある。

ServerName XXX.XXX.XXX.XX:80

ドメイン持ってないならIPアドレス書けって書いてあったからその通りにしてみた。そしたら、ちゃんと動いた。なんとかなるもんだ。


で、無事にRedmineが動いたけど、データベース文字化けが起こっていることがわかった。

MySQLでstatus;を実行してみたら、キャラクタセットがlaten1になってる。あとはこのサイトを参考に。

ヽ( ・∀・)ノくまくまー(2006-10-11)

マイナスかけるマイナスプラス、は笑ったw コメントにあるとおり、この文章は読みやすくていいなぁ。絶対書けないけど。

というわけで、/etc/my.cnfを変更する。

skip-character-set-client-handshakeは追記しないことにした。

ちなみに、再起動は、

/etc/init.d/mysqld restart

数分くらいかかるっぽい。しかし、サイトにあるように全てのキャラクタセットがutf8に変わらない・・・。とりあえず、Redmine上では無事表示されるようになった。実用上問題なければ、それでいいか・・・。


最後に、将来的に複数のアプリを動かすことを見越して、http://xxx.xxx.xxx.xx/redmine/に場所を変更した。変更するには、リンクの設定と.confファイルの設定が必要。

no title

ln -s /var/local/rails/redmine/public /var/www/html/redmine

/etc/httpd/conf.d/redmine.confを修正

<VirtualHost *:80>
  ServerName xxx.xxx.xxx.xx
  DocumentRoot /var/www/html
  <Directory /var/www/html/>
    AllowOverride all
    Options -MultiViews
  </Directory>
  RailsBaseURI /redmine
</VirtualHost>

これで、変更できた。ほぼ考えていた通りの環境が手に入りました。

それにしても、Apachの設定とか、mod_railsとかの勉強になりました。これでApache環境Railsアプリデプロイするのに必要なことが一通りわかったような気がします。設定する必要性に迫られると効率よく学習ができますね^^;


その他メモ

Apache再起動

/etc/rc.d/init.d/httpd restart

今回設定したRubyシンボリックリンクRubyバージョンアップしたら、これらを変更する。

ln -snf /opt/ruby-1.8.7-p299/bin/ruby /usr/local/bin/ruby
ln -snf /opt/ruby-1.8.7-p299/bin/rake /usr/local/bin/rake
ln -snf /opt/ruby-1.8.7-p299/bin/irb /usr/local/bin/irb
ln -snf /opt/ruby-1.8.7-p302/bin/gem /usr/local/bin/gem


あ、あとでSubversion入れないと・・・orz


追記

ファイルリポジトリの書き込み設定をしました。

Redmineのファイルアップロードを有効化 - hellkite 日記と雑記とメモ。

*1:誇張あり

*2自分がもう一度設定するときなんかに^^;

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証