Docker + Apache + PHP7.4 + MySQL(MariaDB) + SSL + Laravel (part1)
brew install mkcert nss
mkcert -install
mkdir ~/docker-lamp
cd ~/docker-lamp
mkdir -p conf certs db htmlarea phpmyadmin/sessions
現時点でのファイルやディレクトリの配置はこのようになります。
docker-lamp
|-certs
|-conf
|-db
|-htmlarea
|-phpmyadmin
|-sessions
mkcert -install
# 確認
mkcert -CAROOT
/Users/xxxxx/Library/Application Support/mkcert 内に作成されているので、環境内にコピーしておきます。cp ~/Library/Application\ Support/mkcert/rootCA.pem ./certs/rootCA.pem
続けて、mkcertを使用してローカルドメイン用の証明書を作成します。mkcert -key-file ./certs/test.local.key -cert-file ./certs/test.local.pem test.local 127.0.0.1 ::1
mkdir -p ./htmlarea/test.local/public
touch ./htmlarea/test.local/public/index.php
./conf/php.ini
./db/my.cnf
vi ./conf/000-default.conf
# 中身はこちら↓↓
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName test.local
DocumentRoot /var/www/html/test.local/public
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
vi ./conf/default-ssl.conf
# 中身はこちら↓↓
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin webmaster@localhost
ServerName test.local
DocumentRoot /var/www/html/test.local/public
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/ssl/local/certs/test.local.pem
SSLCertificateKeyFile /etc/ssl/local/certs/test.local.key
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
</VirtualHost>
</IfModule>