httpd

CentOS8にhttpdを構築する手順 まとめ

事前準備

リポジトリの最新化

まずはリポジトリを更新しておきます。
必要に応じてインストールも行います。

次に、httpdをdnfで探してみます。
なお、--showduplicateを引数に指定することで、
dnf searchする対象のソフトウェアバージョンも表示してくれます。

httpdをインストール

バージョンが確認できたらインストールしてゆきます。

以上。

httpd-2.4.37のファイル構成

httpdで編集をよく行うファイルは以下の通りです。

/etc/httpd/conf/httpd.conf

また、httpd.confと別に/etc/httpd/conf.d/へ
ssl.confを配置する人もいますね。
これは、SSL通信の設定を分けるために用意する場合が多いようです。

設定

/etc/httpd/conf/httpd.confの設定

必要最低限の設定は下記の通りです。

基本的にデフォルトの設定で起動すれば問題ないです。
実際にドメインを取得している場合や、外部に公開する場合は
その他の設定が必要になります。

ファイアウォールの設定

Linux系のサーバでhttpdを立ち上げるには、
標準で有効になっているファイアウォールを穴あけしておく必要があります。
正確には、サーバに対する通信を全て遮断しているため、
80/tcpのポートのみ許可する設定を入れることになります。
※もちろんHTTPSを動作させたいのであれば、443/tcpも開放する必要があります。
80/tcpを開けるコマンドはこちらです。

一つ目のコマンドでhttpサービスを開放するよう指定します。
--permanentは恒久的に、という意味があります。
ゾーンpublicの場所にhttpサービスを許可するよう依頼してくれ、永遠に。
とでも訳しましょうか。
個人的には、上記の覚え方が好きだったりします。
二つ目のコマンドでファイアウォールのルールを再読み込みしています。
三つ目のコマンドでは、現在どのポートが空いているのか?を確認できます。
一つ目で追加したhttpサービスが反映されてますね。

SELinuxの設定

Linuxでサーバを構築する際のhow toを書いた記事では、
ほとんどがSELinuxを無効にする、と書かれていますが、
実際のところこれはあまり推奨されません。
完全に無効化してしまうと
サーバへ侵入されてしまった場合に、
重要な情報へアクセスされたり
別のサービスを乗っ取られたり
といったことが起きてしまう可能性があります。
適切な設定で有効にしておけば、
被害を最小限に食い止めることも可能だということです。
かといって、今すぐに設定を行うのは
サービス停止に繋がる恐れがあるためここでは検知モードにしておきます。

permissiveという値に変更することで、
遮断はしないがログには書き出すということが可能になります。

セキュリティ向上のための設定

知っているかもしれないですが、apache httpdというのは初期設定のままだと
セキュリティ的にあまりよろしくない状態です。
バージョン情報がバレてしまうだけで、
攻撃者はチャンスと思うかもしれません。
そんな攻撃の機会を与えないように、
別の記事で紹介する方法で対策しておきましょう。

-httpd
-, ,

© 2022 サーバ構築.net Powered by AFFINGER5