A Little Each Day

note to self

さくらのVPSにApacheとPassengerをインストールする

こんにちは。本日は「さくらのVPS」にWebサーバーをインストールする方法です。

今回はApacheとPassengerの組み合わせで設定していきます。

Apache

Apache本体をインストールして設定ファイルを編集していきます。

インストール

まずはApacheと関連プラグインをインストールする。

[hoge@ ~]$ sudo yum -y install httpd-devel
読み込んだプラグイン:fastestmirror, security
インストール処理の設定をしています
Loading mirror speeds from cached hostfile


自動起動するようにする。

[hoge@ ~]$ sudo chkconfig httpd on


これでApacheのインストールは完了です。

設定ファイルの編集

次にApacheの設定ファイルを編集していきます。

[hoge@ ~]$ sudo vim /etc/httpd/conf/httpd.conf


OSからProdへ。

ServerTokens Prod


OnからOffへ。

ServerSignature Off


ハイフンをつける。

<Directory "/var/www/html">

Options -Indexes FollowSymLinks


編集が終わったらApacheを起動する。

[hoge@ ~]$ sudo service httpd start
httpd を起動中:                                            [  OK  ]


以上でApacheの設定ファイルの編集は完了です。


Passenger

続いてPassengerをインストールしていき、設定ファイルを編集していきます。

インストール

Gemを使いPassengerをインストールをする。

[hoge@ ~]$ gem install passenger
Fetching: rack-2.0.1.gem (100%)
Successfully installed rack-2.0.1
Fetching: passenger-5.0.29.gem (100%)
Building native extensions.  This could take a while...
Successfully installed passenger-5.0.29
Parsing documentation for rack-2.0.1
Installing ri documentation for rack-2.0.1
Parsing documentation for passenger-5.0.29
Installing ri documentation for passenger-5.0.29
Done installing documentation for rack, passenger after 75 seconds
2 gems installed


続いてモジュールをインストールしていく。

[hoge@ ~]$ passenger-install-apache2-module
Welcome to the Phusion Passenger Apache 2 module installer, v5.0.29.

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.


何の言語を使うか聞かれるので自分の使用している言語を選ぶ。

Which languages are you interested in?

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

 ‣ ⬢  Ruby
   ⬢  Python
   ⬡  Node.js
   ⬡  Meteor


エンター押すと必要なツールがインストールされているかチェックされます。

もしツールが不足していると以下の様なメッセージが表示されます。

Installation instructions for required software

 * To install Curl development headers with SSL support:
   Please install it with yum install libcurl-devel

If the aforementioned instructions didn't solve your problem, then please take
a look at our documentation for troubleshooting tips:

  https://www.phusionpassenger.com/library/install/apache/
  https://www.phusionpassenger.com/library/admin/apache/troubleshooting/


この場合は以下のツールをインストールします。

[hoge@ ~]$ sudo yum install libcurl-devel
読み込んだプラグイン:fastestmirror, security
インストール処理の設定をしています
Loading mirror speeds from cached hostfile
epel/metalink


気を取り直してもう一回インストールします。

[hoge@ ~]$ passenger-install-apache2-module


(超絶長い文字列がたくさん表示されますが壊れているわけではないので気長に待ちましょう。)

成功すると以下の様なメッセージが出ます。

Almost there!

Please edit your Apache configuration file, and add these lines:

   LoadModule passenger_module /home/hoge/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/passenger-5.0.30/buildout/apache2/mod_passenger.so
   <IfModule mod_passenger.c>
     PassengerRoot /home/hoge/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/passenger-5.0.30
     PassengerDefaultRuby /home/hoge/.rbenv/versions/2.2.2/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.


上記のメッセージはあとで使うのでメモっといてください。

設定ファイルの編集

PassengerをApacheに組み込むためにApacheの設定ファイルを編集します。

[hoge@ ~]$ sudo vim /etc/httpd/conf/httpd.conf


先ほどのコピーした部分を設定ファイルにコピペしてください。

LoadModule passenger_module /home/hoge/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/passenger-5.0.30/buildout/apache2/mod_passenger.so
   <IfModule mod_passenger.c>
     PassengerRoot /home/hoge/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/passenger-5.0.30
     PassengerDefaultRuby /home/hoge/.rbenv/versions/2.2.2/bin/ruby
   </IfModule>


一応文法チェックをしましょう。

[hoge@ ~]$ sudo service httpd configtest
Syntax OK


Apacheを再起動します。

[hoge@ ~]$ sudo service httpd restart


自分のIP(000.00.000.00)をブラウザに打って以下の様な画面が表示されればサーバーが起動しているということです。

f:id:chi_kun:20160810172820p:plain



本日は以上です。