SakuraVPSでページを掲載するのにてこずった話

SakuraVPSでwebページをアップロードしてみたので、その手順とたくさん踏んだ地雷を紹介していきたいとおもいます。 

SakuraVPS上でwebページをアップロードする方法

まずは、普通にwebページをアップロードする手順を示して行きます。

1、Apacheのインストール

まずは、下記のコマンドでapacheをインストールします。

yum -y install httpd

 2、Apacheの設定

下記のコマンドでさくらVPSが常に自動で起動するように設定します。

chkconfig httpd on

 次に、設定ファイルを編集します。

vim /etc/httpd/conf/httpd.conf

 設定項目は以下の3つです。

ServerTokens OS → ServerTokens Prod

ServerSignature On → ServerSignature Off

Options Indexes FollowSymLinks → Options -Indexes FollowSymLinks

3、Apacheの起動

ここまで設定が終了したら、設定ファイルに文法エラーがないかをチェックします。

service httpd configtest 

 特に、これで問題なければ、Apacheを起動してみましょう。

service httpd start  

4、ホームページの設定

Apacheではホームページのデフォルトの階層は var/www/htmlになっています。この下にhtmlファイルを配置するとホームページを開くことができます。

 

起こったエラー達

1、could not bind to address [::]:80

上記の設定どうり、行いApacheを起動してみたところこのようなエラーが起きてしまいました。

Starting httpd: (98)Address already in use: make_sock: could not bind to address [::]:80

原因

すでに80ポートはつかわれてるよーってものらしいです。

対処法

このポートを使っているプロセスをkillすればよい。下記のコマンドではプロセスIDを調べて、プロセスを殺しています。

usr/sbin/lsof -i | grep http

kill -9 PID

2、httpd dead but subsys locked

しかし、自分の場合、プロセスすらうごいていませんでした。謎は深まるばかりでした。ということでhttpdの状態を確認してみることに 

/etc/init.d/httpd status

 そうすると、次のようなエラーになりました。

httpd dead but subsys locked

原因

このエラーが起こってしまうエラーは二つあります。

  1. Apacheセマフォを使い切る
  2. 他のプロセスによって80ポートが使われている

対策法

1、Apacheセマフォを使い切る
このエラーは詳細はいろいろ調べてみたのですが今一わかりませんでした。以下のサイトがわかりやすいと思うので、参照お願いします。

apacheがセマフォを使い切る

 

2、他のプロセスによって80ポートが使われている

今回の自分の原因はこっちでした。単刀直入に原因をいうと

以前、railsのアプリケーションをデプロイする際に80ポートを使用していたのが原因でした。

 

参考にさせてもらったサイト

WEBサーバーの設定