cPanelのSetup Ruby Appを利用し、共用サーバーへRedmineを導入する手順を提示しています。データベース作成からRuby環境設定、コマンドラインによるインストール、ビルドエラーへの対処法を詳述しています。低コストな個人用環境を構築するための具体的な設定手順で構成されています。
共用サーバー特有の挙動として、一定時間未アクセス時のプロセス停止やメモリ使用量の実測値に言及しています。リソース保証の必要性や、定期的なアクセスによる遅延防止策など、安定運用のための注意点も含まれています。レンタルサーバーでの稼働に向けた実用的な情報です。
(Geminiによる要約)
個人用のRedmineがほしくなったのですが、VPSとかで動かすと単純に値段が高いのでレンタルサーバでなんとかできないか模索していたところ、コンパネがcPanelの共用サーバであればなんとか動かせそうなことを知ったのでやってみました。
必須条件
必須条件として使用している(する)予定の共用サーバが以下をすべて満たす必要があります。
- コントロールパネルが「cPanel」であること。
- mixhost、カラフルボックスなど。
- cPanelプラグイン「Setup Ruby App」がcPanel上で利用可能なこと。
- 以下の画像のような項目がcPanel上にあればOK。

推奨条件
- リソース保証があること
- Redmineを一人で使用するにしてもメモリは200MB前後使用しますので、リソース保証があると安心です。
インストールの流れ
- データベース・データベースユーザの作成
- Redmineファイルの設置
- Ruby環境のセットアップ
- Redmineのインストール
順を追って行います。
1.データベース・データベースユーザの作成
cPanel上の「データベースを管理する」もしくはmysqlコマンドでデータベースに接続してRedmine用のデータベースを作成します。ユーザには全権限を付与してください。
2.Redmineファイルの設置
公式サイトよりRedmineを公式ページよりダウンロードしてサーバ上に設置します。
https://www.redmine.org/projects/redmine/wiki/Download
この際、利用しているサーバ利用できるRubyに対応しているバージョンを選択する必要があります。
Ruby 2.7 ~ 3.1の場合 = Redmine 5.1.x を選択
Ruby 2.7 ~ 3.2 以上の場合= Redmine 6.x.x を選択
利用できるRubyのバージョンは「Setup Ruby App」内バージョン選択プルダウンメニューから確認できます。

私の利用しているサーバは3.1でしたので、今回はRedmine 5.1.x 系のバージョンをインストールして、サーバ上の好きなディレクトリに設置します。
(使用予定ドメインのドキュメントルートでなくても問題ありません)
今回は以下にファイルを設置します。
/home/ユーザディレクトリ/redmine
ダウンロードしたファイルは解凍してapp, config, public などのフォルダがインストール予定のディレクトリ直下に設置されるようにしてください。
(今回の場合だとredmine配下に回答したファイルがすべて並ぶ形)
3.Ruby動作環境のセットアップ
ファイルを設置したら「Setup Ruby App」でRuby環境をセットアップします。

Ruby version:使用するRubyのバージョンをプルダウンで選択
App Directory /home/ユーザディレクトリ/ : redmineのファイルを設置したディレクトリを指定
App Domain/URI : インストールしたRedmineにアクセスするドメインを選択
上記に間違いがないことを確認したら「Setup」ボタンを押下します。
インストールが完了すると先程のセットアップ項目の下に以下のようになものが追加されます。

赤枠で囲ったところをターミナルで打ち込むとRubyの仮想環境を起動することが出来ます。
4.Redmineのインストール
SSHもしくはcPanel上の「ターミナル」からサーバに接続します。
接続したら先程の「Command for entering to virtual environment」の項目にあるコマンドを実行してRubyの仮想環境に入ります。
$ source /home/ユーザディレクトリ/rubyvenv/redmine/3.1/bin/activate(redmine:3.1)[ユーザ名@サーバ名 ~]$ ← プロンプトが右記のようになればOK続いて、Rubyを設置したディレクトリに移動します。
(redmine:3.1)[ユーザ名@サーバ名 ~]$ cd ~/redmine
(redmine:3.1)[ユーザ名@サーバ名 redmine]$ pwd
/home/ユーザディレクトリ/redmine移動したら次は設定ファイルを作成します。
config/database.yml.example を config/database.yml にコピーし、先ほど作成したDB情報を追記します。
cp config/database.yml.example config/database.yml
vi config/database.ymlproduction: セクションに、DB名、ユーザー名、パスワードを記入。adapter は mysql2 にします。
次に動作に必要なgemをインストールします。
gem install bundler
bundle config set --local without 'development test'
bundle install※ImageMagickのエラーが出る場合は、bundle install --without development test rmagick として画像処理ライブラリをスキップすることでエラーを回避出来ます。
続いて、Redmineの秘密鍵と言語設定、DBテーブルの作成をします。
bundle exec rake generate_secret_token
RAILS_ENV=production bundle exec rake db:migrate
# デフォルト設定を入れる場合(言語選択で ja を入力)
RAILS_ENV=production bundle exec rake redmine:load_default_dataここでうまく行けば完了です。
SetupRubyAppでRestartを実施すれば起動すると思います。
しかし、ここで自分はnokogiriのエラーが発生したため、プリビルドのものを使わずサーバ上でビルドするようにしたところうまくいきました。
# 1. プリコンパイル済み(ビルド済み)を使わず、この環境でビルドする設定にする
bundle config set force_ruby_platform true
# 2. 再度インストール(これで今のOSに合うようにビルドし直されます)
bundle install続いて今回はdevやstg環境は使用しないため、本番モードで動作するように強制します。
config/boot.rb に以下を追加します。
ENV['RAILS_ENV'] ||= 'production'また、誤ってdev環境が起動しないように以下の行をコメントアウトします
# config.file_watcher = ActiveSupport::EventedFileUpdateChecker続いて、.htaccessに下記のPassangerへの指示を記述します。
(すでに自動的に記述されている場合は追記しなくても問題ないはず)
PassengerAppRoot "/home/ユーザディレクトリ/redmine"
PassengerBaseURI "/"
PassengerRuby "/home/ユーザディレクトリ/rubyvenv/redmine/3.1/bin/ruby" ← Ruby実行環境の指定
PassengerAppType rack
PassengerStartupFile config.ru
SetEnv RAILS_ENV production上記を確認したら再度RestartをcPanel上から実施します。
その後、設定したドメインにアクセスしてredmineのホーム画面が表示されれば成功です。

使ってみた所感
実際に何日か使ってみましたが、かなり軽快に動いていい感じですね。
ただ、サーバの仕様でうまく一定時間アクセスがないとプロセスが停止してしまうので、はじめにアクセスする際は平均で7秒程度かかります。
特に不満はないですが遅いと思う場合はNagiosで外形監視を実施するなり、cronでcurlサイトのurlを定期的に叩くようにしてプロセスを常に起動しておくようにすると良いかもしれません。
また、一人でRedmineをログインして使用した場合は約223MB前後メモリを使用していました。

まとめ
あまり共用サーバでRedmineを動かしているという方がいなかったのですがSetupRubyAppという項目があるから絶対に動くだろうなと思って試してみたら動いたので大成功でした。
近年はサーバやSaaS自体の値上げもかなり厳しいので比較的ランニングコストのかからないレンタルサーバでRedmineが使えるというのはかなり魅力的に思いました。(エラー吐いたりしたらかなり面倒くさいですが..)
それでは~
