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

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

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

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

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Ruby on Rails

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

Q&A

解決済

1回答

299閲覧

PassengerでPermission Deniedが出る

michikusa-mc

総合スコア26

Apache

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

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Ruby on Rails

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

0グッド

0クリップ

投稿2024/03/03 06:53

編集2024/03/10 23:11

実現したいこと

Apache2とPhusion Passengerを使ってRails アプリケーションを動かす

前提

Apache2でRailsアプリケーションを動かそうとしています。
しかし、Permission Deniedという問題が出て、ページにこのようなものが
表示されました。
イメージ説明

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

/var/log/apache2/error.log

App 8454 output: Error: Unable to execute command '/opt/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/passenger-6.0.20/buildout/support-binaries/PassengerAgent spawn-env-setupper /tmp/passenger.spawn.XXXX8feDM9 --after': Permission denied (errno=13)

該当のソースコード

/etc/apache2/sites-available/websetting.conf

conf

1 ServerName 192.168.2.118 2 <IfModule mod_passenger.c> 3 PassengerRoot /opt/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/passenger-6.0.20 4 PassengerDefaultRuby /opt/.rbenv/versions/3.1.3/bin/ruby 5 PassengerRuby /opt/.rbenv/versions/3.1.3/bin/ruby 6 PassengerUser www-data 7 PassengerGroup www-data 8 </IfModule> 9 <Directory /var/www/source> 10 Options Indexes FollowSymLinks 11 AllowOverride All 12 Require all granted 13 </Directory> 14<VirtualHost *:80> 15 DocumentRoot /var/www/source/public 16 RailsEnv production 17</VirtualHost>

試したこと

  • googleやteratailなどで検索した -> 事例が見つからない
  • ChatGPTに相談 -> うーん...。
  • アクセス権変更

問題のファイルに実行権限を与えたのですが、ダメでした。

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

ちなみに、問題となっているコマンドを試してみましたところ、

bash

1michiya@chisanrelease:/$ sudo -u www-data /opt/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/passenger-6.0.20/buildout/support-binaries/PassengerAgent spawn-env-setupper /tmp/passenger.spawn.XXXXpzWLU6 --after 2sudo: /opt/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/passenger-6.0.20/buildout/support-binaries/PassengerAgent: command not found

やはり実行権限か何かのせいだと考えます。

OS: Ubuntu 22.04 LTS Server
追記してほしいファイルがあれば、提供いたします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

問題のファイルに実行権限を与えたのですが、ダメでした。

途中の全てのディレクトリーにもwww-dataからの実行権限が必要です。
ディレクトリーの実行権限がないと、ディレクトリーの中が見えないので、ファイルの有無すら分かりません。

コメントに対してのコメント

sh

1$ sudo -u www-data ls -l /opt/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/passenger-6.0.20/buildout/support-binaries/PassengerAgent 2-rwx--x-wx 1 www-data www-data 42794144 Mar 1 05:08 /opt/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/passenger-6.0.20/buildout/support-binaries/PassengerAgent

sh

1$ sudo -u www-data /opt/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/passenger-6.0.20/buildout/support-binaries/PassengerAgent spawn-env-setupper /tmp/passenger.spawn.XXXXpzWLU6 --after 2sudo: /opt/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/passenger-6.0.20/buildout/support-binaries/PassengerAgent: command not found

という結果は両立しないのですが、異なる環境という事は無いですか?同じ端末から実行していますか?
もしそうなら、念のため、sudo -u www-data file /opt/(中略)/PassengerAgentの結果はどうですか?

ちなみに、/tmp/passenger-error-TS4CXK.html は、存在しないそうです...。

そのメッセージが表示された直後に見ていますか?

投稿2024/03/03 18:21

編集2024/03/09 12:00
otn

総合スコア84571

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

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

michikusa-mc

2024/03/07 01:58

ありがとうございます。私のチェックミスでした。途中のディレクトリにアクセス権を与えてみましたが、別のエラーが発生してしまいました。 App 4407 output: /opt/.rbenv/versions/3.1.3/bin/ruby: error while loading shared libraries: libruby.so.3.1: cannot open shared object file: No such file or directory これをどう解決すればよいのかが分かりません。(libruby.so.3.1のパスを書いた場所がわからない)
otn

2024/03/07 06:56

「そのファイルは確かに存在はしているが、その場所が自動的に認識されない。認識されるのはどうしたらいいか」ということですかね。 ファイルがあるディレクトリを環境変数 LD_LIBRARY_PATH に指定します。 もともと環境変数が存在すれば、LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/there 存在しない場合は、export LD_LIBRARY_PATH=/path/to/there
michikusa-mc

2024/03/08 02:20

回答ありがとうございます。申し訳ありませんが、試してみましたが解決できませんでした。 環境変数にLD_LIBRARY_PATHを記載しました。また、RubyのPATHが間違っていたので修正しました。 しかしエラーは変わらずです。また、なぜかpassenger-install-apache2-moduleを実行しても `RubyGems' were not loaded. `error_highlight' was not loaded. `did_you_mean' was not loaded. /home/michiya/.rbenv/versions/3.1.3/bin/passenger-install-apache2-module:9:in `require': cannot load such file -- rubygems (LoadError) from /home/michiya/.rbenv/versions/3.1.3/bin/passenger-install-apache2-module:9:in `<main>' と出力され、実行できない状態となっています。 この場合どの辺りに原因がありそうでしょうか?(~/.bashrcを本文に記載しておきます。) 何度も申し訳ございません。
otn

2024/03/08 15:21

質問したことには回答して欲しいです。 > 「そのファイルは確かに存在はしているが、その場所が自動的に認識されない。認識されるのはどうしたらいいか」ということですかね。 と前提を確認しているのですが、それに対する回答はどうなのでしょうか?
michikusa-mc

2024/03/09 05:25 編集

すみません、その通りです。 そのファイルは確かに存在しているが、その場所が自動的に認識されない、ということで正しいです。
otn

2024/03/09 09:23

> ちなみに、問題となっているコマンドを試してみましたところ、 > command not found > やはり実行権限か何かのせいだと考えます。 sudo ls -l /opt/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/passenger-6.0.20/buildout/support-binaries/PassengerAgent と、 sudo -u www-data ls -l /opt/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/passenger-6.0.20/buildout/support-binaries/PassengerAgent の結果を書いて下さい。 > details saved to: /tmp/passenger-error-TS4CXK.html だそうです。
michikusa-mc

2024/03/09 11:39

ありがとうございます。実行結果を本文に追記しました。ご確認お願い致します。
otn

2024/03/09 11:55

コードがあるので、回答に追記します。
michikusa-mc

2024/03/09 12:13

1. 異なる環境では実行しておりません。 2. また、sudo -u www-data file /opt/中略/PassengerAgentの実行結果ですが、  前は「file」の指定を忘れていたためか、エラーになっていました。改めて、追記いたします。 3. /tmp/passenger-error-*.htmlに関して、直後に見たのですが、ありませんでした。  
otn

2024/03/09 13:00

> 異なる環境では実行しておりません。 同じ端末で引き続き実行という事ですよね。そうすると、 sudo -u www-data /opt/(中略)/PassengerAgent が command not found にはなり得ないので、どこかに勘違いがあると思うのですが、こちらでは何処を勘違いされているのか分かりません。
michikusa-mc

2024/03/09 14:21

すみません、 誤: $ sudo -u www-data /opt/中略/PassengerAgent 正: $ sudo -u www-data file /opt/中略/PassengerAgent 「file」オプション?の有無の違いのせいで、command not foundになったのかもしれません。 正しい実行結果を追記しております。(2024/03/09 20:34)
otn

2024/03/09 14:36

fileというコマンドを打ったのは、私がコメントしてからではないのですか? 上で、 > sudo -u www-data /opt/(中略)/PassengerAgent > が > command not found > にはなり得ないので、 というのは、質問文の > ちなみに、問題となっているコマンドを試してみましたところ、 の部分の話です。 意味が通じてなかったようなので、再度確認しますが、同じ端末から下記のコマンドを連続して実行しても質問文記載の通り下記の結果になりますか? (1) sudo -u www-data ls -l /opt/~~/PassengerAgent ⇒ -rwx--x-wx 1 www-data www-data 42794144 ~~~ (2) sudo -u www-data /opt/~~/PassengerAgent ~~ (「ちなみに、問題となっているコマンドを試してみましたところ」のコマンド) ⇒ command not found
michikusa-mc

2024/03/10 00:27

(1) その通りになりました。 (2) command not found になぜかなりませんでした。起動したようです。 Usage: PassengerAgent <SUBCOMMAND> [options...] Phusion Passenger(R) version 6.0.20. Type '/opt/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/passenger-6.0.20/buildout/support-binaries/PassengerAgent <SUBCOMMAND> --help' for help on a specific subcommand. Daemon subcommands: core watchdog Utility subcommands: system-metrics exec-helper file-read-helper
otn

2024/03/10 15:30

質問文に間違いがあると回答不可能だし、検討が無駄な時間になるので、 まず、「質問文に間違いが無いことに命賭けてもいい」という状態にして下さい。 作業の記録や記録の管理が不十分だと、「これをした結果がこれ」という説明が間違ってしまう事になります。 結果をコピペで残しても、どの時点で何をした時の結果のコピペであるのかが分からなくなっているとか。
michikusa-mc

2024/03/10 23:23

自分勝手ととらえられるかもしれませんが、いま質問している内容が質問当初の内容から大きく脱線してしまっているので、スレッドを変えた方が良い、と判断させていただきました。そうした方が現状に対して正確な情報を記述することができます。 当初のエラー「Permission Denied」は解決されているはずなので、ベストアンサーに選ばせていただきます。ここまでありがとうございました。もしまだ未熟な自分に対してお助け下さるのであれば、よろしくお願いいたします。
otn

2024/03/11 03:00

はい。この質問を書き直すとかなり変わってしまうし、追記にすると、本題に入る前が長すぎるので、 私も新規質問が良いと思います。 また、ファイルの存在は実行権限、読み取り権限の有無で、それぞれどんなエラーメッセージが出るかは、そういうファイルを作って確認してみると、今はどのケースなのか分かるかと思います。コマンドによっても異なります。 $ ls -l foo -rw-rw-r-- ~~~ foo $ ./foo bash: ./foo: Permission denied ・・・・ これはそのまま $ sudo ./foo sudo: ./foo: command not found ・・・・ ファイルはあるが not found
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問