amazon ec2上のRedhat Enterprise Linuxへapacheをインストールして公開してみる。

2016/02/03 AmazonEC2, クラウドサービス

ec2-install-apache
先日、amazon ec2上にRedhat Enterprise Linux (ver6.4/x64)の仮想サーバを稼働させるところまで紹介しました。
せっかくの評価環境ですので、評価してなんぼと思い、まずはapacheをインストール、ウェブサーバとして公開するところまでやってみました。

スポンサーリンク


ちなみに本来は公開する前にセキュリティ設定が十分にされている必要がありますが、セキュリティ設定については改めて記事として紹介したいと思います。
今回、ウェブサーバとして公開する仮想サーバはセキュリティ設定は済んでいます。
ec2でredhatを立ち上げる記事は「Amazon aws (Amazon Web Service) の評価環境作成 EC2の場合」です。

1.apache インストール

「Amazon aws (Amazon Web Service) の評価環境作成 EC2の場合」と同様に仮想サーバへsshクライアントでログインします。ログイン後、suコマンドで管理ユーザーへ移行します。
apacheについて、細かいカスタムを行う場合、ソースからコンパイル・インストールを行いますが、今回はウェブサーバーを公開することが目的なのでパッケージを利用してインストールします。yumが当初より利用できますので、これを使います。

1-1.apacheパッケージの確認

httpdパッケージの確認をsearchオプションを付けて実行します。
httpdが付くパッケージ名の一覧が表示されます。

表示された一覧からyum -y installでhttpdとhttpd-develをインストールします。
httpd-develは開発用のパッケージですが、いつもインストールしています。この辺りは個々人の好みで。

complete!が表示されれば、apacheのインストールは完了です。あっけなくインストールが完了し、少し拍子抜け。

1-2.apacheの起動

起動前に環境に合わせて設定ファイルの編集が必要ですが、ここでは行いません。
いきなり起動させてみました。

エラーが出てますが、起動しました。
FQDNが設定されていないよ!というエラーですが、とりあえず無視して問題ありません。

一応、プロセスが動作していることと、ポートがオープンしていることを確認します。

プロセス、ポート、共に問題なさそうです。
通常だとこれで外部から参照できそうなんですが、ec2の場合、外部に公開するときはさらに二つほど設定の変更が必要になります。

2.仮想OS側の設定変更(iptablesの設定変更)

amazon ec2のredhatは最初からiptablesで入力方向のパケットにフィルタが掛かっています。
iptablesはlinuxでよく利用されるソフトウェアのFirewallです。
iptablesはOS導入時、sshとicmpしか通さない設定になっていますので、httpの利用するTCPポートの80番を許可するようにルールを追加します。
まずは現状のiptables設定を確認します。

2-1.iptablesの導入時設定確認

iptablesコマンドにオプション -Lを付けます。-Lはリストで設定一覧を表示させます。
–line-numberオプションはルールの番号を表示させます。
早速実行してみます。

上記の設定を確認するとINPUT(入力)はsshとicmpしか許可していません。
httpを許可する場合は、INPUTチェイン内のREJECTポリシーより前に許可ポリシーを追加する必要があります。(iptablesは前から順に処理されるため)
REJECTポリシーは5番目ですので、4番目にhttp許可ポリシーを追加します。

正常に追加されるとプロンプトに戻ります。
追加されない場合はエラーが出力されます。エラーの内容を確認してコマンドを修正してください。
念のため、追加後のポリシーを確認します。

INPUTチェインの5番にhttp許可ポリシーが追加されています。
ポリシーの変更した内容を保存します。

保存された内容を念のため、確認します。

問題なければこれで仮想マシン(OS)側の変更は完了です。

3.amazon ec2 管理コンソール側の変更

amazon ec2では仮想マシンへのセキュリティをセキュリティグループという単位でまとめてフィルタを設定しています。
サーバ側でfirewallの穴を開けても、セキュリティグループ側で穴を開けないと外部から接続できません。
セキュリティグループの許可設定は管理コンソールから行います。

3-1.管理コンソールへのアクセス

管理コンソールはawsの画面から[サインアップ]すると表示される[アカウント/コンソール]から[aws management console]をクリックすると利用できます。
ec2-signup
表示されたメニューから[EC2]を選択します。
ec2

3-2.セキュリティグループの選択

[Resources]から[Security Groups]をクリックします。
security-groups
公開したいサーバが所属するセキュリティグループにチェックを入れます。
security-group2

3-3.HTTPポートのオープン

下部にサーバの詳細が表示されます。ここからポートをオープンする設定を行います。

  • [Inbound]タブをクリック
  • Create a new rule:HTTPを選択
  • Source:0.0.0.0/0

として [Add Rule]をクリックします。
右側のペインに80(HTTP)が追加されたことを確認します。
80-http-add
確認できたら、画面下にある[Add Rule Changes]をクリックします。
これで管理コンソール側の設定変更は完了です。

4.apacheの動作確認

手順3までで外部からapacheへアクセスできる準備ができましたので、確認を行います。
アクセスできない場合は、手順3までを再度、確認して下さい。

4-1.apacheデフォルト画面の表示

利用しているブラウザに以下のURLを入力して、apacheのデフォルト画面が表示されることを確認します。
http://グローバルIP (もしくはパブリックDNS名)
正常にインストール、ポートオープンが終了していると、以下の画面が表示されます。
httpd-default
これでapacheのインストールは完了です。
デフォルトインストールのみで、設定をしていない状態ですので、必要に応じて設定を行っていきます。(通常は設定が必要となります。)

5.今後の展開と公開後のセキュリティ

今回は、apacheのみをインストールしましたが、apache単体で利用する環境は少ないと思います。
今後はLAMPが利用できるように同じ環境へPHPとMySQLをインストール、最終的にwordpressのインストールまでを紹介していきます。
セキュリティに気をつける場合は、先ほどオープンしたポートの接続元を絞るか、ルールの削除などを行って下さい。

システムでお困りのお客様

もし、貴社で、

  • サポート切れのサーバやネットワーク機器の入れ替えをしたいが、どうしたらよいかわからない
  • サーバやネットワークの管理を行う社員がいないため困っている
  • 業務に利用している機器のセキュリティが大丈夫か心配
  • 機器の障害で、業務への影響が発生している
  • 社内の要望に対して、どのようなシステムを導入したらよいか解らない

など、サーバーやネットワーク、セキュリティでお悩みの方、新規のシステム導入を検討中の方。
多くのシステム構築を行い、成功させてきた実績をもつ弊社が、その問題を解決します。
お気軽にお問い合わせ頂き、貴社の問題解決にお役立てください。

お問い合わせ・ご相談はこちらから

Facebookでのご購読が便利です。

Twitter・Feedlyでもご購読できます。

Twitterでフォローする Feedlyでフォローする

関連する情報

ec2-php-install

Amazon ec2 (aws ec2) 上のLinuxへPHPをインストールしてみる

前回の記事「amazon ec2上のRedhat Enterprise Linuxへapache

aws-wp-install

Amazon ec2 (aws ec2) のLinuxへwordpressをインストール

今までapache、php、MySQLのインストールをec2上のRHELへ行いました。(この環境

office365-dns-settings

Office365導入前に必要なネームサーバ(bind)を設定する

ここ最近、少し訳あって、Office365を利用しています。 自社内にExchangeサーバを

amazon-aws

Amazon aws (Amazon Web Service) の評価環境作成 EC2の場合

ここ最近、物理サーバ導入のお話がめっきり少なく...変わりにクラウドサービスを利用したサーバ構築

vpn-azure-connect

Azure VPN を設定、新ポータルからの設定手順。サイト間接続の場合

Microsoftのクラウドサービス、Azureには、オンプレミスの環境(物理的な拠点)とVPN

ec2-mysql-install

Amazon ec2 (aws ec2) 上のLinuxへMySQLをインストール

以前の記事「Amazon aws EC2上のRedhat Enterprise Linuxへap

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

  • スポンサーリンク