MAMPを使わずにMacのローカル環境にWordPressをインストール

thumbnail

MacでAMP環境を構築するにはMAMPを使う方法もあるけど、アプリは増やしたくない。
そこで今回はMAMPを使わずにローカルにAMP環境を構築してみた。

前提条件

  • OSがSierraであること
  • Homebrewがインストールされていること

Apacheの設定

Apacheは標準でインストールされている。
PHPを有効化するためには/etc/apache2/httpd.confの中身を書き換える。

- # LoadModule php5_module libexec/apache2/libphp5.so
+ LoadModule php5_module libexec/apache2/libphp5.so
---
- # AllowOverride All
+ AllowOverride All

設定を変更したら再起動。

$ sudo apachectl start

MySQLの設定

インストールして、権限を変更。

$ brew install mysql
$ sudo chown -R _mysql /usr/local/var/mysql
$ sudo chmod -R g+rwx /usr/local/var/mysql

次にMySQLのrootユーザーのパスワードを変更。

$ mysqladmin -u root password ‘任意のパスワード'

ログインしてWordPress用のデータベースを作成。
ここではデータベース名をblogとしている。

$ mysql -u root -p
Enter password: 設定したパスワード
$ mysql > create database blog;

MySQLのソケットのパスを確認。

$ mysql > status
...
UNIX socket: /tmp/mysql.sock

ログアウト。

$ mysql > exit

これで設定は整ったので、MySQLサーバーを起動。

$ mysql.server start

Macを再起動すると、mysqlサーバーも停止する。
WordPressを開く前にこのコマンドを打つ必要がある。
ただし、OSXのlaunchdという機能を使えば自動起動できる。

PHPの設定

Sierraでは標準でインストールされている。 設定ファイルをコピーして編集。

$ sudo cp /etc/php.ini.default /etc/php.ini

/etc/php.iniを編集して先程のMySQLのソケットのパスを入れる。

- mysql.default_socket=
+ mysql.default_socket = /tmp/mysql.sock

phpMyAdminの設置

データベースの操作にphpMyAdminを使いたいので、インストール。
こちらからダウンロードできる。
解凍すると、phpMyAdminというフォルダができるので、それをWEBサーバーのドキュメントルートに設置。
ドキュメントルートのパスは特に変更していなければ、/Library/WebServer/Documents

デフォルト設定ファイルをコピーして編集。

$ cd /Library/WebServer/Documents/phpMyAdmin
$ sudo cp config.sample.inc.php config.inc.php

config.inc.phpを下記のように書き換える。

- $ cfg['Servers'][$i]['host'] = ‘localhost’;
+ $ cfg['Servers'][$i]['host'] = ’127.0.0.1′;

WordPressの設置

これでWordPressを設置する準備が整った。

wordpress

ダウンロードして解凍したらwordpressというフォルダができるので、それをWebサーバーのドキュメントルートへ移動させる。

権限を変更しておく。

$ sudo chown -R _www:_www wordpress

あとはhttp://rikson.net/にアクセスして画面に沿って設定するだけ。

setup-screen

データベース名・ユーザー名・パスワードはMySQLで設定したもの。
データベースのホスト名は127.0.0.1として、うまくいかない場合はlocalhostにしてみるとよい。

遭遇したエラー

データベース接続確立エラー

ブログにアクセスすると「データベース接続確立エラー」という真っ白のページが表示された。

エラーの内容を表示するためにwp-config.phpを書き換えてみる。

- define('WP_DEBUG', false);
+ define('WP_DEBUG', true);

もう一度アクセスすると以下のように表示された。

error-message

ホスト名をlocalhostから127.0.0.1に変更したらうまくいった。

アップデートやプラグインをインストールできない

なぜかFTPサーバーの情報を聞かれる。

install-error

所有者を変更することでイケた。

$ sudo chown -R _www:_www wordpress

この _www:_www は、httpd.confの中のUSER、GROUPの値。

画像アップロードエラー

ドラッグ&ドロップで画像をアップロードしたらHTTPエラーが発生した。

error-msg

書き込み権限が原因になることが多いようだけど、今回はPHPの設定が原因だった。
デフォルトの設定ファイルではファイルのアップロード容量の制限が低すぎるので変更。
/etc/php.iniの中のupload_max_filesizeという項目を探して、最大容量を256MBに変更。

- upload_max_filesize = 2M
+ upload_max_filesize = 256M 

参考