もろもろRails開発環境構築(VirtualBoxから、MySQL、Passengerまで)

  • 12
    Like
  • 0
    Comment

初めてmacでrailsの環境構築にチャレンジした際に参考にしたサイトなどを全て1つに備忘録としてまとめました。なるべく丁寧に書いたつもりです。
間違いなどありましたらご指摘お願いします。

概要

  1. MacでVagrantを利用して、VirtualBox+CentOS7の開発環境を構築
  2. git, ruby, railsをインストール
  3. MySQLをインストール
  4. DBをMySQLに変更しつつ、Railsのサンプルアプリ作成
  5. ApacheとPassengerをインストール

環境

  • MacOSX 10.12.3
  • VirtualBox 5.1.14
  • Vagrant 1.9.1
  • CentOS 7.3
  • Git 1.8.3.1
  • Ruby 2.4.0
  • Rails 5.0.1
  • MySQL 5.7.17
  • Apache 2.4.6
  • Passenger 5.1.2

Homebrewが入っていることが前提です。いれていない人はこのサイトを参考にしてインストールして下さい。

1.VagrantでVirtualBox+CentOS7の開発環境構築

ほぼこのサイトを引用しています。お世話になりました。

1.1 Virtual Boxをインストール

https://www.virtualbox.org

virtualbox -vとかでversion確認出来るかと思ったら出来なさそう。updateを確認する方法はこちら

1.2 Vagrantをインストール

https://www.vagrantup.com

インストールを確認

$ vagrant -v
Vagrant 1.9.1

備考

便利なプラグインがあるそうです。まだ私には何がどう便利なのか分かりませんがご参考までに。


1.3 CentOSをいれる

ここからCentOSのboxを探す。今の最新版はbento/centos-7.3なのでこれをいれてみます。bentoとは chef社が公開しているvagrant用のOSイメージ(box) だそうです(by this)

Vagrantにboxをいれます。virtualboxを使うので2と打って下さい。

$  vagrant box add bento/centos-7.3
==> box: Loading metadata for box 'bento/centos-7.3'
    box: URL: https://atlas.hashicorp.com/bento/centos-7.3
This box can work with multiple providers! The providers that it
can work with are listed below. Please review the list and choose
the provider you will be working with.

1) parallels
2) virtualbox
3) vmware_desktop

Enter your choice: 2
==> box: Adding box 'bento/centos-7.3' (v2.3.2) for provider: virtualbox
    box: Downloading: https://atlas.hashicorp.com/bento/boxes/centos-7.3/versions/2.3.2/providers/virtualbox.box
==> box: Successfully added box 'bento/centos-7.3' (v2.3.2) for 'virtualbox'!

boxを追加できたかどうか確認

$ vagrant box list
bento/centos-7.3 (virtualbox, 2.3.2)

作業ディレクトリを任意の場所に作成し、移動する。

$ mkdir -p ~/vagrant/centos7.3
$ cd vagrant/centos7.3

初期化コマンドを実行する。

$ vagrant init bento/centos-7.3
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

Vagrantfileというのが出来たみたいです。

VM(Virtual Machine)を起動する。$ vagrant up (これ時間かかります。メッセージも長いので貼りません。)

VMが動いているか確認する。(runningしてればok)$ vagrant status

$ vagrant status
Current machine states:

default                   running (virtualbox)

The VM is running. To stop this VM, you can run `vagrant halt` to
shut it down forcefully, or you can run `vagrant suspend` to simply
suspend the virtual machine. In either case, to restart it again,
simply run `vagrant up`.

sshで接続する。$ vagrant ssh

$ vagrant ssh
Last login: Mon Jan 30 22:26:54 2017 from 10.0.2.2
[vagrant@localhost ~]$

VMから抜ける。 $ exit

[vagrant@localhost ~]$ exit
logout
Connection to 127.0.0.1 closed.

VMを終了する。 $ vagrant halt

$ vagrant halt
==> default: Attempting graceful shutdown of VM...

備考

vagrantのコマンドはこちらを参照して下さい。$vagrant reloadは後々使います。$vagrant -hこれでも見れます。
vagrantの共有フォルダの設定は 4.2 MySQLで作用業ユーザーを作成 の後にやります。


1.4 システムを最新の状態に!

これ多分マストではないです。分からないです。知らないです。ごめんなさい。
とりあえず、$su -でrootユーザーに移動します。パスワードはvagrantです。
そこでyum -y updateを実行する。時間かかるので、この間にトイレ行ったりして来てください。終わってから再度yum -y updateすると、

root@localhost ~]# yum -y update
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.freepark.org
 * extras: ftp.freepark.org
 * updates: ftp.freepark.org
No packages marked for update

ってな感じになります。

2. ['git', 'ruby', 'rails'].each{|var| var.install}

タイトルふざけてみました。要は、git,ruby,railsをインストールしていきます。ここではこのサイトこのサイトを参考にしています。ありがとうございました。

2.1 gitをインストール

1.4の続きで、rootユーザーであることを確かめて下さい。($whoamiで確かめられます)

[root@localhost ~]# yum install git

何か聞かれる(インストールの確認)のでyを打つ。今後もインストール中に確認された際にはyをタイプして下さい。
下記で確認。

[root@localhost ~]# git --version
git version 1.8.3.1

2.2 必要なパッケージをインストール

言われた通りにやります。私も何をしているのか分かりません。

[root@localhost ~]# yum install zlib zlib-devel openssl-devel sqlite-devel gcc-c++ glibc-headers libyaml-devel readline readline-devel zlib-devel libffi-devel

2.3 rubyをインストール

2.3.1 rbenvをインストール

[root@localhost ~]# git clone https://github.com/sstephenson/rbenv.git /usr/local/rbenv
[root@localhost ~]# echo 'export RBENV_ROOT="/usr/local/rbenv"' >> /etc/profile 
[root@localhost ~]# echo 'export PATH="${RBENV_ROOT}/bin:${PATH}"' >> /etc/profile
[root@localhost ~]# echo 'eval "$(rbenv init -)"' >> /etc/profile

いったんターミナル閉じたあとバージョン確認

[root@localhost ~]# rbenv --version
rbenv 1.1.0-2-g4f8925a

2.3.2 ruby-buildをインストール

[root@localhost ~]# git clone https://github.com/sstephenson/ruby-build.git /usr/local/rbenv/plugins/ruby-build

2.3.3 rubyをインストール

インストール対象を確認

[root@localhost ~]# rbenv install --list # => インストール可能なバージョン一覧の表示
[root@localhost ~]# rbenv install -v 2.4.0
[root@localhost ~]# rbenv rehash
[root@localhost ~]# rbenv global 2.4.0

今回は2.4.0をインストール!少し時間かかります。
終わったら、下記で確認!

[root@localhost ~]# ruby -v
ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-linux]

2.4 railsをインストール

[root@localhost ~]# gem update --system
[root@localhost ~]# gem install --no-ri --no-rdoc rails
[root@localhost ~]# gem install bundler
[root@localhost ~]# rbenv rehash

結構時間かかります。最後に確認!

[root@localhost ~]#  rails -v
Rails 5.0.1

3. MySQLをインストール

ここではこのサイトを参考にさせて頂きました。

3.1 はじめに

CentOS 7 よりデータベースサーバの MySQL が MariaDB に置き換えられたそうです。MariaDBを削除しておきましょう。引き続きrootユーザーで作業は行います。

[root@localhost ~]# yum remove mariadb-libs
[root@localhost ~]# rm -rf /var/lib/mysql

ここでもやはりyを押し続けましょう。

3.2 yumリポジトリの追加

CentOS7にMySQL公式のyumリポジトリを追加します。

[root@localhost ~]# rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

3.3 MySQLのインストール

yum installでインストールし、バージョンを確認しましょう!

[root@localhost ~]# yum install mysql-community-server
[root@localhost ~]# mysqld --version
mysqld  Ver 5.7.17 for Linux on x86_64 (MySQL Community Server (GPL))

また、RailsでMySQLを使うために必要なgemを使うためのパッケージも入れておきます。

[root@localhost ~]#  yum install mysql-devel

3.4 MySQLの起動

MySQLを起動させ、自動起動の設定もしておきます。

[root@localhost ~]# systemctl start mysqld.service
[root@localhost ~]# systemctl enable mysqld.service

3.5 MySQLの初期パスワード確認

MySQL5.7では、初回起動時に初期パスワードが生成されるので、ログファイルから生成されたパスワードを確認する必要があるそうです。

[root@localhost ~]# cat /var/log/mysqld.log | grep password
2017-01-31T00:38:52.110013Z 1 [Note] A temporary password is generated for root@localhost: />rkpwb4X*oe

今回の場合、/>rkpwb4X*oeが初期パスワードです。

3.6 MySQLのセキュリティ設定

mysql_secure_installation コマンドを実行して、MySQL のセキュリティ設定を行います。

[root@localhost ~]# mysql_secure_installation

Securing the MySQL server deployment.

Enter password for user root: #先程見た初期パスワード(/>rkpwb4X*oe)

The existing password for the user account root has expired. Please set a new password.

New password: #新規パスワード

Re-enter new password:  #確認のため再度新規パスワードを入力
The 'validate_password' plugin is installed on the server.
The subsequent steps will run with the existing configuration
of the plugin.
Using existing password for root.

Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) : y #yesmanになろう

New password: #何故か知らんが再度パスワードを入力part1

Re-enter new password: #何故か知らんが再度パスワードを入力part2

Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y #yesmanになろう
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y #yesmanになろう
Success.


Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y #yesmanになろう
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y #yesmanになろう
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y #yesmanになろう
Success.

All done!

3.7 MySQLへのログイン確認

mysql -u root -pでログイン出来ます。

[root@localhost ~]# mysql -u root -p
Enter password: #先程設定した新規パスワードを入力
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.7.17 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

上記のようになればログイン成功です!
mysql> quitと打てばmysqlからbyeと言われて、MySQLから抜けられます。exitでも\qでもいいらしいです。

3.8 設定変更

参考にしたサイトには

MySQL 5.7 からパスワードの有効期限がデフォルトで360日になり、360日を経過するとパスワードの変更を促されて MySQL にログインできなくなります。
default_password_lifetime の値を 0 に変更して、この有効期限の設定を無効にしたいと思います。

とありますが、こちらによるとMySQL 5.7.11より、defaultでdefault_password_lifetime = 0となっているみたいです。
文字コードは参考サイトにならってUTF-8に変更しましょう。
[root@localhost /]# vi /etc/my.cnfで/etc/my.cnfにcharacter-set-server = utf8を追記! viエディターの使い方はこちら

MySQL を再起動させ、設定内容を反映させます。

[root@localhost /]# systemctl restart mysqld.service

設定終了!!!!!!!


小休止

versionってよくvertionって書いちゃいます。なんででしょうね。
以上です。


4. DBをMySQLに変更しつつ、Railsのサンプルアプリ作成

Railsのサンプルアプリ作成では再びこのサイトを参考にさせて頂きました。RailsのDBをMySQLにするのはこのサイトを参考にしました。

4.1 rails作業用のユーザーを作成

同様にrootユーザーから作業します。
[root@localhost /]# useradd -m railsでrails用のユーザー(railsと命名)を作成します。
[root@localhost /]# cat /etc/shadowで最終行に今作ったrailsくんが表示されていると思います。
[root@localhost /]# passwd railsでパスワードを設定しておきましょう。
では、今作ったrailsユーザーに移動しましょう!su rails
[root@localhost /]# から [rails@localhost /]$へ変わりました!

4.2 MySQLで作用業ユーザーを作成

作業ユーザーはdevelopment、test、productionの3つ必要になります。
とのことです。勉強不足です。

mysql -u root -pでMySQLにログインし、作業ユーザーを作成していきましょう。ユーザー名は下記のように、「'ユーザー名'@'localhost'」という形になります。私ここ1度ミスりました。passwordも''必要なのにもご注意を!

mysql> create user 'sampleDev'@'localhost' identified by '内緒', 'samplePro'@'localhost' identified by '内緒だってば', 'sampleTest'@'localhost' identified by 'いやーん';

作成したユーザーの確認は以下で出来ます。

mysql> select User,Host from mysql.user;
+------------+-----------+
| User       | Host      |
+------------+-----------+
| mysql.sys  | localhost |
| root       | localhost |
| sampleDev  | localhost |
| samplePro  | localhost |
| sampleTest | localhost |
+------------+-----------+
5 rows in set (0.00 sec)

最後に作成したユーザーに以下のように権限を付与します。MySQLは最後に;つけないといけないこと毎回忘れます。

mysql> grant all on *.* to 'sampleDev'@'localhost', 'samplePro'@'localhost', 'sampleTest'@'localhost';
Query OK, 0 rows affected (0.00 sec)

番外編: Vagrantで共有フォルダの設定

これはどのタイミングやるのがベストなんでしょうか。始めにやっちゃうべきなのかな。このサイトを参考にしました。
1.3 CentOSをいれる で作成したcentos7.3フォルダ下にVagrantfileがあると思います。viエディターで開いてみましょう。行数が出ない場合は:set numberで表示出来ます。どこに書き込んでもいいのですが、私は41行目に
config.vm.synced_folder "./shared", "/home/rails", owner: "rails", group: "rails"と入れました。
"./shared"はホストマシン(mac)の共有フォルダへのパスです。Vagrantfileからの相対パスです。"/home/rails/shared"は仮想マシン上でのディレクトリパスを指定します。ownerとgroupはrails作業用ユーザーのrailsとします。

centos7.3 $ ls
Vagrantfile
centos7.3 $ vi Vagrantfile
 36   # Share an additional folder to the guest VM. The first argument is
 37   # the path on the host to the actual folder. The second argument is
 38   # the path on the guest to mount the folder. And the optional third
 39   # argument is a set of non-required options.
 40   # config.vm.synced_folder "../data", "/vagrant_data"
 41   config.vm.synced_folder "./shared", "/home/rails", owner: "rails", group: "rails" # <- add!
 42   # Provider-specific configuration so you can fine-tune various

そして'vagrant reload'を行えば完了!のはずなのですが、

centos7.3 $ vagrant reload
There are errors in the configuration of this machine. Please fix
the following errors and try again:

vm:
* The host path of the shared folder is missing: ./shared

とsharedフォルダがないよと怒られたので、

centos7.3 $ mkdir shared
centos7.3 $ vagrant reload

で今度こそ完了です。reloadは少し時間がかかります。

4.3 Railsのサンプルアプリ作成

4.3.1 Vagrantfileの編集

約29行目のconfig.vm.network "private_network", ip: "192.168.33.10"をコメントインして下さい。
また、config.vm.network "forwarded_port", guest: 3000, host:3000を追記して下さい。

 25   # config.vm.network "forwarded_port", guest: 80, host: 8080
 26
 27   config.vm.network "forwarded_port", guest: 3000, host:3000
 28
 29   # Create a private network, which allows host-only access to the machine
 30   # using a specific IP.
 31   config.vm.network "private_network", ip: "192.168.33.10" 

終わったらvagrant reloadして下さい。
これでrails sをした際に、macのブラウザ(localhost:3000)から見れます!

4.3.2 rails new

まず、vagrant sshでサーバーを立ち上げて、su railsでユーザーをrailsにして下さい。 4.1で設定したパスワードを入力すればログイン出来るはずです。
directoryを/home/rails(先程共有フォルダに設定した場所)に移動してからrails newを行いましょう。この際に、'--database=mysql'とすることでデフォルトのDBがMySQLへと変えられます。終了後、作成したsampleへ移動しておきましょう。

[rails@localhost ~]$ cd /home/rails/
[rails@localhost ~]$ pwd
/home/rails
[rails@localhost /]$ rails new sample -d mysql --skip-bundle
[rails@localhost /]$ cd sample

ちなみに、mac側からも先程指定したsharedフォルダ内にsampleが作られていることが確認できる。

centos7.3 $ tree -L 2
.
|-- Vagrantfile
`-- shared
    `-- sample

4.3.3 Gemfileの編集

約22行目にあるgem 'therubyracer', platforms: :rubyをコメントインする。

     21 # See https://github.com/rails/execjs#readme for more supported runtimes
     22 gem 'therubyracer', platforms: :ruby

4.3.4 /config/database.ymlの編集

sample下にある/config/database.ymlを編集します。
development、test、productionの項目をそれぞれ、上で作成した作業ユーザーのユーザー名、パスワードを「username」と「password」の所に書いてください。host: localhostも加えて下さい。

# MySQL. Versions 5.0 and up are supported.
#
# Install the MySQL driver
#   gem install mysql2
#
# Ensure the MySQL gem is defined in your Gemfile
#   gem 'mysql2'
#
# And be sure to use new-style password hashing:
#   http://dev.mysql.com/doc/refman/5.7/en/old-client.html
#
default: &default
  adapter: mysql2
  encoding: utf8
  pool: 5
  reconnect: false


development:
  <<: *default
  database: sample_development
  username: sampleDev
  password:内緒
  host: localhost

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  <<: *default
  database: sample_test
  username: sampleTest
  password:いやーん
  host: localhost

# As with config/secrets.yml, you never want to store sensitive information,
# like your database password, in your source code. If your source code is
# ever seen by anyone, they now have access to your database.
#
# Instead, provide the password as a unix environment variable when you boot
# the app. Read http://guides.rubyonrails.org/configuring.html#configuring-a-database
# for a full rundown on how to provide these environment variables in a
# production deployment.
#
# On Heroku and other platform providers, you may have a full connection URL
# available as an environment variable. For example:
#
#   DATABASE_URL="mysql2://myuser:mypass@localhost/somedatabase"
#
# You can use this database configuration with:
#
#   production:
#     url: <%= ENV['DATABASE_URL'] %>
#
production:
  <<: *default
  database: sample_production
  username: samplePro
  password:内緒だってば
  host: localhost

4.3.5 仕上げ

  • bundle install 時間かかります。
  • rails s (rails s -b 0.0.0.0 の方がbetterかも)でサーバーを立ち上げる
  • NoDatabaseErrorが起きた際にはrake db:createをする
  • mac上のブラウザでlocalhost:3000に接続!
  • Yay! You’re on Rails!

4.4 gitクローンしたrailsアプリの場合

clone_sampleというファイルをcloneしたとします。まずcd clone_sampleで移動します。

4.4.1 gem install json -v '1.8.3'エラー

このままbundle installすると、下記のようなエラーが起きます。

An error occurred while installing json (1.8.3), and Bundler cannot continue.
Make sure that `gem install json -v '1.8.3'` succeeds before bundling.

4.4.2 解決策: Gemfileの編集

  • 変更するもの gem 'rails', '4.2.7.1'gem 'rails', '~> 5.0.1'
  • 加えるもの gem 'json', '~> 1.8.3'
  • コメントイン gem 'therubyracer', platforms: :ruby(4.3.1と同様)
Installing builder 3.2.2
Installing erubis 2.7.0
Installing mini_portile2 2.1.0
      1 source 'https://rubygems.org'
      2
      3 #I added this one
      4 gem 'json', '~> 1.8.3' 
      5 # Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
      6 gem 'rails', '~> 5.0.1'
      7 # Use sqlite3 as the database for Active Record
      8 gem 'sqlite3'
      9 # Use SCSS for stylesheets
     10 gem 'sass-rails', '~> 5.0'
     11 # Use Uglifier as compressor for JavaScript assets
     12 gem 'uglifier', '>= 1.3.0'
     13 # Use CoffeeScript for .coffee assets and views
     14 gem 'coffee-rails', '~> 4.1.0'
     15 # See https://github.com/rails/execjs#readme for more supported runtimes
     16 gem 'therubyracer', platforms: :ruby
     17

保存後に

$ bundle update
$ rake db:migrate
$ rails s -b 0.0.0.0

これでlocalhost:3000にアクセスすればOK!こちらは(-b 0.0.0.0とオプションを付けなければダメだった)

備考

既存のrailsのDBをMySQLに変えたい際には、このページを参照して下さい!

5 ApacheとPassengerのインストール

rootユーザーで作業して下さい。

5.1 Apacheのインストール

参考サイト
yumコマンドでインストールして、完了後確認をします。

[root@localhost ~]# yum -y install httpd
[root@localhost ~]# httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built:   Nov 14 2016 18:04:44

起動させるのはservice httpd start, 停止はstop、再起動はrestart、状態を確認するにはstatusを使用します。

5.2 Passengerのインストール

参考サイト

5.2.1 EPELパッケージをインストール

Passengerを入れるためにはEPELというものが必要らしいのではじめにいれます。

[root@localhost ~]#  yum install -y epel-release yum-utils
[root@localhost ~]#  yum-config-manager --enable epel
[root@localhost ~]#  yum clean all && sudo yum update -y

5.2.2 Passengerパッケージをインストール

These commands will install Passenger + Apache module through Phusion's YUM repository.

と書いてありました。つまり、Passengerくんがインストールされるようです。

# Install various prerequisites
[root@localhost ~]#  yum install -y pygpgme curl

date
# if the output of date is wrong, please follow these instructions to install ntp
[root@localhost ~]#  yum install -y ntp
[root@localhost ~]#  chkconfig ntpd on
[root@localhost ~]#  ntpdate pool.ntp.org
[root@localhost ~]#  service ntpd start

# Add our el7 YUM repository
[root@localhost ~]#  curl --fail -sSLo /etc/yum.repos.d/passenger.repo https://oss-binaries.phusionpassenger.com/yum/definitions/el-passenger.repo

# Install Passenger + Apache module
[root@localhost ~]#  yum install -y mod_passenger || sudo yum-config-manager --enable cr && sudo yum install -y mod_passenger

5.2.3 Apacheをリスタート

Passenger Apache モジュールがインストールされたので、Apacheを再起動させてPassengerを作動させましょう。

[root@localhost ~]# systemctl restart httpd

5.2.4 インストールの確認

  • 1つ目は/usr/bin/passenger-config validate-installです。Passenger itselfとApache双方にチェックをいれて(spaceを押す)、enter!
[root@localhost ~]# /usr/bin/passenger-config validate-install
What would you like to validate?
Use <space> to select.
If the menu doesn't display correctly, press '!'

   ⬢  Passenger itself
 ‣ ⬢  Apache

-------------------------------------------------------------------------

Checking whether there are multiple Apache installations...
Only a single installation detected. This is good.

-------------------------------------------------------------------------

 * 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... ✓

Everything looks good. :-)

上記は成功例ですが、


 * Checking whether Apache is installed... ✗

   Unable to validate your Apache installation: more software required

   This program requires the apxs2 tool in order to be able to validate your
   Apache installation. This tool is currently not installed. You can solve this
   as follows:

   Please install it with yum install httpd-devel

   When done, please re-run this program.


Detected 1 error(s), 0 warning(s).

と怒られたりもします。その時は素直に言われたとおり(yum install httpd-devel)にしましょう。

  • 2つ目は/usr/sbin/passenger-memory-statsです。 下記のように、ApacheとPassengerのプロセスが表示されればOKです。出ない場合はTroubleshooting Guideへ!
[root@localhost ~]# /usr/sbin/passenger-memory-stats
Version: 5.1.2
Date   : 2017-01-31 10:55:11 +0000

--------- Apache processes ---------
PID   PPID  VMSize    Private  Name
------------------------------------
8344  1     222.7 MB  0.2 MB   /usr/sbin/httpd -DFOREGROUND
8392  8344  222.8 MB  0.2 MB   /usr/sbin/httpd -DFOREGROUND
8393  8344  222.8 MB  0.2 MB   /usr/sbin/httpd -DFOREGROUND
8394  8344  222.8 MB  0.2 MB   /usr/sbin/httpd -DFOREGROUND
8395  8344  222.8 MB  0.2 MB   /usr/sbin/httpd -DFOREGROUND
8396  8344  222.8 MB  0.2 MB   /usr/sbin/httpd -DFOREGROUND
### Processes: 6
### Total private dirty RSS: 1.15 MB


-------- Nginx processes --------

### Processes: 0
### Total private dirty RSS: 0.00 MB


---- Passenger processes -----
PID   VMSize    Private  Name
------------------------------
8370  417.0 MB  0.9 MB   Passenger watchdog
8373  649.9 MB  3.2 MB   Passenger core
8381  425.2 MB  2.9 MB   Passenger ust-router
### Processes: 3
### Total private dirty RSS: 7.06 MB

備考

Passengerのバージョン確認方法は

[root@localhost ~]# passenger-config --version
Phusion Passenger 5.1.2

最後に

沢山のサイトを参考にさせて頂きました。ありがとうございました。訂正や追記などありましたら、どんどん宜しくお願いします!