MacでWordPressをローカルインストールする(MAMPなし, phpmyadminなし)

  • 36
    いいね
  • 3
    コメント

条件

  • macを使う
  • MAMP使わない
  • phpmyadmin使わない
  • 基本ターミナルで操作する

私は毎日、代わり映えのない生活をしていますが、このまま一生砂糖水を売り続けるのは嫌だったので、macを買ってWEB開発のスキルを身につけようと思いました。
勉強のためにまずwordpressを使ってみます。
macにはデフォルトでapacheとphpが入っているらしいので、MAMPやphpmyadminは使わずにやってみました。
操作はできるだけターミナルで行います。

apache

デフォルトでインストールされていました。
何だか知らんが、とにかくよし!

…というわけにはいきませんでした。やったことは、

  • apacheの設定を変更する
    • ドキュメントルートを扱いやすい場所に変更する(~/workspace)
    • .htaccess を使えるようにする
    • PHP を有効にする
  • apacheを起動する

apacheの設定を変更する

apacheが参照するデフォルトのドキュメントルートは

/Library/WebServer/Documents

と長いので、簡単にアクセスできるように変更しました。
別に必須ではないですが、以後の説明はこの変更をした上で説明します。

「.htaccess」「PHP」も有効にしておきます。

これらはこちらのページの手順を実行させていただきました。
ここでは詳細は省きますので、リンク先を参照して実行してください。

apacheを起動する

apacheを起動します。もう起動してる場合は再起動してください。
ターミナルで行います。

# apacheを起動する
$ sudo apachectl start

# apacheを終了する
$ sudo apachectl stop

# apacheを再起動する
$ sudo apachectl restart

mysql

デフォルトでインストールされていませんでした。
何でだ!

やったことは、

  • Homebrewインストール
  • mysqlインストール
  • mysqlサーバ起動
  • mysqlユーザ、データベース作成

Homebrewインストール

mysqlはHomebrewからインストールしようと思います。
なのでまずHomebrewをインストールします。念のため更新もします。
ターミナルで行います。

# rubyからHomebrewをインストール
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

# 念のため Homebrew を更新
$ brew update

これらはこちらのページを参考にさせていただきました。
Rubyもデフォルトでインストールされていますね。いいね!

mysqlインストール、サーバ起動

mysqlをHomebrewからインストールします。
インストールは簡単ですが、インストールで出来たフォルダの権限を変更しないと実行できませんでした。
インストールしたらmysqlサーバを起動して確認します。
ターミナルで行います。

# Homebrewからmysqlインストール
$ brew install mysql

# mysqlフォルダの権限を変更
$ chown -R _mysql:_mysql /usr/local/var/mysql

# mysqlサーバ起動
$ sudo mysql.server start

# mysqlサーバが動いてるか確認
$ mysqladmin ping

mysqlユーザ、データベース作成

mysqlを操作してユーザとデータベースを作成します。
ここではユーザ名を「vegeta」、データベース名を「supersaiyan」、パスワードを「bargainsale」としていますが、用途に応じて必ず変更してください。
ついでにmysql.sockの場所も確認しておきます。あとで使います。
ターミナルで行います。

# mysqlの操作を開始する
$ mysql -u root -p

# mysqlのルート権限のパスワード入力(デフォルトは空白)
Enter password: 

# ユーザ作成
mysql> create user 'vegeta'@'localhost' identified by 'bargainsale';

# データベース作成
mysql> create database supersaiyan;

# ユーザにデータベース操作の権限追加
mysql> grant all privileges on supersaiyan.* to 'vegeta'@'localhost';

# データベース一覧で作ったデータベースがあるか確認する
mysql> show databases;

# ユーザ一覧で作ったユーザがあるか確認する
mysql> select host, user, password from mysql.user;

# ついでにmysql.sockの場所を確認しておく
mysql> status
--------------
mysql  Ver 14.14 Distrib 5.6.23, for osx10.10 (x86_64) using  
 :
UNIX socket:        /tmp/mysql.sock   <- これを覚えておく

# mysqlの操作を終了する
mysql> quit

これらはこちらのページを参考にさせていただきました。

php

デフォルトでインストールされていました。
何だか知らんが、とにかくよし!

…というわけにはいきませんでした。やったことは、

  • php.iniを作成
  • php.ini内のmysqlソケットファイルパスを変更

これらはこちらのページを参考にさせていただきました。

php.iniを作成

php.iniがなかったので作ります。アクセス権も変えます。
ターミナルで行います。

#php.ini.defaultをコピーしてphp.ini作成
$ sudo cp /etc/php.ini.default /etc/php.ini

#ファイルのアクセス権を設定
$ sudo chmod 644 /etc/php.ini

私の環境では /etc にありましたが、あなたの環境では違うかもしれません。
もしファイルがなければファイル検索で探してみましょう。

# php.ini.defaultのある場所を検索する
$ sudo find / -name "php.ini.default"

php.ini内のmysqlのソケットファイルのパスを変更

phpとmysqlはソケット通信でやりとりするらしいので、ソケットファイルのパスを指定する必要があるらしいです。(よくわかりまテン!)

php.ini内の該当項目を変更します。(デフォルトは空白でした。)
先ほどmysqlデータベース作成時についでに確認したパスを入力します。
エディタで行います。

mysql.default_socket = /tmp/mysql.sock

Wordpress

Wordpressはデフォルトでインストールされていませんでした。
そりゃそうだ。

やったことは

  • Wordpressダウンロード、移動、解凍
  • Wordpressインストール

これらはこちらのページを参考にさせていただきました。

Wordpressダウンロード、移動、解凍

まずこちらのページからワードプレスのファイルをダウンロードします。
ブラウザで行います。
できますか?大丈夫?

ダウンロードしたファイルはダウンロードディレクトリに入っているので、最初に設定したドキュメントルートへ移動して解凍します。
解凍したディレクトリの中にwp-config-sample.phpというファイルがあるので、wp-config.phpという名前でコピーします。
ターミナルで行います。

# ダウンロードしたファイルをドキュメントルートディレクトリへ移動
$ mv ~/Downloads/wordpress-4.1.1-ja.zip ~/workspace

# ドキュメントルートディレクトリへ移動
$ cd ~/workspace

# ダウンロードしたガイルを解凍
$ unzip wordpress-4.1.1-ja.zip

# 作成したワードプレスディレクトリへソニックブーム!
$ cd wordpress

# wp-config-sampleをコピーしてwp-configファイル作成
$ cp wp-config-sample.php wp-config.php

Wordpressインストール

こちらにアクセスするとインストール画面が出ます。
mysqlに設定したデータベース名、ユーザ名、パスワードを入力してください。
私が先ほど作成した例で言うと、

  • データベース名:supersaiyan
  • ユーザ名:vegeta
  • パスワード:bargainsale
  • データベースのホスト:localhost
  • テーブル接頭辞:wp_

になります。あとは画面に従って設定してください。

終わりに

どうですか?動きましたか?

動かないよ!

え?動かない?そうでしょう、そうでしょう!
私もググっては動かず、ググっては動かずの日々でした。
動かない理由としては以下が考えられます。

  • データベース名、ユーザ名、パスワードが間違っている
    • 間違っていても意外と気がつかないので注意しましょう
  • apache、mysqlが動いていない
    • 確認コマンドで起動しているか確認しましょう
  • 権限が与えられていない
    • ディレクトリの権限は $ ls -al /usr/local/var などで調べましょう
    • 権限が必要な操作は管理者権限(su)で実行しましょう
  • 設定ファイルのパスが違う
    • 見つからないファイルは $ sudo find / -name "mysql.sock" などで検索しましょう
  • Windowsでやっている
    • あーそれは、他をあたってください…
  • 時代が違う
    • もしやあなたは2020年にこのページを参照していませんか?
  • 記事が間違っている
    • え!そんなバカな!

なんかちょっとでも違うと動かないんですよね。根気強く頑張りましょうb