【Linux】Webサーバ(Apache)インストール構築手順

LinuxサーバでWebサーバーを構築したのでインストールまでの手順をまとめます。
今回の対象OSは「CentOS8.5」となります。

「Linux」Webサーバ(Apache)インストールとHTTP起動までの手順

事前に「yum」コマンドでyumリポジトリから「httpd」のパッケージが提供されているか確認します。

$ yum info httpd
メタデータの期限切れの最終確認: 2:15:30 時間前の 2022年04月24日 09時13分22秒 に実施しました。
インストール済みパッケージ
名前         : httpd
バージョン   : 2.4.37
リリース     : 43.module_el8.5.0+1022+b541f3b1
Arch         : x86_64
サイズ       : 4.3 M
ソース       : httpd-2.4.37-43.module_el8.5.0+1022+b541f3b1.src.rpm
リポジトリー : @System
repo から    : appstream
概要         : Apache HTTP Server
URL          : https://httpd.apache.org/
ライセンス   : ASL 2.0
説明         : The Apache HTTP Server is a powerful, efficient, and extensible
             : web server.

上記でApace「2.4.37.el8.5.0」のバージョンが提供されていることが確認できます。

「Apache」をインストール

「Apache httpd 2.4」を以下コマンドでインストールします。

$ sudo yum -y install httpd

バージョン確認

インストールが正常に完了すると、以下コマンドでバージョン確認を実施します。

$ sudo httpd -version
Server version: Apache/2.4.37 (centos)
Server built:   Nov 12 2021 04:57:27

インストールされたApacheのバージョンが「Apache/2.4.37 (centos)」であることが確認できます。

Apache「HTTP」サービス起動

Apacheをインストールしただけだと、Webサーバは起動しません。
「httpd」サービスを起動してWebサーバが立ち上がります。

インストール直前の「httpd」サービスのステータスは以下となります。

$ sudo systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: man:httpd.service(8)

ステータスは「inactive (dead)」となり、起動していないことが確認できます。

サービスを実行するために以下コマンドを実行してWebサーバーを起動します。

「httpd」通常起動

「httpd」サービスを起動するには以下のコマンドを実行します。

$ sudo systemctl start httpd

「httpd」自動起動

上記コマンドでは「httpd」サービスは起動しますが、停止後の起動や再起動後はサービスは止まってしまいます。
そのため、停止後や再起動後でもhttpdサービスを自動起動させるために「enable」オプションを使用します。

$ sudo systemctl enable httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.

「httpd」サービスのステータス確認

上記サービス起動後、以下のようにステータスが正常起動していることを確認します。

$ sudo systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2022-04-24 11:57:10 JST; 48s ago
     Docs: man:httpd.service(8)
 Main PID: 521037 (httpd)
   Status: "Running, listening on: port 80"
    Tasks: 213 (limit: 2778)
   Memory: 22.4M
   CGroup: /system.slice/httpd.service
           ├─521037 /usr/sbin/httpd -DFOREGROUND
           ├─521038 /usr/sbin/httpd -DFOREGROUND
           ├─521039 /usr/sbin/httpd -DFOREGROUND
           ├─521040 /usr/sbin/httpd -DFOREGROUND
           └─521041 /usr/sbin/httpd -DFOREGROUND

 4月 24 11:57:09 118-27-15-211 systemd[1]: Starting The Apache HTTP Server...
 4月 24 11:57:10 118-27-15-211 httpd[521037]: AH00558: httpd: Could not reliably determine the server's fully qualified domai>
 4月 24 11:57:10 118-27-15-211 systemd[1]: Started The Apache HTTP Server.
 4月 24 11:57:10 118-27-15-211 httpd[521037]: Server configured, listening on: port 80

サービスのステータスが「active (running)」となり正常に起動されていることが確認できます。

「ファイアウォール」通信許可設定

サーバーでhttpdサービスを起動するだけでは実際にブラウザでアクセスできない場合があります。
その際は、OSの「ファイアウォール」で通信許可を実施します。

Linux(CentOS)では「firewall-cmd」コマンドで通信許可設定を実施します。

以下コマンドでファイアウォールの状態を見ると「http(80)」のサービスが許可されていません。

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

http(80)の通信許可をするために以下コマンドで「http」サービスの通信を有効化します。

$ firewall-cmd --add-service=http --zone=public --permanent
$ firewall-cmd --reload

上記コマンドを実行し、ファイアウォールで「http(80)」の通信が許可されていることが確認できます。

$ firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources: 
  services: cockpit dhcpv6-client http ssh
  ports: 80/tcp
  protocols: 
  forward: no
  masquerade: yes
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

Webサーバへアクセス「http(80)」

上記設定確認後、実際にブラウザを起動しWebサーバへアクセスします。
ブラウザはChrome、FirefoxなんでもOKですが、最近は通常のhttpへのアクセスはエラーとなる場合が多いので、本サイトでは「Chrome」でのアクセスを推奨します。

対象のURLへアクセスします。
自身のPCやサーバーで、Apacheインストール、サービスを起動した場合は以下のURLでアクセスします。

http://localhost
or
http://< IP address >

またリモート先からアクセスする場合は、通信ができるアドレスに対してアクセスします。

http://< IP address >

上記の画面のように正常にアクセスし、テストページが表示されると正常に接続できたことが確認できます。

LinuxサーバでのApacheインストール、起動手順は以上となります。




エンジニアのオンライン学習

ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。

おすすめオンライン教材
自宅で学習ができるオンラインスクール

ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。



コメントを残す

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

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUT US
げんき☆ひろき
インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!