2018年11月23日にiMac「macOS(10.14.1) Mojave」を購入して、Mojaveに標準で入っているApacheとPHP、HomeBrewでインストールしたMySQLでMAMP環境を構築して使用していたのですが、2019年10月8日リリースの「macOS(10.15.1) Catalina」にアップデートしたら、上述のMAMP環境にインストールして使用していたPukiWikiやWordpressにアクセスできなくなっていました。
Apache、PHPとMySQLのバージョン確認
Catalinaアップデートした後のApacheとPHP、MySQLのバージョンを確認しました所、以下のようになっていました。
-
Mojaveに標準でインストールされていたApacheのバージョンは「Apache/2.4.34」でしたが、「Apache/2.4.41」になっていました。
$ httpd -v Server version: Apache/2.4.41 (Unix) Server built: Oct 17 2019 18:04:28 $
-
Mojaveに標準でインストールされていたPHPのバージョンは「PHP 7.1.19」でしたが、「PHP 7.3.9」になっていました。
$ php -v PHP 7.3.9 (cli) (built: Sep 10 2019 17:45:01) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.9, Copyright (c) 1998-2018 Zend Technologies $
-
MySQLは、MojaveにHomeBrewでインストールしたので、バージョンは「mysql 5.7.24」で変わっていませんでした。
$ mysql --version mysql Ver 14.14 Distrib 5.7.24, for osx10.14 (x86_64) using EditLine wrapper $
Apacheの設定
Mojaveでは、Apacheの公開ドキュメントのフォルダを「/Users/{username}/Sites/」に変更していたのですが、今回のアップデートで、デスクトップに「場所が変更された項目」というフォルダが作成されており、中身を確認すると以前にMojaveで修正を行った「httpd.conf」と「extra/httpd-userdir.conf」が入っていました。
Apacheの設定ファイル「httpd.conf」と「extra/httpd-userdir.conf」を確認してみると、今回のCatalinaアップデートによって初期のものに戻されており、そのために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にアクセスしたところ、問題なく動作いたしました。MojaveでHomebrewを使用してインストールしたMySQLは、Catalinaでも問題なくそのまま使用できました。
$ sudo -s # apachectl -t # apachectl restart
MojaveでHomebrewを使用してインストールしたMySQLの内容は、下記参照願います。
MojaveにインストールしたMySQL
HomeBrewのインストール
- ターミナルで以下のコマンドを実行して、HomeBrewをインストールしました。
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" $ brew update Already up-to-date. $ brew doctor Your system is ready to brew.
- インストールされたHomebrewのバージョンは、「1.8.3」でした。
$ brew -v $ Homebrew 1.8.3 Homebrew/homebrew-core (git revision 2941; last commit 2018-11-23) $
MySQLのインストール
- 以下のコマンドで、HomeBrewを使用してMySQL5.7をインストールしました。
$ brew install mysql@5.7
- 以下のコマンドで、「.bash_profile」に「mysql@5.7」のPATHを設定しました。
$ echo 'export PATH="/usr/local/opt/mysql@5.7/bin:$PATH"' >> ~/.bash_profile
- インストールされたMySQLのバージョンは、「5.7.24」でした。
$ mysql --version mysql Ver 14.14 Distrib 5.7.24, for osx10.14 (x86_64) using EditLine wrapper
- 以下のコマンドで、MySQLの起動しました。
$ mysql.server start Starting MySQL . SUCCESS!
- 「mysql_secure_installation」を実行して、MySQLのパスワードを設定しました。
$ mysql_secure_installation
- LocalhostからMySQLにアクセス出来ないことへの対処として、/etc/php.iniにmysql.sockの場所(/tmp/mysql.sock)を追記しました。
- 「mysql> status」を実行して、mysql.sockの場所を確認しました。
$ mysql -u root -p Enter password:* mysql> status : UNIX socket:/tmp/mysql.sock : mysql> quit; Bye $
- mysql.sockの場所を「/etc/php.ini」に追記しました。
$ sudo nano /etc/php.ini
mysql.default_socket = /tmp/mysql.sock mysqli.default_socket = /tmp/mysql.sock
WordPressのインストール
- wordpress.org 日本語から「wordpress-4.9.8-ja.zip」をダウンロードしました。
- ダウンロードした「wordpress-4.9.8-ja.zip」を”/Users/{username}/Sites/”直下に保存しました。
- ルートになって「wordpress-4.9.8-ja.zip」を解凍して、ルートのパーミッションを「777」、ディレクトリの所有者と所有グループをapacheの設定(_www:_www)に変更しました。
$ sudo -s # unzip wordpress-4.9.8-ja.zip # chmod 777 ./wordpress # chown -R _www:_www ./wordpress
- ブラウザで「http://localhost/wordpress/」にアクセスして、指示に従いWordpressを無事にインストールできました。
- 「mysql> status」を実行して、mysql.sockの場所を確認しました。
コメント