13:WEBサーバーをapacheにする

現時点ではdevelopment modeだが、production mode ではapacheを使うつもりだ。ただ作っているアプリのカラムが30以上もあり、WEBの表示を画面全体で見たいので、先にapacheで見れるようにするために gemのpassengerを入れて、apacheで表示出きるようにする。(注:railsアプリの公開は社内だけにし、テレワークの社員はVPNで社内ネットワークに入り、ローカルIPアドレス:3000でアクセス出来るようにするので、暗号化はしていない)まずはGemfile にpassengerを入れる
[fuji@rails8 TourData]$ gedit Gemfile
前略
# gem “image_processing”, “~> 1.2”
gem “spring-commands-rspec”
gem “passenger”     ← これを追記

group :development, :test do
# See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem
gem “debug”, platforms: %i[ mri windows ], require: “debug/prelude”
後略
で、お決まりの
[fuji@rails8 TourData]$ bundle
apacheにpassengerをインストールするがその前にhomeデレクトリーを第三者が実行出来るようにしておく。
[fuji@rails8 TourData]$ chmod o+x/home/fuji
[fuji@rails8 TourData]$ passenger-install-apache2-modules


This installer will guide you through the entire installation process. It
shouldn't take more than 3 minutes in total.

Here's what you can expect from the installation process:

 1. The Apache 2 module will be installed for you.
 2. You'll learn how to configure Apache.
 3. You'll learn how to deploy a Ruby on Rails application.

Don't worry if anything goes wrong. This installer will advise you on how to
solve any problems.

Press Enter to continue, or Ctrl-C to abort. Enterをオス
Which languages are you interested in?

Use <space> to select.
If the menu doesn't display correctly, press '!'

 ‣ ⬢  Ruby     Rubyに三角が付いているのを確認後 Enter
   ⬡  Python
   ⬢  Node.js

色々足りないものが表示されたが記録が無くなっているので、何が不足していたかは思い出せないが、ともかくyum install …….などと言ってくれるのでその通りにインストールし、再度
[fuji@rails8 TourData]$ passenger-install-apache2-modules
で、最後の方で
Almost there!
Please edit your Apache configuration file, and add these lines:

LoadModule passenger_module /home/fuji/.rbenv/versions/3.2.9/lib/ruby/gems/3.2.0/gems/passenger-6.0.27/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
 PassengerRoot /home/fuji/.rbenv/versions/3.2.9/lib/ruby/gems/3.2.0/gems/passenger-6.0.27
 PassengerDefaultRuby /home/fuji/.rbenv/versions/3.2.9/bin/ruby
</IfModule>

After you restart Apache, you are ready to deploy any number of web
applications on Apache, with a minimum amount of configuration!

Press ENTER when you are done editing.

——————————————–
Validating installation…
* Checking whether this Passenger install is in PATH… ✓
* Checking whether there are no other Passenger installations… ✓
* Checking whether Apache is installed… ✓
* Checking whether the Passenger module is correctly configured in Apache… (!)

You did not specify ‘LoadModule passenger_module’ in any of your Apache
configuration files. Please paste the configuration snippet that this
installer printed earlier, into one of your Apache configuration files, such
as /etc/httpd/conf/httpd.conf.

Detected 0 error(s), 1 warning(s).
Press ENTER to continue.

——————————————–
Deploying a web application

To learn how to deploy a web app on Passenger, please follow the deployment
guide:

https://www.phusionpassenger.com/library/deploy/apache/deploy/

Enjoy Phusion Passenger, a product of Phusion® (www.phusion.nl) 🙂
https://www.phusionpassenger.com

Passenger® is a registered trademark of Asynchronous B.V.

Checking whether the Passenger module is correctly configured in Apache… (!) だけがエラーになっている。当たり前だ、インストールしただけなので設定は終わっていない。
まずはpassenger module をロードするがこれは
[root@rails8 ~]# gedit /etc/httpd/conf.modules.d/00-rails.conf
LoadModule passenger_module /home/fuji/.rbenv/versions/3.2.9/lib/ruby/gems/3.2.0/gems/passenger-6.0.27/buildout/apache2/mod_passenger.so
PassengerEnabled on
<IfModule mod_passenger.c>
 PassengerRoot /home/fuji/.rbenv/versions/3.2.9/lib/ruby/gems/3.2.0/gems/passenger-6.0.27
 PassengerDefaultRuby /home/fuji/.rbenv/versions/3.2.9/bin/ruby
</IfModule>
と設定を新規に作った。次はdocument rootなどの設定だが、これは新規に
[root@rails8 ~]# gedit /etc/httpd/conf.d/rails.conf
DocumentRoot “/Rails/TourData/public”

<Directory “/Rails/TourData/public”>
 AllowOverride None
 # Allow open access:
 Require all granted
</Directory>
そしてapacheを再起動
[root@rails8 ~]# systemctl restart httpd
[root@rails8 ~]# systemctl status httpd
で起動を確認
次にpassengerの起動
[fuji@rails8 TourData]$ passenger start –environment development
でpassengerはスタートしたが、その端末に
Started GET “/metrics” for 127.0.0.1 at 2025-08-30 16:49:25 +0900
ActionController::RoutingError (No route matches [GET] “/metrics”):
でもブラウザで http://IP アドレス:3000にアクセスするとapacheでアクセス出来る

フジマル について

1947年生れ、東京電機大学二部電気通信工学科卒、最後はスリランカ航空で営業だったのですが2018年に㈱インパック・ジャパンに再就職。趣味:登山、スキー、車いじり、コンピューター
カテゴリー: Ruby on railsに挑戦(almalinux9) パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください