Big SurでMAMP

2019年10月8日リリースの「macOS(10.15.1) Catalina」で標準で入っているApacheとPHP、HomeBrewでインストールしたMySQLでMAMP環境を構築して使用していたのですが、2020年11月12日リリースの「macOS(11.0.1) Big Sur」にアップデートしたら、「Mojave」から「Catalina」にアップデートした時と同様、「Catalina」のMAMP環境にインストールして使用していたPukiWikiやWordpressにアクセスできなくなっていました。

Apache、PHPとMySQLのバージョン確認

Big Surアップデートした後のApacheとPHP、MySQLのバージョンを確認した所、以下のようになっていました。

  • CatalinaのApacheのバージョンは「Apache/2.4.41」でしたが、Big Surでは「Apache/2.4.46」になっていました。

    $ httpd -v
    Server version: Apache/2.4.46 (Unix)
    Server built:   Oct 29 2020 20:35:15
    $
    
  • CatalinaのPHPのバージョンは「PHP 7.3.9」でしたが、Big Surでは「PHP 7.3.22」になっていました。

    $ php -v
    WARNING: PHP is not recommended\nPHP is included in macOS for compatibility with legacy software.\nFuture versions of macOS will not include PHP.
    PHP 7.3.22-(to be removed in future macOS) (cli) (built: Oct 30 2020 00:19:11) ( NTS )
    Copyright (c) 1997-2018 The PHP Group
    Zend Engine v3.3.22, Copyright (c) 1998-2018 Zend Technologies
    $
    
  • HomeBrewでインストールしたMySqlのバージョンは「mysql 5.7.24」で変わっていませんでした。

    $ mysql --version
    mysql  Ver 14.14 Distrib 5.7.24, for osx10.14 (x86_64) using  EditLine wrapper
    $
    

Apacheの設定

Catalinaでは、Apacheの公開ドキュメントのフォルダを「/Users/{username}/Sites/」に変更していたのですが、今回のBig Surへのアップデートで、デスクトップに「場所が変更された項目」というフォルダが作成されており、中身を確認すると以前にCatalinaで修正を行った「httpd.conf」と「extra/httpd-userdir.conf」が入っていました。

Apacheの設定ファイル「httpd.conf」と「extra/httpd-userdir.conf」を確認してみると、今回のBig Surアップデートによって初期のものに戻されており、そのためにMAMP環境にインストールして使用していたPukiWikiやWordpressにアクセスできなくなっていることがわかりました。

原因がわかったので、Apacheの公開ドキュメントのフォルダを「/Users/{username}/Sites/」に変更し、PHPが動作する環境を再構築しました。

「httpd.conf」の修正

  • エディタ(nano)で「httpd.conf」を修正しました、
    $ sudo nano /etc/apache2/httpd.conf
    $
    
  • userdir、PHP、rewriteを使用することができるようにするために、以下の記述をコメントアウトしてモジュールを組み込みました。
    LoadModule userdir_module libexec/apache2/mod_userdir.so
    LoadModule rewrite_module libexec/apache2/mod_rewrite.so
    LoadModule php7_module libexec/apache2/libphp7.so
    
  • ユーザーディレクトリを有効化するために、以下の記述をコメントアウトして「extra/httpd-userdir.conf」の設定を読み込むようにしました。
    # User home directories
    Include /private/etc/apache2/extra/httpd-userdir.conf
    

「extra/httpd-userdir.conf」の修正

  • エディタ(nano)で「extra/httpd-userdir.conf」を修正しました、
    $ sudo nano /etc/apache2/extra/httpd-userdir.conf
    $
    
  • ユーザ設定ファイルを読み込むための設定を行いました。
    UserDir Sites
    Include /private/etc/apache2/users/*.conf
    <IfModule bonjour_module>
           RegisterUserSite customized-users
    </IfModule>
    

ユーザー設定ファイル「{username}.conf」の修正

  • エディタ(nano)でユーザー設定ファイル「{username}.conf」を修正しました。
    $ sudo nano /etc/apache2/users/{username}.conf
    $
    
  • ユーザー設定ファイル「{username}.conf」の内容は以前の設定から変わっていませんでした。
    DocumentRoot "/Users/{username}/Sites/"
    <Directory "/Users/{username}/Sites/">
        AllowOverride All
        Options Indexes FollowSymLinks Multiviews
        Require all granted
    </Directory>
    

Apacheの再起動と確認

  • 上記の設定後、ルートになってApacheを再起動して使用していたPukiWikiやWordpressにブラウザでアクセスしたところ、問題なく動作いたしました。CatalinaでHomebrewを使用してインストールしたMySQLは、Big Surでも問題なくそのまま使用できました。
    $ sudo -s
    # apachectl -t
    AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using ohhappytoshinoiMac.local. Set the 'ServerName' directive globally to suppress this message
    Syntax OK
    # apachectl restart
    

MojaveでHomebrewを使用してインストールしたMySQLの設定などは、MojaveでMAMPを参照願います。