条件
- 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