LoginSignup
23
23

More than 5 years have passed since last update.

Apache Passenger - Ruby on Rails環境構築 06

Last updated at Posted at 2015-02-17

Apache Passengerのインストールついて説明していきます。各設定をを行います。環境構築を何回かに分けて明記しています。OSはCentOSです。

Apacheのインストール

sudo権限のあるユーザでログインします。

ssh yourname@契約したIPアドレス

httpd_develをインストール

sudo yum -y install httpd-devel

Apacheの自動起動を設定

sudo chkconfig httpd on

エディタで/etc/selinux/configを開きます。

sudo /etc/selinux/config

SELinux=で始まる行を次のように変更します。

SELinux=disable

CentOSを再起動します。

sudo service httpd restart

Apacheの初期設定

以下のコマンドを実行します。

sudo su -
cd /etc/httpd
echo "Include /etc/httpd/sites-enabled/" >> conf/httpd.conf
mkdir sites-available
mkdir sites-enabled
rm conf.d/welcome.conf
exit

エディタで/etc/httpd/conf/httpd.confを開きます。

sudo vi /etc/httpd/conf/httpd.conf

下記の箇所のコメントを外します。

#ServerName www.example.com:80
#NameVirtualHost *:80

Passengerのインストール

gem install passenger

下記、コマンドを入力します。

sudo passenger-install-apache2-module

表示された画面に従い、Enterキーを押します。
必要なファイルが表示されたら画面に従いインストールします。

インストール後、Please edit your Apache configuration file, and add these lines:の後の3行をコピーしておきます。

エディタで新規ファイル/etc/httpd/conf.d/passenger.confを開きます。

sudo vi /etc/httpd/conf.d/passenger.conf

このファイルに先ほどコピーした部分を貼り付けて保存します。

デフォルトのバーチャルホストの設定

エディタで新規/etc/httpd/sites-available/defaultを開きます。

sudo vi /etc/httpd/sites-available/default

下記を書き込みます。

<VirtualHost *:80>
  DocumentRoot /var/www/html
  <Directory /var/www/html>
    AllowOverride all
    Options None
    Order Deny,Allow
    Deny from All
  </Directory>
</VirtualHost>

次のコマンドを入力します。

sudo ln -s /etc/httpd/sites-available/default /etc/httpd/sites-enabled/000-default

バーチャルホストの追加

エディタで新規ファイル /etc/httpd/sites-available/appnameを開きます。

sudo vi /etc/httpd/sites-available/appname
  • appnameは適宜変更してください。

続いて、下記を書き込みます。

<VirtualHost *:80>
  ServerName yourdomain.com
  DocumentRoot /home/appname/rails_root/public
  RackEnv production
  <Directory /home/appname/rails_root/public>
    AllowOverride all
    Options -MultiViews
  </Directory>
</VirtualHost>
  • appname, yourdomainは適宜変更してください。

先ほどと同じようにシンボリックを作成します。

sudo ln -s /etc/httpd/sites-available/appname /etc/httpd/sites-enabled/001-appname
  • appnameは適宜変更してください。

Apacheにアクセス権付与

sudo gpasswd -a apache appname
  • appnameは適宜変更してください。

utwのインストール

下記コマンドでutwをインストールします。

sudo yum install wget make
mkdir -p ~/src
cd ~/src
wget https://launchpad.net/ufw/0.33/0.33/+download/ufw-0.33.tar.gz
tar xzf ufw-0.33.tar.gz
cd ufw-0.33
sudo python ./setup.py install
cd ..
sudo rm -rf ufw-0.33
sudo chmod -R g-w /etc/ufw /lib/ufw /etc/default/ufw /usr/sbin/ufw

iptablesとip6tablesを停止し、自動起動を設定します。

sudo service iptables stop
sudo service ip6tables stop
sudo chkconfig --del iptables
sudo chkconfig --del ip6tables

エディタで/etc/rc.localを開きます。

sudo vi /etc/rc.local

下記を追加します。

/lib/ufw/ufw-init start

ufwの初期設定

外部からの通信を拒否します。

sudo ufw default reject

SSHによる接続を許可するため22番ポートを開放します。

sudo ufw allow 22

ファイアフォールを有効化します。

sudo ufw enable

メッセージにはyで答えます。

ポートの開放

80番を開放します。

sudo ufw allow 80

443番を開放します。

sudo ufw allow 443
23
23
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23
23