Webサーバー(Apache2)のインストール

インストール

# apt-get install apache2

設定

言語優先順位設定

mods-enabled/negotiation.conf

# <変更>
# 日本語を優先に変更
# LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv tr zh-CN zh-TW
LanguagePriority ja en ca cs da de el eo es et fr he hr it ko ltz nl nn no pl pt pt-BR ru sv tr zh-CN zh-TW

サーバーの不要な情報を返さない。

conf-enabled/security.conf

# <変更>
# HTTP response ヘッダーに最小限の情報のみ返す。
#ServerTokens Minimal
#ServerTokens OS
#ServerTokens Full
ServerTokens Prod
# <変更>
# シグネチャー情報を出力しない
ServerSignature Off
#ServerSignature On

ディレクトリの中身を表示しないようにする

apache2.conf

<Directory /var/www/>
# <変更>
# ディレクトリの中身を表示しないようにする
#       Options Indexes FollowSymLinks
        Options FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

不要な機能を停止する。

# a2disconf serve-cgi-bin

HTTPS

  1. apache の ssl モジュールとサイトを有効にする。
    # a2enmod ssl
    # a2ensite default-ssl
  2. 下記ファイルを修正する sites-enables/default-ssl.conf
    # <変更>
    # 生成した証明書ファイル、キーファイルを指定する。
    # 以下は、Let's Encrypt にて生成した場合の例
    # ※<ドメイン名>は適宜変更のこと。
    #
    # SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem
    # SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
    SSLCertificateFile      /etc/letsencrypt/live/<ドメイン名>/fullchain.pem
    SSLCertificateKeyFile   /etc/letsencrypt/live/<ドメイン名>/privkey.pem

HTTPS のみを使用する。(http:// アクセスを https:// にリダイレクトする。)

/etc/apache2/sites-enabled/000-default.conf

# 追加
# http:// アクセスを https:// にリダイレクトする
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{HTTPS} off
  #
  # [備考]
  # AWS の ELB を使用している場合は、下記設定で良い。
  # RewriteCond %{HTTP:X-Forwarded-Proto} =http
  RewriteRule .* https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent]
</IfModule>

次のコマンドでリライトを有効にする。

# a2enmod rewrite

設定の反映

Apache2 を再起動する。

service apache2 restart

HTTPS の証明書の作成方法

自己証明証を用いた HTTPS 対応

T.B.D.

Let's Encrypt を用いた HTTPS 対応

ドメインを取得している場合、Let's Encrypt を用いて、 ブラウザ等にて警告等がでない HTTPS 通信が可能です。

  1. インストール
    # apt-get install certbot
  2. ルーターなどの設定を変更し、外部から HTTP, HTTPS にアクセスできる状態にする
  3. Apache を一旦停止する。
    # service apache2 stop
  4. 証明書生成
    # certbox certonly
    いくつか問い合わせがあるので適宜回答する。
    以下、選択例
    > 1. ACME CAの認証方法
    2: Spin up a temporary webserver (standalone) を選択
    > 2. e-mail
    e-mail アドレスを入力
    > 3. 利用規約同意
    A : Agree を選択
    > 4. ドメイン名入力
    ドメイン名を入力
  5. 以下に、サーバー証明書とキーファイルが生成されます。
    certificate file     : /etc/letsencrypt/live/<ドメイン名>/fullchain.pem;
    certificate key file : /etc/letsencrypt/live/<ドメイン名>/privkey.pem;

トップ   一覧 検索 最終更新   ヘルプ   最終更新のRSS