Webサーバ(Apache httpd)の構築

Webサーバとして、Apache HTTP Serverをインストールする。

インストール

dnf install httpd

設定

設定ファイルを編集する。

vi /etc/httpd/conf/httpd.conf

# 管理者メールアドレス
ServerAdmin [メールアドレス]

# サーバ名とポート(通常はポート=80)
ServerName [ドメイン名]:[ポート] 

#アクセスされた時に表示するコンテンツを置いてあるディレクトリを指定する
DocumentRoot "/var/www/html"

# DocumentRootのコンテンツへアクセスされた時の設定
<Directory "/var/www/html">
    # セキュリティ上、SSIを許可するが、SSIから外部 cgi を呼び出すのを禁止する。
    # ディレクトリの中のファイル一覧が表示される機能を無効にするため、Indexesを入れない。
    Options MultiViews SymLinksIfOwnerMatch IncludesNoExec
    # .htaccess で設定可能なものは全て有効にする
    AllowOverride All
    # アクセスを許可する
    Require all granted
</Directory>

<IfModule dir_module>
    # ファイル名が指定されず、ディレクトリ名のみで指定された時、どのファイル名のものを返すかを指定する。
    DirectoryIndex index.html index.htm
</IfModule>

vi /etc/httpd/conf.d/security.conf

# バージョン情報の隠蔽
ServerTokens ProductOnly
Header unset "X-Powered-By"

# サーバ署名なし
ServerSignature Off

# httpoxy 対策
RequestHeader unset Proxy

# クリックジャッキング対策
Header append X-Frame-Options SAMEORIGIN

# XSS対策
Header set X-XSS-Protection "1; mode=block"
Header set X-Content-Type-Options nosniff

# XST対策
TraceEnable Off

Welcomeページを非表示にするため、welcome.confを空にする。

cat /dev/null > /etc/httpd/conf.d/welcome.conf

ディレクトリ一覧を表示させないようにするため、autoindex.confを空にする。

cat /dev/null > /etc/httpd/conf.d/autoindex.conf

ポート開放

ポート開放の設定を行う

firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --reload

サービスの起動、自動起動設定

サービスを起動する。

systemctl start httpd

サービスの自動起動を設定する。

systemctl enable httpd
%d人のブロガーが「いいね」をつけました。