投稿日2015/01/25
Apache Passengerのインストールついて説明していきます。各設定をを行います。環境構築を何回かに分けて明記しています。OSはCentOSです。
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
以下のコマンドを実行します。
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
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
続いて、下記を書き込みます。
<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>
先ほどと同じようにシンボリックを作成します。
sudo ln -s /etc/httpd/sites-available/appname /etc/httpd/sites-enabled/001-appname
sudo gpasswd -a apache appname
下記コマンドで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
外部からの通信を拒否します。
sudo ufw default reject
SSHによる接続を許可するため22番ポートを開放します。
sudo ufw allow 22
ファイアフォールを有効化します。
sudo ufw enable
メッセージにはyで答えます。
80番を開放します。
sudo ufw allow 80
443番を開放します。
sudo ufw allow 443