FreeBSD 9.1のApache2.4にRedmineインストール[追記あり]
まぁ、個人でRedmineを使うまでの事も無いのですが、高度なToDoリスト、進捗管理、行動記録として、優秀なソフトなので、導入する事にしました。ですが、初インストールなので、多いに悩みました。そして、何とか、インストールする事ができました。
やった事は、FreeBSD 9.1にRedmineをインストールしただけです。Redmineの表示には、Apache 2.4を使っています。RedmineのデータベースにはMySQLを使い、その設定のために、phpMyAdminをインストールしています。
これだけなのですが、やり方を書いておかないと、次にインストールする時に、自分が困るので、まとめておきます。他の方の参考になれば幸いです。結構、長いです。
- Apache 2.4のインストール
- fcgid_moduleのインストール
- rubygem-mysql2のインストール
- MySQLのインストール
- PHP5.5のインストール
- phpMyAdminのインストール
- Redmineのインストール
- Redmine用データベース作成
- Redmineの設定
- configディレクトリ
- publicディレクトリ
- Gemfile.localの設定 (追記 2015-02-08 20:32)
- 初期データの作成
- Apache 2.4のRedmine設定
- 起動
他のソフトも、別にインストールしているので、過不足があるかもしれません。また、設定が複数箇所に分かれていますが、説明の都合上、ご容赦ください。
[amazonjs asin="488337968X" locale="JP"]1. Apache 2.4のインストール
特に、オプションの変更は無かったと思います。
# cd /usr/ports/www/apache24 # make install clean
ここに書いてある以外に、色々設定してあるのですが、説明しきれません。
2. fcgid_moduleのインストール
Redmineは、dispatch.fcgiと言うCGIスクリプトですべて処理している様です。その為、mod_fcgid.soを使える様にします。
# cd /usr/ports/www/mod_fcgid # make install clean
自動で追加してくれても良さそうな物ですが、そうならなかったので、httpd.confに追加しました。
# vi /usr/local/etc/apache24/httpd.conf
追加するのは、次の1行です。
LoadModule fcgid_module libexec/apache24/mod_fcgid.so
3. rubygem-mysql2のインストール
Redmineの設定を始めて、言語を日本語に切り替えたら、/usr/local/www/redmine/log/production.logに、次のエラーが出る様になりました。
ActionView::Template::Error (incompatible character encodings: UTF-8 and ASCII-8BIT):
Googleで検索したら、解決方法が見つかりました。
MySQLとのadapterを、mysql2にすれば良いみたいです。探したら見つかったので、インストールしました。
# cd /usr/ports/databases/rubygem-mysql2 # make install clean # gem list | grep mysql mysql (2.9.1) mysql2 (0.3.13)
ちなみに、Redmineのログは、/usr/local/www/redmine/logに残ります。
ありがとうございます。
4. MySQLのインストール
WordPressでもMySQLを使うので、インストールします。
# cd /usr/ports/databases/mysql56-server # make install clean
5. PHP5.5のインストール
最新バージョンのPHPが使いたくて、PHP5.5にしました。実は、このために、結構大変な思いをしています。一度、古いバージョンのPHPが入ってしまったので、それをアンインストールして、PHP5.5を新規インストールしました。
# cd /usr/ports/lang/php55 # make config-recuresive # make install clean # cd /usr/ports/lang/php55-extentions # make config-recuresive # make install clean
php55-extentionsの時に、沢山オプションを指定しておかないと、WordPressがまともに動かなかったりするので、注意が必要です。少なくても、GD, MYSQL, MYSQLIとZLIBは必須でしょう。
一応、スナップショットを付けておきますが、これで正しいかどうかはわかりません。
6. phpMyAdminのインストール
私は、ヘタレなので、GUIから操作したかったです。
# cd /usr/ports/databases/phpmyadmin # make config-recursive # make install clean
オプション設定は、次の様にしました。
専用ファイル(/usr/local/etc/apache24/Includes/phpMyAdmin.conf)を作って、追加しました。
# vi /usr/local/etc/apache24/Includes/phpMyAdmin.conf
設定内容は次の通りです。
Alias /mysql "/usr/local/www/phpMyAdmin/"
# default charset UTF-8
AddDefaultCharset utf-8
# .htaccess setting
AllowOverride All
# SSI OK
# SymbolicLink OK
Options +Includes +FollowSymLinks
# aapche 2.4 change config
Order Deny,Allow
Allow from all
Require all granted
Aliasで設定していますが、シンボリックリンクを作っても大丈夫だと思います。お使いの環境に合わせて変更して下さい。
上記の設定だと、http://www.local.example.com/mysql/にアクセスすると、phpMyAdminが起動します。
7. Redmineのインストール
肝心要のソフトです。
# cd /usr/ports/www/redmine # make config-recursive # make install clean
これのオプション設定が重要で、PASSENGERを有効にします。こうする事で、ApacheをRedmineのhttpdにできます。(なんだか、変な表現ですね)
8. Redmine用データベース作成
redmine用のユーザで、redmine用のデータベースを作ります。先ほどインストールした、phpMyAdminを使います。
- ユーザ名: redmine
- データベース名: redmine_db
まずは、ユーザの作成からです。
「グローバル特権」は、「すべてチェックする」をクリックしておきます。
次に、データベースを作ります。
ユーザを作る時に、「ワイルドカード(ユーザ名_%)に該当するデータベースにすべての特権を与える」を選んでいるので、"redmine_db"とすれば、自動的に特権が付きます。
本当は、rootのパスワードの設定等も必要です。次の記事が参考になると思います。
- OS X LionにWordPressをインストール(2/5): プラスα空間 (2012年3月7日)
- OS X LionにWordPressをインストール(4/5): プラスα空間 (2012年3月14日)
9. Redmineの設定
9.1 configディレクトリの設定
/usr/local/www/redmine/config/database.ymlを作ります。database.yml.exampleがあるのですが、書く量が少ないので、スクラッチで書いても構いません。
production:
adapter: mysql2
database: redmine_db
host: localhost
username: redmine
password: "********"
encoding: utf8
この辺りの設定は、次のページを参考にさせていただきました。ありがとうございます。
また、メールの設定もします。/usr/local/www/redmine/config/configuration.yml.exampleを/usr/local/www/redmine/config/configuration.ymlとしてコピーします。
設定例は、こんな感じだと思います。
# default configuration options for all environments
default:
# Outgoing emails configuration (see examples above)
email_delivery:
delivery_method: :smtp
smtp_settings:
address: smtp.example.com
port: 25
domain: example.com
authentication: :login
user_name: "redmine@example.com"
password: "********"
他にも、設定用のサンプル(テンプレート)があるので、各自の環境に合わせて利用すれば良いと思います。
また、昔は、"email.yml"をメール設定に使っていた様ですが、"configuration.yml"に統合された様です。
9.2 publicディレクトリの設定
/usr/local/www/redmine/public/dispatch.fcgi.exampleを/usr/local/www/redmine/public/dispatch.fcgiにリネームまたは、コピーします。
# cd /usr/local/www/redmine/public # mv dispatch.fcgi.example dispatch.fcgi
/usr/local/www/redmine/public/htaccess.fcgi.exampleを/usr/local/www/redmine/public/.htaccessにリネームまたは、コピーします。そして、一部修正します。
# cd /usr/local/www/redmine/public # mv htaccess.fcgi.example .htaccess # vi .htaccess
修正する部分は、次の所です。
#RewriteRule ^$ index.html [QSA]
#RewriteRule ^([^.]+)$ $1.html [QSA]
#RewriteCond %{REQUEST_FILENAME} !-f
この3行をコメントアウトするだけです。この辺りの設定は、次のページを参考にさせていただきました。ありがとうございます。
9.3 Gemfile.localの設定 (追記 2015-02-08 20:32)
FcgidあるいはFastCGIdを使う時に読み込んでおくgemがあります。最初は、/usr/local/www/redmine/Gemfileに書き足していたのですが、/usr/local/www/redmine/Gemfile.localも読み込んでくれる事がわかりましたので、そちらに書く事にしました。次の1行を追加しておけば大丈夫です。
gem "fcgi"
次のウェブページを参考にしました。ありがとうございます。
10. 初期データの作成
何だかよくわからないのですが次の様にして設定しました。
# cd /usr/local/www/redmine # bundle install # rake generate_secret_token # rake db:migrate RAILS_ENV=production # rake redmine:load_default_data RAILS_ENV=production Select language: ar, az, bg, bs, ca, cs, da, de, el, en, en-GB, es, et, eu, fa, fi, fr, gl, he, hr, hu, id, it, ja, ko, lt, lv, mk, mn, nl, no, pl, pt, pt-BR, ro, ru, sk, sl, sq, sr, sr-YU, sv, th, tr, uk, vi, zh, zh-TW [en] ja ==================================== Default configuration data loaded.
最後に、言語を聞かれるので、"ja"(ダブルクオート無し)と答えます。これに付いても、次のページを参考にさせていただいております。ありがとうございます。
11. Apache 2.4のRedmine設定
Redmine用に、専用ファイルを作りました。
# vi /usr/local/etc/apache24/Includes/redmine.conf
中身は次の様になっています。
LoadModule passenger_module /usr/local/lib/ruby/gems/1.9/gems/passenger/buildout/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.9/gems/passenger
PassengerDefaultRuby /usr/local/bin/ruby19
DefaultInitEnv RAILS_ENV production
私の場合、RedmineはVirtual hostとして動作させる事にしました。
# vi extra/httpd-vhosts.conf
内容は、次の通りです。
ServerAdmin webmaster@example.com
ErrorLog "/var/log/redmine.local.example.com-error_log"
CustomLog "/var/log/redmine.local.example.com-access_log" common
DocumentRoot /usr/local/www/redmine/public
ServerName redmine.local.example.com
# default charset UTF-8
AddDefaultCharset utf-8
# .htaccess setting
AllowOverride All
# SSI OK
# SymbolicLink OK
Options +Includes +FollowSymLinks +ExecCGI
# MultiViews must be turned off.
Options -MultiViews
# aapche 2.4 change config
Require all granted
それと、/usr/local/etc/apache24/httpd.confの修正が必要です。
LoadModule rewrite_module libexec/apache24/mod_rewrite.so
LoadModule php5_module libexec/apache24/libphp5.so
rewrite_moduleのコメントアウトを外して下さい。それと、php5_moduleをロードする様になっていなかったら、追加して下さい。この辺りの設定も、次のページを参考にさせていただきました。ありがとうございます。
12. 起動
Apacheを再起動します。
# /usr/local/etc/rc.d/apache24 restart
そして、http://redmine.local.example.com/にアクセスします。
無事、起動画面が現れました。この後に、設定、そして運用が待っています。
Redmine(日本)公式ページの説明が、正確でわかり易いのではないでしょうか?
まじ、疲れました。記事の文字数も、7,000文字を超えました。分割しても良いくらいです。
(追記 2013-08-21 00:02)
Apache 2.4の設定ファイルに余分な記述があったので、削除しました。
(追記 2013-09-15 17:26)
次の事件が起きた時に、MySQLの全データベースを削除しました。
- phpMyAdminに赤い帯: プラスα空間 (2013年9月11日)
その影響で、Redmineが立ち上がらなくなりました(当たり前)。MySQLデータベースを作り直しても、復旧しません。仕方なく、rubygem-mysql2の再インストールからやり直したら、復旧できました。この記事の様に、やった事を記録に残しておくって、大事ですね。
(追記 2014-05-31 20:54)
enerate_session_storeを実行すると、次のメッセージが出るので、本文をgenerate_secret_tokenに変更しました。
# rake generate_session_store Note: The rake task generate_session_store has been deprecated, please use the replacement version generate_secret_token
参考にしたWebは、次の所だったと思います。ありがとうございます。
(追記 2015-02-08 22:46)
FastCGIに変更しました。
ディスカッション
apacheが24からconf形式が変わったので参考になりました!あざっす!
yousanさんへ、初コメントありがとうございます。
お役に立てたようで、良かったです。apache2.4の設定方法は色々探して、やっと見つけました。