Login          

WWWサーバーのインストール

WWWサーバーのインストール

前回でリモートアクセスが可能になりました

これで作業がだいぶ楽になりました
次はいよいよ、wwwサーバを動作させ外部に発信できるようにします

Apacheの導入

wwwサーバは、現在は一番メジャーなApacheにします。
インストールは 「yum」で 簡単にインストールできます

Apache関連パッケージの確認

パッケージの確認は、「yum list」で確認できますが
apache のパッケージは「apache」ではなく「httpd」のようです

$ yum list | grep httpd
     httpd.x86_64         2.4.6-89.el7.centos         updates
     httpd-devel.x86_64   2.4.6-89.el7.centos         updates
     httpd-manual.noarch  2.4.6-89.el7.centos         updates
     httpd-tools.x86_64   2.4.6-89.el7.centos         updates
     keycloak-httpd-client-install.noarch  0.6-3.el7  base
     libmicrohttpd.i686                 0.9.33-2.el7  base
     libmicrohttpd.x86_64               0.9.33-2.el7  base
     libmicrohttpd-devel.i686           0.9.33-2.el7  base
     libmicrohttpd-devel.x86_64         0.9.33-2.el7  base
     libmicrohttpd-doc.noarch           0.9.33-2.el7  base
     python2-keycloak-httpd-client-install.noarch

この中で、「httpd」「httpd-tools」をインストール
さらに、「ssl」の利用を考えているので「mod_ssl」もインストール
インストールは「yum install パッケージ名 パッケージ名 ・・」でインストールします

$ sudo yum install httpd httpd-tools mod_ssl
 読み込んだプラグイン:fastestmirror, langpacks
 Loading mirror speeds from cached hostfile
 base: ftp.iij.ad.jp
 extras: ftp.iij.ad.jp
 updates: ftp.iij.ad.jp
 依存性の解決をしています
 --> トランザクションの確認を実行しています。
  ・
  ・
 --> 依存性解決を終了しました。 
 依存性を解決しました
======================================================
 Package   アーキテクチャー   バージョン   リポジトリー    容量
======================================================
 インストール中:
  httpd     x86_64    2.4.6-89.el7.centos   updates     2.7 M
  httpd-tools x86_64    2.4.6-89.el7.centos   updates    90 k
  mod_ssl     x86_64    1:2.4.6-89.el7.centos  updates   112 k
 依存性関連でのインストールをします:
  apr         x86_64    1.4.8-3.el7_4.1        base      103 k
  apr-util    x86_64    1.5.2-6.el7            base      92 k
  mailcap     noarch    2.1.41-2.el7           base      31 k
 トランザクションの要約
 インストール  3 パッケージ (+3 個の依存関係のパッケージ)
 総ダウンロード容量: 3.1 M
 インストール容量: 10 M
 Is this ok [y/d/N]: y
  ・
  ・ 
完了しました!

無事にインストールは完了しました
hddpdを起動し、確認してみます
サービスの動作は、「systemctl」で行います
再起動は「start」 、再起動は、「restart」 、確認は「status」です

$ sudo systemctl start httpd
$ sudo systemctl status httpd
 httpd.service - The Apache HTTP Server
    Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
    Active:active (running) since 水 2019-05-01 10:40:57 JST; 1min 13s ago
      Docs: man:httpd(8)
            man:apachectl(8)
  Main PID: 13875 (httpd)
    Status: "Total requests: 0; Current requests/sec: 0; Current traffic:   0 B/sec"
     Tasks: 6
    CGroup: /system.slice/httpd.service
            tq13875 /usr/sbin/httpd -DFOREGROUND
            tq13887 /usr/sbin/httpd -DFOREGROUND
            tq13888 /usr/sbin/httpd -DFOREGROUND
            tq13889 /usr/sbin/httpd -DFOREGROUND
            tq13890 /usr/sbin/httpd -DFOREGROUND
            mq13891 /usr/sbin/httpd -DFOREGROUND
 5月 01 10:40:57 server.kazuban.com systemd[1]: Starting The Apache HTTP Server…
  5月 01 10:40:57 server.kazuban.com systemd[1]: Started The Apache HTTP Server.

緑色で 「active (running)」が表示されています。
正常に起動しています

自動起動するように設定

サーバを再起動しても自動的に起動するように設定します
自動起動の設定も、「systemctl」で行います
自動設定は「enable」 、無効設定は、「disable」 、有無確認は「is-enabled」です
まずは、確認してみます

$ systemctl is-enabled httpd
 disabled
  やはり自動設定は無効になってますから、有効にします
$ sudo systemctl enable httpd
 Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
  再度確認
$ sudo systemctl is-enabled httpd
 enabled
  有効になっています

パケットフィルタリングの設定

centOS7は標準でファイアウォールが動作しているので、httpdのポートを許可する必要があります
ファイヤーウォールは「firewall-cmd」コマンドで設定します
「–add-service」で許可するサービスを追加しますが、このオプションだけでは、一時的な設定となるためFirewalldを再起動すると設定は消えてしまうようです。
永続的に設定するには、二通りあるゆです
「–runtime-to-permanent」で一時設定を永続設定に保存する方法と、 「–add-service」 の時に、「- -permanent 」も同時に指定する事もできます
ただし、後者の場合には、「 firewall-cmd –reload 」でリロードする必要があります
それでは、「http」を追加してみます

$ sudo firewall-cmd --add-service=http
 success
 $ sudo firewall-cmd --runtime-to-permanent
 success

   確認してみます

$ sudo firewall-cmd --list-all
public (active)
   target: default
   icmp-block-inversion: no
   interfaces: enp9s0f0 wlp8s0
   sources:
   services: ssh dhcpv6-client http
   ports:
   protocols:
   masquerade: no
   forward-ports:
   source-ports:
   icmp-blocks:
   rich rules:

「http」が追加されています

動作の確認

この状態で、WWWサーバは動作していますから、自宅内の他のPCのウェブブラウザでサーバのIPアドレスを入力すれば、ウェルカムページが表示されます
例えば、アドレスバーに、http://192.168.1.101(サーバアドレス)
ウェルカムページが表示されれば正常に動作しています

外部からのアクセス

外部からのアクセスを確認するには、ゲートウェイ(ルータ)で80番ポートをこのサーバーを指定して開放する必要があります
私の環境では「ポートマッピング」という項目でした
サーバーのアドレスに80番ポートを設定します

外部からアクセスするには、自宅のグローバルIPを知る必要があります
方法はネットで検索するといろいろヒットします。
例えば、自宅内PCから下記にアクセスすると、知ることができます
https://www.cman.jp/network/support/go_access.cgi
自宅のグローバルIPが分かったら、外部のPCのアドレスバーに http://「サーバアドレス」でウェルカムページが表示されるはずです
自宅内から確認したい場合、スマホなどでwifiの設定を無効して、アドレスを指定すれば、同様のウェルカムページが表示されれば外部への公開が確認できます。

確認が済んだら、外部アクセスは不可にする

インストール後の標準の状態では、セキュリティ的には危険が一杯のようです。
確認が済んだら、再度ルータの設定で80番の開放は不可にしておいたほうがいいと思います
https://www.rem-system.com/apache-security01/
公開する前には、こちらを参考に設定変更後にしたいと思います