Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

条件

  • 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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした