Docker への切り替えを推奨
macOS のローカル開発で、ついに Docker を使うように切り替えました。 以下のチュートリアルは macOS の Catalina で動作しますが、制限があります。 Docker を使用して macOS に Apache、MySQL、および PHP をインストールする私の最新のチュートリアルに従うことをお勧めします。
注: この投稿は新規インストール用です。 Mac OS Mojave 用に Apache、PHP、および MySQL をインストールしている場合は、私の投稿「Updating Apache, PHP, and MySQL for macOS Catalina」をお読みください。
MAMP に代表される macOS で利用できる Web サーバー ソフトウェアや、brew
などのパッケージ マネージャーについて承知しています。 これらはすぐに使い始めることができます。 しかし、これらは学習経験を放棄しており、ほとんどの開発者が報告しているように、管理が難しくなる可能性があります。 ほとんどの UNIX ソフトウェアは、macOS 上で簡単にインストールできます。 さらに、Apache と PHP は macOS にプリインストールされています。
コマンドの実行
まず、ターミナル アプリケーションを開き、root
ユーザーに切り替えて、権限の問題なしにこの投稿のコマンドを実行できるようにします。 http://localhost
Enable PHP for Apache
最初に、デフォルトの Apache 設定のバックアップを作成します。 これは良い習慣であり、将来のバージョンの macOS に対する比較として役立ちます。 vi に慣れていない場合は、自由に別のエディタを使用してください。
vi httpd.conf
次の行をアンコメントします (#
を削除):
LoadModule php7_module libexec/apache2/libphp7.so
Restart Apache:
apachectl restart
あなたの DocumentRoot
に phpinfo()
ページを作成すれば PHP が有効になっているかを確認できます。
macOS Catalina のデフォルト DocumentRoot
は /Library/WebServer/Documents
.です。
grep DocumentRoot httpd.conf
次に、DocumentRoot
にphpinfo()
ページを作成します:
echo '<?php phpinfo();' > /Library/WebServer/Documents/phpinfo.php
http://localhost/phpinfo.phpにアクセスしてPHPを確認します
MacOS CatalinaにMySQLをインストールします
MacOS 用の最新の MySQL 一般利用者リリース DMG をダウンロードおよびインストールします。 MySQL 8 が最新バージョンです。 しかし、古いアプリケーションをサポートする必要がある場合は、古いバージョンも利用可能です。
インストールが完了すると、一時的なパスワードが提供されます。 インストーラを閉じる前に、このパスワードをコピーしてください。
READMEでは、mysql
と mysqladmin
のエイリアスを作成することを提案しています。 しかし、mysqldump
のような役に立つコマンドは他にもあります。
export PATH=/usr/local/mysql/bin:$PATH
注意: パスを更新するために、新しいターミナルウィンドウを開くか、上記のコマンドを実行する必要があります。
最後に、mysql_secure_installation
を実行する必要があります。 これは必要ではありませんが、データベースを保護するために良い習慣です。
Connect PHP and MySQL
PHP と MySQL が互いに通信できることを確認する必要があります。 これを行うには、いくつかのオプションがあります。 私は、多くの設定を変更する必要がない次の方法が好きです:
mkdir /var/mysqlln -s /tmp/mysql.sock /var/mysql/mysql.sock
Additional Configuration (optional)
macOS 上の Apache 2.4 のデフォルト設定は、かなり無駄がないと思われました。 たとえば、mod_rewrite
のような一般的なモジュールは無効になっていました。
I edited my Apache Configuration:
vi /etc/apache2/httpd.conf
I uncommented the following lines (remove #
):
LoadModule deflate_module libexec/apache2/mod_deflate.soLoadModule expires_module libexec/apache2/mod_expires.soLoadModule rewrite_module libexec/apache2/mod_rewrite.so
I develop multiple projects and would like each have a unique url, you can configure Apache VirtualHosts for macOS.もし、あなたが、複数のプロジェクトを開発して、それぞれにユニークな URL を持たせたいなら、macOS 用の Apache VirtualHost を構成することができます。
PHPMyAdmin をインストールしたい場合は、macOS に Apache、PHP、および MySQL をインストールするための私のオリジナルの投稿に戻りましょう。 Twitter で会話を続けましょう。