2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

MAMP+dnsmasq環境構築

Posted at

はじめに

MACローカル環境でサブドメインを設定し、
SSL化した状態でhoge.example.comにAndroidからアクセスするまでについて説明する記事です。個別の記事は散見されたのですが、他にまとまっている記事がなかったので、備忘録を兼ねて書きました。
初心者向けにできる限りコマンドを全て記載しております。

#1. MAMPダウンロード&インストール
https://www.mamp.info/en/downloads/
よりダウンロードとインストール

#2. SSL化
OpenSSLを利用して、
自己署名証明書を発行します。

opensslがインストールされていない場合はインストール

brew install openssl

apacheの設定ディレクトリに移動

cd /Applications/MAMP/conf/apache/

秘密鍵を保存するディレクトリを作成し移動

mkdir ssl && cd $_

秘密鍵を作成

openssl genrsa -out server.key 2048

CSRの作成

openssl req -new -key server.key -out server.csr

対話型になるのでCommon Name (eg, fully qualified host name)にホスト名を入力。今回はexmple.comを利用。

Country Name (2 letter code) []:
State or Province Name (full name) []:
Locality Name (eg, city) []:
Organization Name (eg, company) []:
Organizational Unit Name (eg, section) []:
Common Name (eg, fully qualified host name) []:example.com
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:

サーバー証明書の作成

openssl x509 -req -days 365 -signkey server.key -in server.csr -out server.crt

コメントアウトを解除してhttp-ssl.confファイル読み込み

/Applications/MAMP/conf/apache/httpd.conf
Include /Applications/MAMP/conf/apache/extra/httpd-ssl.conf

下記3行を追記して証明書、秘密鍵の読み込み

/Applications/MAMP/conf/apache/httpd.conf
SSLCertificateFile "/Applications/MAMP/conf/apache/ssl/server.crt"
SSLCertificateKeyFile "/Applications/MAMP/conf/apache/ssl/server.key"

httpd-ssl.conf内でDocumentRoot、サーバー証明書、秘密鍵の読み込みを下記のように修正

/Applications/MAMP/conf/apache/extra/httpd-ssl.conf
DocumentRoot "/Applications/MAMP/htdocs"
...
SSLCertificateFile "/Applications/MAMP/conf/apache/ssl/server.crt"
...
SSLCertificateKeyFile "/Applications/MAMP/conf/apache/ssl/server.key"

apacheシンタックスチェック

/Applications/MAMP/Library/bin/apachectl configtest

server.crtをドラッグアンドドロップでキーチェーンアクセスのシステムに追加し、
信頼を常に信頼に変更
スクリーンショット 2022-01-30 22.01.48.png

dnsmasqインストール

brew install dnsmasq

example.comをループバックアドレスとして解決する。
hostsファイルを読み込む。

echo 'address=/.example.com/127.0.0.1' >> $(brew --prefix)/etc/dnsmasq.conf
echo 'addn-hosts=/etc/dnsmasq.hosts' >> $(brew --prefix)/etc/dnsmasq.conf

名前解決をローカルのDnsmasqに任せる

mkdir -p /etc/resolver
vi /etc/resolver/example.com

ローカルを名前解決

/etc/resolver/example.com
nameserver 127.0.0.1

dnsmasqを起動

sudo brew services start dnsmasq

名前解決できることを確認

ping hoge.example.com 
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?