Redmineのチケットにファイルを添付できない[追記あり]
一人Redmineをやっています。
- Redmineの使い道: プラスα空間 (2013年12月13日)
- 一人Redmine: プラスα空間 (2013年12月16日)
チケットを編集していて、ファイルを添付できない事がわかりました。ファイルをアップロードすると、Internal Server Error (500)が出ます。
いろいろ調べた結果、次のページが一番詳しい事がわかりました。
そして、わかった方法が次の4つの方法です。
- /usr/local/www/redmine以下ののオーナとグループをwww:wwwにする
- /usr/local/www/redmineのconfig.ruのオーナをwww、files以下をwwwにする
- /usr/local/www/redmineのfiles以下をwww、/usr/local/etc/apache24/Includes/redmine.confにpassengerの設定を追加する
- /usr/local/www/redmineのfiles以下をnobodyにする
どの方法をとっても、ファイルのアップロードは可能になりますが、1番目が、一番簡だと思います。
なお、FreeBSD9.1でRedmine2.3.3を使っています。Passengerモジュールを使って、Apache経由でRailsと接続しています。また、gemの環境は、次の通りです。
# gem env RubyGems Environment: - RUBYGEMS VERSION: 1.8.25 - RUBY VERSION: 1.9.3 (2013-06-27 patchlevel 448) [amd64-freebsd9] - INSTALLATION DIRECTORY: /usr/local/lib/ruby/gems/1.9 - RUBY EXECUTABLE: /usr/local/bin/ruby19 - EXECUTABLE DIRECTORY: /usr/local/bin - RUBYGEMS PLATFORMS: - ruby - amd64-freebsd-9 - GEM PATHS: - /usr/local/lib/ruby/gems/1.9 - /root/.gem/ruby/1.9 - GEM CONFIGURATION: - :update_sources => true - :verbose => true - :benchmark => false - :backtrace => false - :bulk_threshold => 1000 - REMOTE SOURCES: - http://rubygems.org/
また、Redmineの環境情報は、次の通りです。
Environment: Redmine version 2.3.3.stable Ruby version 1.9.3-p448 (2013-06-27) [amd64-freebsd9] Rails version 3.2.15 Environment production Database adapter Mysql2[amazonjs asin="488337968X" locale="JP"]
1. /usr/local/www/redmine以下ののオーナとグループをwww:wwwにする
一番簡単です。ただし、サービスの再起動が必要になります。
# cd /usr/local/www # chown -R www:www redmine # /usr/local/etc/rc.d/apache24 restart
2. /usr/local/www/redmineのconfig.ruのオーナをwww、files以下をwwwにする
変更箇所が最低限の方法です。サービスの再起動が必要になります。config.ruのオーナで、passengerが起動するようです。
# cd /usr/local/www/redmine # chown www config.ru # chown -R www files # /usr/local/etc/rc.d/apache24 restart
3. /usr/local/www/redmineのfiles以下をwww、/usr/local/etc/apache24/Includes/redmine.confにpassengerの設定を追加する
RailsでPassengerを使う物すべてに共通するので、設定しておいた方が良いのかもしれません。Apacheの設定が必要になります。また、サービスの再起動が必要です。
# cd /usr/local/www/redmine # chown -R www files # vi /usr/local/etc/apache24/Includes/redmine.conf # /usr/local/etc/rc.d/apache24 restart
/usr/local/etc/apache24/Includes/redmine.confの設定は、次の通りです。"PassengerUserSwitching off"以降を追加します。
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
PassengerUserSwitching off
PassengerUser www
PassengerGroup www
PassengerDefaultUser www
PassengerDefaultGroup www
次のページを参考にしました。Thank you!
4. /usr/local/www/redmineのfiles以下をnobodyにする
ほとんど、対処療法的です。設定変更の必要がありません。また、サービスを止める必要もありません。ただし、セキュリティ的に不安です。
# cd /usr/local/www/redmine # chown -R nobody files
結論 (追記 2016-09-18 17:09)
安全な方法は、どれもサービスの再起動が必要になるので、1番の方法が簡単で確実だと思います。
# cd /usr/local/www # chown -R www:www redmine # apachectl restart
3番の方法は、うまういかなくなっていました。
ディスカッション
コメント一覧
まだ、コメントがありません