目次
前提
- CERT(SSL証明書)、中間証明書、秘密鍵を作成済み
- サーバーにログインするためのSSHキーを所有している
- 細かいバージョン情報は以下に記載
# cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.1 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.1 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
# apachectl -v
Server version: Apache/2.4.41 (Ubuntu)
Server built: 2020-08-12T19:46:17
# php -r "phpinfo();" | grep "PHP Version"
PHP Version => 7.4.3
CERT(SSL証明書)、中間証明書、秘密鍵をサーバーに配置する
配置できたら、FTPでもなんでもいい。
以下ではSCPコマンドでローカルからサーバーにキーを配置する
## CERT(SSL証明書)
$ scp -i ~/.ssh/<ssh key> <CERT(SSL証明書)パス> root@<サーバードメイン>:/etc/ssl/certificate.crt
## CERT(SSL証明書)パス
$ scp -i ~/.ssh/<ssh key> <CERT(SSL証明書)パス> root@<サーバードメイン>:/etc/ssl/cabundle.crt
## 秘密鍵
$ scp -i ~/.ssh/<ssh key> <秘密鍵パス> root@<サーバー名>:/etc/ssl/private/privatekey.pem
ディレクトリが存在しない場合があるので、mkdir
でディレクトリを作る必要があるかもしれない。
Apacheの設定ファイルで証明書を設定する
apache2のconfファイルに443の場合に、SSL/TLS化するようにする。
# cat /etc/apache2/apache2.conf
# It is split into several files forming the configuration hierarchy outlined
# below, all located in the /etc/apache2/ directory:
#
# /etc/apache2/
# |-- apache2.conf
# | `-- ports.conf
# |-- mods-enabled
# | |-- *.load
# | `-- *.conf
# |-- conf-enabled
# | `-- *.conf
# `-- sites-enabled
# `-- *.conf
こんな感じのファイル構成になっていたのでsite-enabled/*.confを修正する。
$ vi /etc/apache2/sites-enabled/000-default.conf
## 以下を追加
<VirtualHost *:443>
ServerAdmin webmaster@localhost
ServerName help.yuicomilist.com
ServerAlias www.help.yuicomilist.com
DocumentRoot /var/www/html
<Directory /var/www/html/>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
SSLEngine on
SSLCertificateFile /etc/ssl/certificate.crt
SSLCertificateChainFile /etc/ssl/cabundle.crt
SSLCertificateKeyFile /etc/ssl/private/privatekey.pem
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Apacheを再起動する
# sudo service apache2 restart
とりあえず、ここまででhttpsのSSL/TLS化は完了。
ワードプレスのReally Simple SSLを追加して、有効化する
Port80に来た時リダイレクトを自動でやってくれるので、このプラグインを入れる(.htaccessの修正面倒かっただけ。。)