MojaveでMAMP

2018年11月23日iMacを買い換えました。OSは、Mojave(10.14.1)でした。Yosemite同様に標準でApacheとPHPが入っているようなので、HomeBrewを使用してMYSQLのみ追加インストールを行ってMAMP環境を構築しました。

ApacheとPHPの設定

  • Mojaveに標準でインストールされてるApacheのバージョンは、Apache/2.4.34でした。

    $ httpd -v
    Server version: Apache/2.4.34 (Unix)
    Server built:   Aug 17 2018 16:29:43
    $
    
  • Mojaveに標準でインストールされてるPHPのバージョンは、PHP 7.1.19でした。

    $ php -v
    PHP 7.1.19 (cli) (built: Aug 17 2018 18:03:17) ( NTS )
    Copyright (c) 1997-2018 The PHP Group
    Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
    $
    
  • phpの設定ファイル(php.ini)を「/etc/php.ini.default」をコピーして/etc下に作成しました。(「/etc/php.ini」)
    $ sudo cp -p /etc/php.ini.default /etc/php.ini
    
  • php.iniのアップロードの最大ファイルサイズが2MBになっていたので、8MBに変更しました。

    # cd /etc/
    # cp php.ini php.ini.org
    # nano php.ini
    
    post_max_size = 8MB
    memory_limit = 128MB
    ;;;upload_max_filesize = 2M
    upload_max_filesize = 8M
    
  • Apacheの公開ドキュメントは、「/Users/{username}/Sites/」に作成することとし、/etc/apache2/httpd.conf
    にユーザーディレクトリを有効化する設定を行いました。

    $ sudo nano /etc/apache2/httpd.conf
    

    以下のコメントアウトを外す。

    LoadModule userdir_module libexec/apache2/mod_userdir.so
    LoadModule authz_core_module libexec/apache2/mod_authz_core.so
    LoadModule authz_host_module libexec/apache2/mod_authz_host.so
    # User home directories
    Include /private/etc/apache2/extra/httpd-userdir.conf
    

    PHPを有効化する。

    LoadModule php7_module libexec/apache2/libphp7.so
    
  • 「/etc/apache2/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>
    
  • ユーザー設定ファイルを作成しました
    $ sudo nano /etc/apache2/users/{username}.conf
    

    1行目にDocumentRootの記述が必要でした。

    DocumentRoot "/Users/{username}/Sites/"
    <Directory "/Users/{username}/Sites/">
        AllowOverride All
        Options Indexes FollowSymLinks Multiviews
        Require all granted
    </Directory>
    
  • ルートになってApacheを再起動し、ローカルホストにアクセスして動作確認を行いました。
    $ sudo -s
    # apachectl -t
    # apachectl restart
    

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を無事にインストールできました。