どのような役割のWebサーバでも共通するApacheの設定を説明します。
前提条件
- 作業は、root権限を持つユーザで実施します。
- RHEL 7 / RHEL 8 / CentOS 7 /CentOS 8で手順は共通です。
- OSおよびApacheは、以下のバージョンで検証しています。
# cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core)
# uname -r
4.18.0-80.el8.x86_64
# httpd -v
Server version: Apache/2.4.37 (centos)
Server built: Oct 7 2019 21:42:02
設定ファイルのバックアップ
以下のコマンドを実行し、初期設定ファイルをバックアップします。
# cp /etc/httpd/conf/httpd.conf{,.`date +"%Y%m%d"`}
設定手順
viなどのテキストエディタで、Apacheの設定ファイルを開きます。
# vi /etc/httpd/conf/httpd.conf
ホスト名とポート番号
以下の箇所を変更して、Webサーバのホスト名とポート番号を指定します。
<FQDN>
の箇所は、任意のFQDNを入力します。
※FQDNは、ホスト名とドメイン名を合わせた形式で入力します。(例: web01.densan-hoshigumi.com)
<PORT>
の箇所は、ポート番号を入力します。通常のWebサーバでは、80番ポートを使用します。
#ServerName www.example.com:80
↓
ServerName <FQND>:<PORT>
ServerName
の値は、リダイレクトURLに使われます。指定するFQDNは、OSのホスト名と異なる値が設定できます。
リッスンポート番号
以下の箇所を変更して、HTTP通信をリッスンするポート番号を指定します。特別な要件がなければ、デフォルトの設定のままで構いません。
NICが複数あるサーバで、特定のNICでのみHTTP通信をリッスンする場合は、<IP Address>
の箇所に自ホストのIPアドレスを入力します。
Listen 80
または
Listen <IP Address>:80
ドキュメントルート
ドキュメントルートは、URLのパス部分の大元となるディレクトリの場所を指定します。
<例: http://web01.densan-hoshigumi.com/directory1/page1.html>
→ /directory1/page1.html
の部分がパス。ドキュメントルートのディレクトリから見て、直下のdirectory1
ディレクトリの中にあるpage1.html
ファイルを示す。
ドキュメントルートは、デフォルト設定("/var/www/html"
)のままで問題ありません。Webサーバで動作させるソフトウェアの要件で変更が必要な場合は、以下の箇所を変更します。
DocumentRoot "/var/www/html"
設定内容の確認
以下のコマンドを実行し、事前にバックアップを取得しておいた初期設定ファイルと、現行の設定ファイルの差分を比較します。各行>
に続けて設定した内容が差分として表示されていることを確認します。
# diff /etc/httpd/conf/httpd.conf{.`date +"%Y%m%d"`,}
98c98
< #ServerName www.example.com:80
---
> ServerName web01.densan-hoshigumi.com:80
以下のコマンドを実行し、設定ファイルの文法に問題がないか確認します。
文法が正しければ、Syntax OK
が表示されます。
# apachectl configtest
Syntax OK
設定の反映
以下のコマンドを実行し、httpdサービスを再起動して設定を反映します。
# systemctl restart httpd.service
以下のコマンドを実行し、httpdサービスが起動状態であることを確認します。
Active:の列にactive (running)が表示されていれば、サービスは起動中です。
# systemctl status --no-pager httpd.service
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2019-11-26 13:35:13 JST; 20s ago
(略)
以上で、Apacheの基本設定は完了です。