LoginSignup
10
16

More than 3 years have passed since last update.

Apache ローカルネットワーク内限定でIPでアクセスできる様にする

Last updated at Posted at 2020-07-21

目的

  • ローカルネットワーク内限定でApacheが立っているマシン以外からもWebページを表示できる様にする方法をまとめる

実施環境

  • ハードウェア環境(クライアント側)
項目 情報
OS macOS Catalina(10.15.5)
ハードウェア MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports)
プロセッサ 2 GHz クアッドコアIntel Core i5
メモリ 32 GB 3733 MHz LPDDR4
グラフィックス Intel Iris Plus Graphics 1536 MB
  • ハードウェア環境(サーバ側)
項目 情報
OS CentOS 7 (7.8.2003)
ハードウェア Dell Studio 1537
プロセッサ Intel(R) Core(TM)2 Duo CPU P8400 @ 2.26GHz
メモリ 4 GB DDR3
グラフィックス 不明
  • ソフトウェア環境
項目 情報
Apacheバージョン 2.4.6 (CentOS)

前提条件

  • Apacheがインストール済みでサーバ側のPCのブラウザにて(http://localhost/index.htmlなどにアクセスすることにより)ドキュメントルートにあるファイルが確認できること。

前提情報

  • 下記説明で実行するコマンドは特に記載がない場合サーバPCにssh接続を行い実行する。

読後感

  • サーバ側のPCのブラウザにて(http://localhost/index.htmlなどにアクセスすることにより)表示できていたファイルをローカルネットワーク 内ならhttp://サーバPCのIP:ポート/index.htmlで表示可能になる。

概要

  1. サーバマシンのIPの確認
  2. Apacheの設定変更
  3. 確認

詳細

  1. サーバマシンのIPの確認

    1. 下記コマンドを実行してネットワーク系の情報を確認する。

      $ ifconfig
      
    2. 下記の出力例の矢印部分を確認してサーバPCのIPアドレスを確認する。(inetの横がIPアドレスである。)

      ようこそ_—_FA.png

  2. Apacheの設定変更

    1. 下記コマンドを実行してApacheの設定ファイルを開く。

      $ sudo vi /etc/httpd/conf/httpd.conf
      
    2. 開いたファイルの「Listen 80」の記載がある部分を探す。

    3. 下記の様に編集する。

      /etc/httpd/conf/httpd.conf
      #
      # Listen: Allows you to bind Apache to specific IP addresses and/or
      # ports, instead of the default. See also the <VirtualHost>
      # directive.
      #
      # Change this to Listen on specific IP addresses as shown below to
      # prevent Apache from glomming onto all bound IP addresses.
      #
      #Listen 12.34.56.78:80
      # 下記をコメントアウト
      #Listen 80
      # 下記を追記
      Listen 先に確認したサーバPCのIPアドレス:80
      
  3. ポートの解放

    1. 下記コマンドを実行してhttp通信のデフォルトポートである80番を解放する。

      $ sudo firewall-cmd --zone=public --add-service=http --permanent
      
    2. 後々のことを見越して下記コマンドを実行してhttps通信のデフォルトポートである443番を解放する。

      $ sudo firewall-cmd --zone=public --add-service=https --permanent
      
    3. 下記コマンドを実行して設定を反映する。

      $ sudo firewall-cmd --reload
      
    4. 下記コマンドを実行して設定を確認する。

      $ sudo firewall-cmd --list-all
      
    5. 「services」の欄にhttpとhttpsが記載されていることを確認する。

    6. 下記コマンドを実行してhttpdを再起動する。

      $ sudo service httpd restart
      
  1. 確認
    1. ブラウザにて下記のURLでlocalhostで表示できていた内容が表示できることを確認する。
      • http://先に確認したサーバPCのIPアドレス:80/index.html
10
16
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
16