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

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

新規登録して質問してみよう
ただいま回答率
85.48%
MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

WordPress

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

MAMP

Mac 上で WordPress などの動的ページのサイトが作れるように環境を構築するフリーソフト

Q&A

解決済

1回答

4282閲覧

WordPressのローカル環境(MAMP)のSSL対応化とlocalhostでのファイルの参照先を知りたい。

othellon

総合スコア9

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

WordPress

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

MAMP

Mac 上で WordPress などの動的ページのサイトが作れるように環境を構築するフリーソフト

0グッド

0クリップ

投稿2019/07/25 03:53

編集2019/07/26 11:59

前提・実現したいこと

最終的にはMACのMAMPで作ったローカル環境をXサーバー上の
WordPress本番環境に移行し、適宜、作成した記事などをローカル環境で
テストしつつサイトを運営していきたいと考えています。

MAMPのSSL対応化については参考サイトを見てhttpsに対応したMAMPのサイトhttps://localhost/MAMP/?language=Japaneseに飛べるのでできているのではないかと思います。

しかし、バーチャルホストで設定したhttps://localhost:●●●(※●=httpd-vhosts.confで宣言したポート番号)で接続すると見れません。単なるlocalhost:●●●で入力した場合はインストールしたWordPressのローカルサイトがブラウザ上で表示はされますが。

<質問>
①MAMPのSSL対応化というのはlocalhost:●●●の頭にhttps://が付いてローカル環境でWordPressの記事の編集等を行う際にもSSLに対応している状態での動作テストが可能という意味ではないのでしょうか?

②ローカル環境のWordPressで管理画面から確認する「WordPressアドレス」と「サイトアドレス」がともに現在http://〜となっていますが、これをlocalhost/phpmyadminからhttps://〜に変更すれば、SSlで表示できるという認識で合っていますでしょうか?

③そもそも、ブラウザにlocalhostとだけ入力した際に読み込みに行くディレクトリはどこなのでしょうか?先ほどあげたlocalhost:●●●(ポート番号)であれば/Applications/MAMP/htdocs/の直下を読みに行っているので動作テスト用のindex.phpなどを置いても表示はされます。ポート番号を指定しないlocalhostが読みにいくディレクトリを調べる方法をお教えいただければありがたいです。


<追記>

■(1)httpd-vhosts.confでの追記内容

NameVirtualHost *:80 ~中略~ #site01用(ポート49152を使用) Listen 49152 <VirtualHost *:49152> DocumentRoot "//Applications/MAMP/htdocs/テストフォルダ01" ←コピペミス <Directory "/Applications/MAMP/htdocs/テストフォルダ01"> AllowOverride All </Directory> ErrorLog "logs/site1-error_log" CustomLog "logs/site1-access_log" common </VirtualHost>

■(2)httpd-ssl.conf(SSL化に設定した箇所)
※これは不要だとは思いましたが確かにSSLではデフォルトはポート443のようでした。

<VirtualHost _default_:443> # General setup for the virtual host DocumentRoot "/Applications/MAMP/htdocs/テストフォルダ01" ServerName localhost ServerAdmin you@example.com ErrorLog "/Applications/MAMP/Library/logs/error_log" TransferLog "/Applications/MAMP/Library/logs/access_log" # SSL Engine Switch: # Enable/Disable SSL for this virtual host. SSLEngine on # SSL Cipher Suite: # List the ciphers that the client is permitted to negotiate. # See the mod_ssl documentation for a complete list. # Uncomment the next line if Apache should not accept SSLv3 connections, to learn more google for "POODLE SSLv3". # SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:-SSLv3:+EXP:+eNULL # Comment the next line (and uncomment the line above) if Apache should not accept SSLv3 connections, to learn more google for "POODLE SSLv3". SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL # Server Certificate: # Point SSLCertificateFile at a PEM encoded certificate. If # the certificate is encrypted, then you will be prompted for a # pass phrase. Note that a kill -HUP will prompt again. Keep # in mind that if you have both an RSA and a DSA certificate you # can configure both in parallel (to also allow the use of DSA # ciphers, etc.) SSLCertificateFile "/Applications//MAMP/conf/apache/keys/server.crt" #SSLCertificateFile "/Applications/MAMP/conf/apache/server-dsa.crt" # Server Private Key: # If the key is not combined with the certificate, use this # directive to point at the key file. Keep in mind that if # you've both a RSA and a DSA private key you can configure # both in parallel (to also allow the use of DSA ciphers, etc.) SSLCertificateKeyFile "/Applications/MAMP/conf/apache/keys/server.key" #SSLCertificateKeyFile "/Applications/MAMP/conf/apache/server-dsa.key" # Server Certificate Chain: # Point SSLCertificateChainFile at a file containing the # concatenation of PEM encoded CA certificates which form the # certificate chain for the server certificate. Alternatively # the referenced file can be the same as SSLCertificateFile # when the CA certificates are directly appended to the server # certificate for convinience. #SSLCertificateChainFile "/Applications/MAMP/conf/apache/server-ca.crt"

補足情報(FW/ツールのバージョンなど)

macOS High Sierra(ver10.13.1)
MAMP ver5.3
→ポート番号設定 Apache:80、MySQL:3306
Php(Apache)ver7.3.1
MySQL ver5.7.25

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

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

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

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

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

mepon

2019/07/26 05:26

>※●=httpd-vhosts.confで宣言したポート番号 このファイルの設定を変えてる意図はなんでしょう? 補足情報に >→ポート番号設定 Apache:80 とありますが、 localhost:●●●の●●は80ではないんですか?
othellon

2019/07/26 05:57

>meponさん 初心者のため認識違いをしていれば申し訳ありません。 はい、本文記載の参考サイトでApacheのポート番号は80にするようにとありましたので80にしています。最終的な目的が複数サイトの並列的な運営なのでhttpd-vhosts.confを弄り、バーチャルホストに複数設定できるよう現在Listenで宣言しているのは49152以降の数字です。本文の●●●にはそれが入っています。デフォルトのポート80に関しては自身でListenで宣言し、追記してはいないはずです。 具体的には、現在ブラウザでlocalhost:49152と入力すると、/Applications/MAMP/htdocs/test01に格納されているWordPressの内容が表示されています。しかし、それがhttps://localhost:49152と入力するとアクセスができません。また、49152のポート番号を省略して単にlocalhostと入力した場合にも【Not Found The requested URL / was not found on this server.】が表示されます。 上記の症状が質問の②と③をした理由です。 素人考えで、②はlocalhost/phpmyadminからデータベースを弄って、siteurl等をhttps://localhost:49152に変更すれば表示されるのかと思いましたが、ログインが一切できなくなるとの記事も目にし予め質問を差し上げました。 また、③については、ポート番号80は省略されるとどこかで読んだので、localhostとブラウザに入力すればそれはlocalhost:80のことで、 /Library/WebServer/Documents/index.html.en に格納されているファイルの内容を【It works!!!】などに変更してみれば表示されると思っていましたがそうではなかったので、localhostと入力した際に読み込みに行くファイルのディレクトリを調べる方法、または、何か設定で足りていないところがあるのかご指摘をいただけらと思い、こちらも質問を差し上げました。 背景知識が不足しており申し訳ありません。このような補足で少しは伝わりましたでしょうか?
mepon

2019/07/26 06:50

macはそういえば元から入っているapacheのためにMAMPのデフォルトポートが8888でしたね。 >最終的な目的が複数サイトの並列的な運営なのでhttpd-vhosts.confを弄り 上記であれば問題ありませんし納得しました。 >それがhttps://localhost:49152と入力するとアクセスができません。 ①httpとhttpsで同一ポートは理論上可能ではあるが現実的ではないなのでポートを変える必要があります。 ②ポート番号無しでMAMPのスタートページにアクセスできるのであればhttpsのデフォルトポート443のままになっている可能性があります。 ルート等はぼかしていただいて結構なので質問本文にhttpd-ssl.confに追加したであろう記述を追記していただけませんか?
othellon

2019/07/26 08:03

一応、ご指摘のhttpd-ssl.conf設定ファイルに関する部分は以上になります。ややこしい質問をしてしまって申し訳ありません。凄く心強いです。追加で確認が必要な箇所があれば仰っていただけるとありがたいです。
mepon

2019/07/26 08:47 編集

追記拝見しました。 ssl.confとvhosts.confのDocumentRootに差異があるように見えます。(コピペミスでしょうか?) 追記の設定であるならば本来はhttps://localhostのみでアクセスできると思います。 アクセスできればSSLに関してはデフォルトポートの443で待っていることになります。 上にも書きましたがhttpとhttpsではポートは別の番号にしなくてはならないのはマストです。 同一にする方法はないこともないですが、今はそういうものであると覚えていただければ。 httd-ssl.conf内のListen 443と <VirtualHost _default_:443>の443を任意のポートにしてhttps://localhost:任意ポート としてみてもつながると思います。 適当なファイルを配置してアクセス出来ることを確認できたら、ご質問②の管理画面からURLの書き換えを行うのがよいかと。
othellon

2019/07/26 10:46 編集

(1) > ssl.confとvhosts.confのDocumentRootに差異があるように見えます  →失礼いたしました。vhosts.conf側の/が一つ多いのはコピペミスです。 (2) > 追記の設定であるならば本来はhttps://localhostのみでアクセスできると思います。  →やはりhttps://localhostのみではアクセスができませんでした。表示されず、https://localhost:49152にその後リダイレクトされます。キャッシュ等の削除、Safari・Chromeでの試行、MAMP再起動、ファイヤーウォールのOn/Off等を試してみましたが効果はありませんでした。そもそもなのですが、SSL化していないhttp://localhostの時点でもアクセスができないので、この辺に何か心当たりはありますでしょうか? (3) > httd-ssl.conf内のListen 443と<VirtualHost _default_:443>の443を任意のポートにしてhttps://localhost:任意ポートとしてみてもつながると思います。  →できました!ありがとうございます! 私がやった手順を次の返信にまとめ直します。
othellon

2019/07/26 10:37

(3) > httd-ssl.conf内のListen 443と<VirtualHost _default_:443>の443を任意のポートにしてhttps://localhost:任意ポートとしてみてもつながると思います。 →これを大いに勘違いしていました! /Applications/MAMP/htdocs/テストフォルダ01内のWordPressファイルを一時避難させて、test用のindex.phpファイルを置きました。そしてご指摘の通りhttpd-ssl.confの上記2箇所を444に変更し、Apache再起動。https://localhost:444でアクセスしたところtest用ファイルが無事に表示されました。 これでおそらくWordPress関連のファイルを格納してもポート番号444でアクセスは出来るはずなのでほとんど解決はしているのですが、最後にもしお分かりでしたら気がかりな点を1つだけ質問させてください。 上の返信でも質問をしていますが、ポート番号を指定しないhttp://localhostやhttps://localhostでアクセスした場合はデフォルトのポート番号が80や443だから省略されているのだとは思いますが、私の環境でSSL対応の場合も非対応の場合もListenで任意のポート番号を宣言しない単なるlocalhostの場合だと全くアクセスができない理由はどの辺にあるのでしょうか?もし心当たりがおありでしたら最後に知恵をお貸しください。 これはお時間の許す場合で結構ですので、、
mepon

2019/07/26 11:05

ちょうどSSL化とwordpressを分けて考えてみましょう。とコメントするところでした 一旦SSL化はできたとのことで良かったです。 恐らくwordpress系がつながらないのは、wordpress側の設定ですね。恐らく質問②の項目で まだURLをhttpsに変えていないためだと思います。 ご質問の件ですが >/Applications/MAMP/htdocs/テストフォルダ01内のWordPressファイルを一時避難させて、test用のindex.phpファイルを置きました。そしてご指摘の通りhttpd-ssl.confの上記2箇所を444に変更し、Apache再起動。https://localhost:444でアクセスしたところtest用ファイルが無事に表示されました。 ↑これをポートだけ戻してhttps://localhostにアクセスすると表示されませんか? 恐らく443の時は上にも書いてるwordpressの影響で繋がらなかっただけなんじゃないかなと。 httpの場合は、MAMPのデフォルトポート8888みたいなので もしかしたら本来あるはずのポート80用の設定が記載されてない可能性が高いです。 xamppは元々ポート80用に作られてるのでデフォルトで80の記載があるんですけどね。 (Macユーザじゃないのでちょっと分からないです)
othellon

2019/07/26 11:57 編集

不思議です、、、今度またキャッシュを削除してポート番号のみ444→443に変更した場合、テストファイルが表示されました。自分一人で試行錯誤しているときは上手くいかないのに、、、毎度ながら早とちりをしてしまい申し訳ありませんでした。これでhttps:localhostの場合は問題なく繋がりますし、SSL化していないケースでも、localhost:ポート番号で確認は出来るのでひとまずは安心です。 なぜhttpの場合に繋がらないのかはおいおい一つずつ確認作業をやってみます。 本当に助かりました。心からありがとうございます!! -------------------------------------------------------------------------------- ここまでお世話いただいたmeponさんにベストアンサーのようなものをつけたりして解決としたいのですが、「質問欄のとおり」みたいにコメントしてもらえばよろしいのですかね? 初めての質問だったため終わらせ方すら分かりかねてます>< ご迷惑を一番かけない方法にしたいのですが、、
mepon

2019/07/26 14:25

わかりました 改めて解答欄にて簡単に解説いたします。
mepon

2019/07/26 14:57

WordPress側の問題だったのでSSL化に関しては正しくできていたと思いますよ。 以下余談ですが http://からポート番号無しで繋ぎたい場合は、httpd-vhosts.conf内の ListenとVirtualHostのポート部分を80に変更してみてください。それでポート番号無しでテストファイルは表示できるはずです。 ただし、 WordPress側を今後https://にした場合、http://からは恐らくアクセスできないと思います。 以上になります。
othellon

2019/07/26 15:04 編集

まさかこんなに丁寧にまとめ直してくださるとは、、逆にお手間をおかけして申し訳ありませんでした!最後の最後まで本当にありがとうございました! それに補足まで非常に助かります! 明日改めてテストしてみます!遅くまでありがとうございました!
mepon

2019/07/26 15:06

私も普段はPHPをかじってますが、WordPressはほぼ素人に近いので勉強になり助かりました。 頑張ってください!
guest

回答1

0

ベストアンサー

質問への追記・修正依頼にて既に解決していますが、
質問者様からの依頼により改めて解答欄に原因等をまとめます。

MAMPのSSL対応化については参考サイトを見てhttpsに対応したMAMPのサイトhttps://localhost/MAMP/?language=Japaneseに飛べるのでできているのではないかと思います。

上記対応の時点でローカルのSSL化は完了していた。

しかし、バーチャルホストで設定したhttps://localhost:●●●(※●=httpd-vhosts.confで宣言したポート番号)で接続すると見れません。単なるlocalhost:●●●で入力した場合はインストールしたWordPressのローカルサイトがブラウザ上で表示はされますが。

上記事象の原因:
①httpd-ssl.confでデフォルトのHTTPS用ポート443がListenされていたと思われるが、HTTP用のポートで接続している。
②WordPress管理画面内のWordPressアドレス及びサイトアドレスがhttp://のままになっていたため、SSL化したURLではWordPressのモジュールにアクセスできなかった。


解決策

本問題は、WordPressの設定との兼ね合いが原因でもあったため、
①一度WordPressのモジュールを退避し、DocumentRootにテスト用ファイルの設置。
②httpd-ssl.conf内のポート443を一度変更し、https://localhost:任意のポート で接続確認。→OK
③MAMPのテストサイトにポート番号無しでアクセスできていたとことだったので、
改めてデフォルトポートの443に戻したところ、問題なくポート番号無しのhttps://localhostで接続できたようです。

投稿2019/07/26 14:54

mepon

総合スコア480

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問