MAMP3.xのcURLをアップグレードして延命する
環境
- macOS Catalina(10.15.3)
- MAMP 3.0.7.3
なぜMAMP3.x?
MAMP4系以上はphp7が標準で、php5系を使うのが面倒そう。レガシー。
PHPのHTTPS通信、SSL暗号方式をTLS1.2に対応させてみた - ノラプログラマーの技術メモ にあるけど、
TLS1.2に対応するためには、cUrlのバージョンが7.34.0以上かつOpenSSLのバージョンが1.0.1以上でなければならない
これに対応するだけのために2日間つぶした。
手順
大体以下のページの通り
php - How to upgrade OpenSSL in MAMP - Stack Overflow
lunr/mamp-curl-tls: Instructions to upgrade MAMP to use OpenSSL 1.0.2 to support TLS 1.2 connections
- post時点でbrewでインストール出来るopensslのバージョンは1.1.1で、上記手順ではうまく行かない。
- MAMP3.0系ではcurlのバージョンが低すぎてうまく行かないため、3.5系にupgradeする必要がある
やったこと
程よいバージョンのMAMPとcurlとopensslが必要。高過ぎず低すぎず。
- openssl 1.0.2のビルド&インストール
- 1.0.1だとうまく行かない(うろ覚え)
- ビルドしたopensslを使用したcurl 7.43.0のビルド&インストール
MAMP
Downloads (older versions) - MAMP & MAMP PRO
から3.5.2をダウンロード&インストール。
openssl
https://www.openssl.org/source/old/あたりから1.0.2のソースをダウンロード。
通常は使わないので、MAMP以下(/Applications/MAMP/Library/lib/openssl)にインストールしておく。
64bitなので./configure
ではなく./Configure
を使わなくてはだめらしい。
cd ~/Downloads
wget https://www.openssl.org/source/old/1.0.2/openssl-1.0.2u.tar.gz
tar zxvf openssl-1.0.2u.tar.gz
cd ~/Downloads/openssl-1.0.2
./Configure darwin64-x86_64-cc --openssldir=/Applications/MAMP/Library/lib/openssl
make
make install
curl
下準備
curlバージョン確認
https://github.com/lunr/mamp-curl-tls#3-check-the-curl-version-included-with-mamp
/Applications/MAMP/Library/bin/curl-config --version
libcurl 7.43.0
CA/CertificateをMAMPに設置する
https://github.com/lunr/mamp-curl-tls#5-download-ca--certificate-bundles-and-extract-into-mamp
cd ~/Downloads
wget https://github.com/lunr/mamp-curl-tls/raw/master/ca-bundle.tgz
tar zxvf ca-bundle.tgz -C /Applications/MAMP
curlをインストール
https://curl.haxx.se/download/から該当するバージョン(7.43.0)をダウンロード。
cd ~/Downloads
wget https://curl.haxx.se/download/curl-7.43.0.tar.gz
tar zxvf curl-7.43.0.tar.gz
cd ~/Downloads/curl-7.43.0
./configure --prefix=/Applications/MAMP/Library --with-ssl=/Applications/MAMP/Library/lib/openssl/ --with-ca-path=/Applications/MAMP/etc/openssl/certs --with-ca-bundle=/Applications/MAMP/etc/openssl/certs/ca-bundle.crt
make
make install
諦めたこと
- brewで特定のバージョン(openssl)をinstall
- gitログを辿ってやるしかないっぽい。面倒
雑感
モダンな開発環境に変えたい。
-
前の記事
Mojolicious純正のフォームバリデーション & フィルター 2017.06.30
-
次の記事
MAMPな環境のmacにDBD::mysqlをインストール その2 2020.03.20