質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

1580閲覧

Apacheのエラーにより、SSL化ができない

ikeda

総合スコア2

terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2021/07/11 04:30

編集2021/07/11 07:36

質問失礼いたします。

現在、awsのEC2サーバー上にwordpressを構築している状態で、元々HTTP接続でした。

HTTPS接続にするべく、以下の手順で行いました。

1。インスタンスに接続し、Apache が実行されていることを確認します。
$ sudo systemctl is-enabled httpd

2.すべてのソフトウェアパッケージが最新の状態であることを確認するため、インスタンスでソフトウェアの更新を実行します。この処理には数分かかりますが、最新の更新とバグ修正を確実に適用することが重要です。

$ sudo yum update -y

3.これでインスタンスが最新状態になったため、Apache モジュール mod_ssl をインストールして TLS サポートを追加します。

$ sudo yum install -y mod_ssl

4.テスト用に自己署名のダミー証明書とキーを生成するためのスクリプトを実行します。

$ cd /etc/pki/tls/certs
sudo ./make-dummy-cert localhost.crt

5./etc/httpd/conf.d/ssl.conf ファイルを開き、次の行をコメントアウトします。ダミーの自己署名証明書にも同じキーが含まれているためです。次のステップに進む前にこの行をコメントアウトしないと、Apache サービスは起動に失敗します。

ここでの、「/etc/httpd/conf.d/ssl.conf」ファイルが開かず、「 Permission denied」と返答が来ます。

そして、apacheも「(code=exited, status=1/FAILURE)」ということで起動していないようです。

その後、
ターミナルを使用したSSL化
https://qiita.com/nakanishi03/items/3a514026acc7abe25977#route53

AWSとconfig.phpを利用したSSL化
https://qiita.com/zakinicof/items/118c0e6dee648a7faa93#%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%E3%81%AE%E8%A8%AD%E5%AE%9A

この二つの方法を利用して挑戦しましたが、Apache自体が起動していないため、httpsの確認もできない状態です。

なお、https://qiita.com/zakinicof/items/118c0e6dee648a7faa93#%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%E3%81%AE%E8%A8%AD%E5%AE%9A
での方法で、下記の手順を行おうとすると、MySQLにログインはできるのですが、USEコマンドが使えないという事象もありました。

①ターミナルを開き、SSH接続でEC2にログインする。
②mysql -h RDSのエンドポイント名 -u ユーザー名 -pでMySQLにログイン
③USE データベース名
④SELECT * FROM wp_options WHERE option_name IN ('siteurl', 'home');コマンドを実行すると、ELBのDNS名になっていることが確認できます。これを、https://[独自ドメイン名]に変更します。
⑤UPDATE wp_options SET option_value = 'https://[独自ドメイン名]' WHERE option_name IN ('siteurl', 'home'); を実行
再度、SELECT * FROM wp_options WHERE option_name IN ('siteurl', 'home');コマンドを実行し、URLが更新されていることを確認
ブログにhttps://[独自ドメイン名]でアクセスし、正常にブログが表示されていることを確認する。

なお、現状、**HTTPS://**だと **503 Service Temporarily Unavailableとなり、鍵マークがつくようになりました。 ただ見ての通り、アクセスできません。** ![アクセスできませんが、鍵マークはついています。](58a8cad0179f5dde78313840c022a6c1.png) **HTTP**だと **502** の状態です。 なお、ターミナルで **apachectl configtest** のコマンドで確認したところ、

Syntax error on line 107 of /etc/httpd/conf.d/ssl.conf:
SSLCertificateKeyFile: file '/etc/pki/tls/private/localhost.key' does not exist or is empty

と107行目にエラーがあることがわかりました。 和訳すると

/etc/httpd/conf.d/ssl.confの107行目の構文エラー:
SSLCertificateKeyFile:ファイル '/etc/pki/tls/private/localhost.key'が存在しないか、空です

ということでした。 実際、 テスト用に自己署名のダミー証明書とキーを生成するためのスクリプトを実行してから

cd /etc/pki/tls/certs
sudo ./make-dummy-cert localhost.crt

コメントアウトをするのがうまくいかない事象があり、飛ばしてしまいました。 ちなみに ```ここに言語を入力 $open /etc/httpd/conf.d/ssl.conf

で開くことができないため、コメントアウトができません。
ここからの解決方法を
、恐れ入りますがご教示いただきたく存じます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

openコマンドはMac固有のコマンドなので使えません。
また、Apacheの設定ファイルは例えばAmazon Linux2だとrootユーザでないと編集できないような状態になっているので、sudoを使うなどして管理者権限で開く必要があります。
下記はvimを使った例です。

bash

1sudo vim /etc/httpd/conf.d/ssl.conf

vimの使い方はここでは説明しきれないので割愛します。
また、環境によってはデフォルトでvimがインストールされていないこともありますが、便利なのでぜひインストールするといいでしょう。
vim
色々書いてありますが、とりあえず使えればいいなら移動はカーソルキーでもいいですし、インサートモードにする方法と抜ける方法、ファイル保存の方法くらい覚えておけばまずはOKです。
もちろん、使いこなすにはきちんとキーの役割を覚える必要がありますが。

途中の過程を飛ばしたら出来ないのは当然なので、ちゃんと手順通りにやりきってからApache起動してください。
configtestでエラーがある状態ではApacheの起動には必ず同じエラーで失敗します。

投稿2021/07/11 14:18

yu_1985

総合スコア7586

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ikeda

2021/07/14 14:00

ご丁寧にご教示いただき、本当にありがとうございます!解決いたしました。 vim学習します!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問