meideru blog

家電メーカーで働いているmeideruのブログです。主に技術系・ガジェット系の話を書いています。

【CentOS 7】ApacheでWebサーバを構築する方法

 

今、Web開発の勉強をしています。最終的には、PHPとMySQLでグループウェアを作れたら良いなと思っています\(^o^)/

それを実現するために、借りているVPSでいきなり開発を始めても良いのですが、まだまだわからないこともあって不安です^^;

脆弱性ゆえに失敗とかしたら怖いですもんね^^;

なので、まずは自宅サーバで練習しようと思います。このサーバは外には公開しないローカルサーバなので好き放題やって平気です。

今日はとりあえず、自宅サーバでWebサーバを構築したので、やり方をブログに書こうと思います。

目次

今回、使った自宅サーバについて

今回、使用した自宅サーバはこれです。

@自宅サーバ
自宅サーバー

いつ買ったのかは忘れてしまいましたが、1年以内だったと思います。値段はハッキリと覚えていて、6,300円でした。

正常に動くジャンク品です^^;

導入の方法

大きく分けて、やることは2つです。

  1. Apache のインストール
  2. ファイアウォールの解除

の2つです。

1. Apache のインストール

はじめに、Apacheをインストールしましょう。

ApacheとはWebサーバを構築するためのアプリケーションです。

コマンドは以下のとおりです。

[meideru@localhost ~]$ yum -y install httpd

httpd が Apache のことを指すそうです。

インストールはこれで終了です。

2. ファイアウォールの解除

インストールしただけでは、Webサーバは動作しません。試しに外部のPCからブラウザでIPアドレスを入力してアクセスしてみても、できないはずです。

理由は、ファイアウォールが設定されているからです。これを解除する必要があります。

(ファイアウォールとは、パケットフィルタのことです。これを設定すると、許可したパケットだけをサーバに通過させることができます。こんなこと改めて説明するまでもなく、このブログの読者様はご存知だと思いますが・・・)

 

まずは、ファイアウォールの設定がどうなっているのかを確認してみましょう。

以下のコマンドを入力してみてください。

[meideru@localhost ~]$ firewall-cmd --list-all
public (default, active)
  interfaces: enp0s25
  sources:
  services: dhcpv6-client ssh
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

2行目のpublicというのは、ゾーンの設定がpublicということです。ゾーンとは、セキュリティレベルのことです(←曖昧な説明w)。

「services:」という項目がありますね?この右に書いてあるのが、ファイアウォールを通過できるパケットの種類です。

つまり、上の状態はdhcpv-6clientとsshに関するパケットを通過させることができて、Apache(Webサーバ)に関するパケットを通過せることができないことを意味します。

 

Apacheのパケットを通過させるためには、以下のコマンドを入力します。

[meideru@localhost ~]$ firewall-cmd --permanent --add-service=http --zone=public
success

上のコマンドは、publicゾーンではApacheのパケットを通過させるように設定しています。

–permanent というのをつけると、再起動後も自動でファイアウォールを解除してくれます。逆にこれを外すと、再起動後はApache のファイアウォールは有効になります。

httpというのはApacheのことです。

 

設定したら、もう一度確認してみましょう。

[meideru@localhost ~]$ firewall-cmd --list-all
public (default, active)
  interfaces: enp0s25
  sources:
  services: dhcpv6-client http ssh
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

「services:」にhttpが追加されましたね。無事成功です!

 

これでファイアウォールの設定は完了です。

実際に確認してみよう

それでは、実際に確認してみましょう!

Apacheのデフォルトの設定では、「/var/www/html/」以下のディレクトリが公開されることになっています。

 

早速、ファイルを作って何かを書いてみましょう。

[meideru@localhost /]$ vim /var/www/html/hello.php

/* hello.phpに「HELLO! THIS IS MY SERVER!」とエディタで書き込む */

 

これでブラウザに「http://(IPアドレス)/hello.php」と入力してみてください。

「HELLO! THIS IS MY SERVER!」と表示されませんか?表示されたら完成です!

 

以上です!

ノシ

 - 技術系