さくらVPS Ubuntu Apache2が接続できない!

こんにちは、ファルコンM です。

さくら VPS Ubuntu でApache2 を設定した。下の記事を参考にやっているのだが、、、

初心者がVPS(Virtual Private Server)をWebサーバーとして構築し、WordPressのサイトを運用できるようになるまでの「ネコでもわかる!」連載の第3回目です。 最初から読みたい方はこちらからどうぞ。 前回(第2回目)は「サーバーをさわってみよう!」というテーマで、VPSにログインする方法とL...

タイトル通り、Ubuntu でApache2 の接続ができなかった。

原因は、デフォルトの設定だった!

開発環境

  • さくら VPS 1G プラン
  • Ubuntu 16.04
  • Apache 2.4.18

Apache2 のインストール

インストールは以下のコマンド

$ sudo apt-get install apache2

インストール確認はバージョンコマンド

$ apache2 -v

その後、起動する。

$ sudo service apache2 start

これだけで起動するはず。クライアントのブラウザからアクセスすれば、デフォルトページが見れるはずだが。。。

応答がない。。。見れない。。。

原因調査

Apache が起動していることを確認するため、以下のコマンドを叩いてみた。

$ curl http://( ホスト名 )

応答は、返ってきている。つまり、Apache は正常に起動している。ブラウザからサーバーへの接続に問題があるようだ。

ファイアウォールはどうか?

$ sudo ufw status

「Status: inactive」と表示された。ファイアーウォールは動作していないが、いつの間にかインストールされている。他にもいつの間にかインストールされているものがあるかもしれない。

原因はiptables の設定

でした。iptables はいつの間にかインストールされてデフォルトの設定になっていた。( たぶん、一番最初にubuntu の設定をしたとき。なんか自動でいろいろ動いていたような。 )

ってことでhttp とhttps のポートのアクセスを許可する。

参考サイト

 今回はubuntuにiptablesをインストールしていきます。 「言っても同じLinuxだし、CentOSとそんなに変わらんだろ」と高をくくっていたら、微妙に違いました。忘れないうちにメモ(もうちょっと忘れてるけど)。 CentOSではiptablesコマンドを叩いて設定していきましたが...

$ sudo vi /etc/iptables/iptables.rules

iptables の設定を開き、以下を追加する。

*filter
INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

: 追加
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT
: 追加

-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

最後に、設定を反映し、Apache を再起動する。

sudo /sbin/iptables-restore < /etc/iptables/iptables.rules
sudo service apache2 restart

これで、クライアントのブラウザからアクセスできた。

まとめ

さくらVPS でUbuntu をインストールしたとき、一緒にiptables がインストールされていた。なので、Apache は起動しても外部から接続できなかった。

Apache以外でも、ポートの設定が必要になるときは、iptables を考慮する必要がある。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする