Apacheのインストール後の設定

2021年3月18日

Apacheインストール後に基本的な設定を行います。

httpdの変更前の確認

httpd(apache)インストール後の確認を行います。

httpdのバージョン確認

まずはバージョンの確認です。次のコマンドを入力してhttpdのバージョンを確認します。

httpd -v

次のように表示されました。

Server version: Apache/2.4.41 (IUS)
Server built:   Aug 25 2019 19:41:04

これが現在のapacheのバージョンです。

httpdの状態確認

httpdの現在の状態を次のコマンドで確認してみます。

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)

httpdはまだ起動していないのでActiveの状態がinactive(dead)となっているのが確認出来ます。

httpdの設定

それではhttpdの設定を行いましょう。

httpdの起動

まずはhttpdを次のコマンドで起動します。

systemctl start httpd

httpdの自動起動の設定

自動起動が設定されているか確認します。

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 Mon 2020-03-30 08:08:56 UTC; 12s ago

Loadedの項目にdisabled(/usr/lib/systemd/system/httpd.service; disabled;)という文字が確認できます。自動起動の設定はまだされていないことが確認出来ます。

それでは自動起動の設定を行います。コマンドは次の通りです。

systemctl enable httpd
コマンド解説

systemctl enable サービス名

自動起動(電源投入時にサービスも起動)の設定を行います。

設定解除は次の通りです。

systemctl disable サービス名

もう一度自動起動の設定の確認を行います。

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 Mon 2020-03-30 08:08:56 UTC; 2min 40s ago

Loadedの項目にenabledの文字が確認できます。自動起動の設定がされました。

httpd.confの設定

httpd.confの設定を行います。その前にファイルのバックアップを取得します。
(場所は/etc/httpd/conf/httpd.confです)

cp -p httpd.conf httpd.conf.bk
コマンド解説

cp -p コピー元 コピー先

ファイルのコビーを行います。

-pパーミッションと所有者とタイムスタンプを保持する(–preserve=mode,ownership,timestampsに相当)

それではhttpd.confの編集を行います。ファイルを開いてみましょう。

vi /etc/httpd/conf/httpd.conf

ユーザとグループの変更

ユーザとグループを変更します。

# User、Groupをwww
User www
Group www

DocumentRootの変更

DocumentRootとDirectoryディレクティブもそれに合わせて変更します。

# DocumentRootを変更
DocumentRoot "/home/www/html"

# 変更したDocumentRootに合わせてDirectoryも変更
<Directory "/home/www">

<Directory "/home/www/html">
    # <Directory "/home/www/html">配下のOptionsのIndexesを削除
    # Indexesはブラウザに対象ディレクトリのファイル一覧を表示します。
    Options FollowSymLinks

cgiの無効化

cgiは使わないのでコメントアウトします。

#ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

#<Directory "/var/www/cgi-bin">
#    AllowOverride None
#    Options None
#    Require all granted
#</Directory>

ドメイン名の変更

ドメインはまだ持っていませんが、httpd.confの文法確認のたびに警告が出るので、変えておきます。とりあえずwww.abc.comとでもしておきます。

ServerName www.abc.com:80

httpdの変更後の確認

それではまずhttpd.confの文法確認を行います。

httpd -t

エラーが出てしまいました。

AH00526: Syntax error on line 119 of /etc/httpd/conf/httpd.conf:
DocumentRoot '/home/www/html' is not a directory, or is not readable

DocumentRootを変更した為、/home/www/htmlが存在しません。htmlディレクトリを作成します。

mkdir /home/www/html

作成したディレクトリのオーナーとグループをwwwに修正します。

chown www:www /home/www/html

ここでもう一度httpd.confの文法確認を行います。

httpd -t
Syntax OK

Syntax OKが出ました。無事設定は完了です。

httpdサーバーの再起動

それではhttpdサーバーを再起動します。

systemctl restart httpd

再起動できたらブラウザーで確認します。確認用のファイルを作成しましょう。

vi /home/www/html/test.html

中身は何でも構いません。"test"とでも入力しときます。

それではブラウザを開いてみましょう。設定したIPアドレスを入力してください。

【例】192.168.33.10/test.html

中身が表示されればOKです。

もし「403 Forbidden」が表示されたなら、それはSELinuxが原因です。落としてあげましょう。

次のコマンドでSELinuxが停止できます。

setenforce 0

これでOKです。

それではもう一度ブラウザで確認してみてください。きっと開くはずです。

Apache

Posted by Bright_Noah