質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Redmine

Redmineは、プロジェクトのタスク管理、進捗管理、情報共有が可能な、 オープンソースプロジェクト管理ソフトウェアです。

Q&A

1回答

822閲覧

Mac OS XのApacheでRedmineを立てたい

mametaro3

総合スコア13

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Redmine

Redmineは、プロジェクトのタスク管理、進捗管理、情報共有が可能な、 オープンソースプロジェクト管理ソフトウェアです。

0グッド

1クリップ

投稿2019/04/11 10:07

編集2022/01/12 10:55

社内限定で空いているMacにRedmineをインストールして使おうと思っています。
自動的にバックアップとったり、カスタマイズするのにMacのApacheがよいと思い奮闘中です。
しかし、Apacheの知識はおろか、Rubyの知識もなく、今回はとても初歩的な質問になってしまうかと思います。
よろしくお願いいたします。

(BitnamiやDockerなどで試しに構築したりはしましたが、Macで運用することに決めました。)

前提・実現したいこと

MacOSのApacheでRedmineを動かしたいです。
ApahceからPhusion Passengerを起動させられないことがブラウザに表示できない原因のように思います。

質問は2つです。

  • Redmineを動かすためにはsudo apachectl restart以外にも必要なコマンドはありますか?

上記だけだと、ブラウザの表示が下記のようになってしまいます。

text

1Service Unavailable 2The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

同時にテスト用に立てたtest.localも動かなくなってしまいます。
後述のpassenger.confを退避して読み込ませなくするとtest.localは動きますが、redmine.localは動きません。

passenger start --environment production

逆に上記を実行して明示的にpassengerを起動させると、redmine.localでも表示されます。

しかし、Apacheにpassengerの記述があればRailsが動かせると聞いているので、passengerを起動させずにsudo apachectl restartのみ実行すればよいのではと考えています。

===

  • httpd-vhosts.confの設定は正しいでしょうか? 個人的には下記箇所が怪しいと思っています。
DocumentRoot /Users/{ユーザー名}/Sites/redmine/public RailsBaseURI /Users/{ユーザー名}/Sites/redmine

正直RackBaseURIRailsBaseURIの違いがあまりわかっていません。。

発生している問題・エラーメッセージ

ブラウザを開くと下記のように表示されます。

text

1Service Unavailable 2The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

RailsBaseURI /Users/{ユーザー名}/Sites/redmineを削除して明示的にpassengerを起動させると、http://redmine.local/でもアクセスできます。

該当のソースコード

** httpd-vhosts.conf **

text

1<VirtualHost *:80> 2 RailsEnv production 3 PassengerEnabled on 4 5 DocumentRoot /Users/{ユーザー名}/Sites/redmine/public 6 RailsBaseURI /Users/{ユーザー名}/Sites/redmine 7 ServerName redmine.local 8 9 ErrorLog "/Users/{ユーザー名}/Sites/redmine/log/error_log" 10 CustomLog "/Users/{ユーザー名}/Sites/redmine/log/access_log" common 11 12 ProxyPass / http://localhost:3000/ 13 ProxyPassReverse / http://localhost:3000/ 14 15 <Directory /Users/{ユーザー名}/Sites/redmine/public> 16 Require all granted 17 Options FollowSymlinks Includes 18 AllowOverride all 19 </Directory> 20</VirtualHost> 21 22 23<VirtualHost *:80> 24 DocumentRoot /Users/{ユーザー名}/Sites/test 25 ServerName test.local 26 27 <Directory /Users/{ユーザー名}/Sites/test> 28 Require all granted 29 DirectoryIndex index.html 30 Options Includes 31 </Directory> 32</VirtualHost> 33

** passenger.conf **

text

1LoadModule passenger_module /Users/{ユーザー名}/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/passenger-6.0.2/buildout/apache2/mod_passenger.so 2<IfModule mod_passenger.c> 3 PassengerRoot /Users/{ユーザー名}/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/passenger-6.0.2 4 PassengerDefaultRuby /Users/{ユーザー名}/.rbenv/versions/2.6.0/bin/ruby 5</IfModule> 6

試したこと

http://guide.redmine.jp/RedmineInstall/
こちらの10番まで終了しています。

https://qiita.com/haneri/items/7110ce24e74f9566de8b
こちらを参考にVirtualhostの設定がされることも確認しました。
test.localというホスト名でtest/index.htmlといったような単純なファイルを読み込んでくれることも確認済みです。

passenger.confを読み込ませなければ、今もtest.localにアクセスできることが確認できます。

補足情報(FW/ツールのバージョンなど)

  • Server version: Apache/2.4.33 (Unix)
  • Mac OS X(High Sierra)
  • MySQL
  • Redmine(4.0.3.devel)
  • ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-darwin17]
  • Rails 5.2.3
  • Phusion Passenger

apache2のエラーログ

[Thu Apr 11 20:35:47.153485 2019] [proxy:error] [pid 25802] (61)Connection refused: AH00957: HTTP: attempt to connect to 127.0.0.1:3000 (localhost) failed [Thu Apr 11 20:35:47.153527 2019] [proxy_http:error] [pid 25802] [client 127.0.0.1:55156] AH01114: HTTP: failed to make connection to backend: localhost, referer: http://redmine.local/

その他の参考にした記事

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

CHERRY

2019/04/11 13:43 編集

httpd-vhosts.conf の設定が、 passenger 用と proxy する方法が混在しているようですが、何を参考にされましたか?
mametaro3

2019/04/12 06:54

いろいろなwebサイト参考にしすぎていろいろな枝を生やしてしまったようです。。ベースは上記2つですが、2つでは完了(RailsやPassengerが起動)しなかったので、たくさんの実験の末ごちゃまぜになってしましました。
guest

回答1

0

Service Unavailable

Apache から先の接続先のサーバに繋がらない時のエラーですね。


passenger で稼働させるのであれば、 ProxyPassProxyPassReverse の設定は、不要です。

また、RailsBaseURI は、DocumentRoot を Rails の public ディレクトリにして、 http://redmine.local/ で、Railsアプリにアクセスするのであれば、 RailsBaseURI / になります。
( RailsBaseURI を設定しない場合のデフォルトは、 RailsBaseURI / が指定されたはずです。 )

念のため、 /usr/sbin/apachectl configtest を実行して、設定ファイルに間違いがないか確認してから、 apache を起動させてアクセスしてみてください。

投稿2019/04/11 14:05

CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mametaro3

2019/04/12 07:48

上記のように変更しましたが、RailsやPassengerが動いている気配がありません。手動でpassengerを実行したときに動いていたpasseger.3000.logもerror_logもacess_logも動いてません。 重ねて初歩的な質問になりますが、 **settings.yml** ``` host_name: default: localhost:3000 ``` の部分は`localhost:80`もしくは`redmine.local`に変更すべきでしょうか。 また、この変更の反映は`sudo apachectl restart`でよいのでしょうか? "bundle exec ~~~"のようなコマンドが必要でしょうか。 もう一点追加の質問としましては、 ``` sudo /Users/{ユーザー名}/.rbenv/shims/passenger-config validate-install ``` をすると ``` * Checking whether this Passenger install is in PATH... ✓ * Checking whether there are no other Passenger installations... (!) You are currently validating against Phusion Passenger 6.0.2, located in: /Users/{ユーザー名}/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/passenger-6.0.2/bin/passenger Besides this Passenger installation, the following other Passenger installations have also been detected: /Users/{ユーザー名}/.rbenv/shims/passenger Please uninstall these other Passenger installations to avoid confusion or conflicts. ```と返ってきます。 片方を削除したほうがよいのでしょうか? 正しいアンインストール方法がわからずに、残したままでいます。
CHERRY

2019/04/12 08:00 編集

たぶん setting.yml のホスト名は、特に変更しなくても稼働したと思うのですが... ~/.rbenv/shims/passenger は、rbenvのラッパープログラムではないでしょうか?
CHERRY

2019/04/12 08:01

redmine_dir/log の中に development.log や production.log は存在していないでしょうか? これらのファイルの中に なにかメッセージは、出ていないでしょうか?
mametaro3

2019/04/12 09:13 編集

おそらくrbenvのラッパープログラムというものだと思います。 production.logに変更はありません(動いていません)でした。 ブラウザは ``` このページは動作していません redmine.local からデータが送信されませんでした。 ERR_EMPTY_RESPONSE ``` というメッセージに変わりました。 ちなみに、他のディレクトリもバーチャルホストを立てていますが、 ``` LoadModule passenger_module /Users/{ユーザー名}/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/passenger-6.0.2/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /Users/{ユーザー名}/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/passenger-6.0.2 PassengerDefaultRuby /Users/{ユーザー名}/.rbenv/versions/2.6.0/bin/ruby </IfModule> ``` が上記の記述あるだけでも、こちらもブラウザでの表示が上記のように「このページは動作していません」になります。。
CHERRY

2019/04/12 11:43 編集

macOS のサーバー環境では、rbenv 使ってないので、ちょっと確認できないのですが... 可能性のひとつとしては、` /Users/{ユーザー名}/.rbenv/ ` 以下のディレクトリが、apache のユーザーである _www で、アクセスできないため、passenger か ruby の起動でエラーになっている可能性があるのかもしれません。
mametaro3

2019/04/12 11:55

なるほど、、そうかもしれません。 https://teratail.com/questions/105459 上記のような状態な気がしてきました。。 権限付与してだめであれば、インストールし直してみることにします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問