MacでスタンダードなLAMP環境を構築してWordPressをインストールするまで

More than 1 year has passed since last update.

2015/02/04 追記 : この記事は古くなっていますので、今からは参考にしないでください

ローカルにWordPress入れて勉強してみたい人向け。

MAMPを使うのは楽なんだけど、あんまり勉強にならないので。
以下の方法なら、実際にLinuxにWebサーバーを構築するときも同じような感じなので慣れていけると思います。

ターミナルを開く

Macはサーバーなどで使われているLinuxとよく似たOSです。
なので、多少やり方が違ってもLinuxで出来ることはだいたい出来ます。
ただ、Macは一般ユーザー向けに作られていて、黒い画面を一切見ないで済むようになっています。

ここからは、黒い画面に少しずつ慣れていきましょう。
「アプリケーション -> ユーティリティ -> ターミナル.app」を開いて、ターミナル(黒い画面)を表示させてください。

Homebrewを入れる

さて、次にパッケージマネージャーというものを入れます。

普通アプリをインストールするときはブラウザを開いて、インストーラーをダウンロードしてダブルクリックしますね。
でも、Linuxの世界だと1つのコマンドであらゆるアプリをインストールすることが出来ます。
たとえば yum install httpd と入力するだけでApacheがインストールされます。

Macだと、App Storeが近い役割を果たすようになりました。

そこで、そんな便利なものをMacの上でも使えるようにしたのがHomebrewです。

インストールはとても簡単。ターミナルに以下のコードをコピペしてエンター。

ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

Macのパスワードを聞かれたら入力。
「コマンドラインデベロッパーツールをインストールしますか?」的なダイアログが表示されたらインストール。
インストールが終わったら、ターミナルに戻ってエンター。

パスを通す

このままだと、ターミナルがHomebrewのインストールするアプリの場所を知らないので教えてあげる。
以下をすべて(4行分)選択してターミナルにコピペ&エンター。

cat > ~/.bash_profile <<EOF
export PATH=/usr/local/bin:$PATH
export PATH=/usr/local/sbin:$PATH
EOF

そして、ターミナルを一度閉じて開き直す。

これでオケオケオッケー!
ラララ〜って感じであなたのMacはもうエンジニア仕様!

Apacheを入れる

ブラウザを開くといろんなWebサイトが見れますが、サーバーの大多数は「Apache」というアプリによって成り立っています。

実はMacにはすでにApacheがインストールされているんですが、Appleの手でカリッカリにチューニング済みで非常に使いづらいのでイチから入れ直します。

もし「システム環境設定 -> 共有 -> Web共有」にチェックがついていたら外してください。
標準のApacheが起動しているので競合してしまいます。
(Marvericksからは、チェックボックスそのものがなくなりました)

まず、ターミナルに以下のコードをコピペ。

brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php

これで、Macに付属しているアプリも改めてインストールすることが出来るようになります。

さて、ではApacheを入れます。

brew install httpd

Apacheは、別名httpdとも呼ばれます

色々動き始めて、しばらくすると止まると思います。
実は、これでインストール完了です。(ね、簡単でしょ?)

次に、Apacheで表示させるファイルを置いておくフォルダを作ります。
コマンドで mkdir ~/webapp/ と入力します。
すると、自分のホームディレクトリにフォルダが作成されていると思います。

この中に、index.php という名前で、以下を入力したファイルをテキストエディタで保存してください。

index.php
<?php
phpinfo();

あとは、いくつか設定ファイルを書き換えておきましょう。

Finderを開いて、「コマンド+Shift+G」もしくは「移動 -> フォルダへ移動」で /usr/local/etc/apache2/ を入力して移動。

中にある httpd.conf をエディタで開いて、いくつか書き換えます。

PHP対応

PHPを実行するための設定です。
ファイルの一番下(実際はどこでもいいんですが)に、以下を入力。

LoadModule php5_module /usr/local/opt/php54/libexec/apache2/libphp5.so
AddType application/x-httpd-php .php

DirectoryIndex

ファイル名を指定しなかった時に表示するファイルの指定です。
DirectoryIndex で検索して、その行を以下のように編集。

httpd.conf
DirectoryIndex index.php index.html

AllowOverride

.htacessというファイルでApacheの設定を上書きすることを許可します。
AllowOverride で検索して、その行を以下のように編集。

httpd.conf
AllowOverride All

DocumentRoot

Apacheで表示させるファイルを置いておくフォルダの指定です。
DocumentRoot で検索して、その行を以下のように編集。

httpd.conf
DocumentRoot "/Users/[username]/webapp" 

自分のusernameがわからない時は、ターミナルで以下を入力。

cd ~; pwd; /Users/.... という文字が出ると思うので、その/Users/以降の部分がユーザー名です。

さらに最下部に以下を追加

httpd.conf
<Directory "/Users/[username]/webapp">
    Order allow,deny
    Allow from all
</Directory>

こちらも[username]は自分のものに書き換えます。

できたら、保存して閉じます。

PHPを入れる

ターミナルで。

brew install php54

おわり。

ターミナルに apachectl configtest と入力して、Syntax OK と出ればオケオケオッケー!
でなければ、さっきのApacheのhttpd.confの設定にミスがあります。

設定ファイルも同じように書き換えます。場所は/usr/local/etc/php/5.4/php.ini です。

タイムゾーン

どこの国の時間帯を使うか設定します。
date.timezone で検索して、その行を以下のように編集。

php.ini
date.timezone = Asia/Tokyo

文字コード

どんな文字コードを使うか設定します。忘れると、たまに文字化けします。
mbstring.language で検索して、その行を以下のように編集。

php.ini
mbstring.language = Japanese

さらに、mbstring.internal_encoding で検索して、その行を以下のように編集。

php.ini
mbstring.internal_encoding = UTF-8

保存して、Apacheを起動する。

sudo apachectl start

パスワードを聞かれたら、Macのログインパスワードを入力。

ブラウザで http://localhost/ にアクセス。
以下のような画面が表示されたら成功!

スクリーンショット 2014-04-10 8.33.26.png
(バージョン違うと思うけど気にしないで)

これで、Webサーバーの構築は完了です。
さっきのindex.phpにプログラムを書けば、自由にPHPを実行することが出来ます。

phpinfo(); というのは、自分のPHPの情報を表示する関数なので、上のような画面が出ます。

この画面さえ出れば、もうなんでも作れますわ。

MySQLを入れる

brew install mysql

おわり。

以下のコマンドで起動します。

mysql.server start

MySQLのパスワードを設定します。

mysqladmin -u root password 'new-password'

(new-passwordの部分は適宜書き換え)

セキュリティを設定します。

mysql_secure_installation

Enter current password for root と聞かれたら、さっきのnew-passwordの部分を入力。
あとはひたすら空エンターを叩けば大丈夫。

以上で、LAMP(Linux+Apache+MySQL+PHP)の構築は完了だ!!

ちなみに、MAMPを使うと上記をまとめてやってくれる。が、勉強にならない。

データベースを作る

Sequel ProというMySQLのGUIツールがあるので、これを使います。

とりあえずサイトからアプリをダウンロードして起動したら、下記のように入力。

スクリーンショット 2014-04-12 0.12.31.png

接続できたら、画面左上の「データベースを選択…」から「データベースを追加」をクリック。

スクリーンショット 2014-04-12 0.13.45.png

上記のように選択する。
エンコーディングは(utf8mb4)があればそれを。なければ(utf8)で大丈夫。

追加してデータベースの作成は完了。

WordPressを入れる

http://ja.wordpress.org/ から、WordPressのzipファイルをダウンロード。

さっき作った webapp フォルダに wordpress フォルダを入れる。

そして http://localhost/wordpress/ にアクセスすると、こんな画面が出る。

スクリーンショット 2014-04-10 8.43.02.png

あとは「設定ファイルを作成する」ボタンを押して、データベースの設定。

スクリーンショット 2014-04-10 8.43.43.png

おわり。

Macを再起動したとき

ApacheとMySQLを手動で起動させてね。

sudo apachectl start
mysql.server start

自動起動する方法もあるけど、説明が面倒だからコマンドで brew info httpd brew info mysql って打ってね。

ちなみに

このままだと、インターネット上に公開するにはちょっとセキュリティが危なっかしい。
けど、勉強目的でローカル環境にたてるのなら全く問題ない。

というかHomebrewでいろいろ入れて、おかしくなったら一度アンインストールして… というやり方でいいからとにかくいじるのがいいと思う。

パソコンなんて起動しなくなったら再インストールすればいいだけの話なんすよ。
(大切なデータはDropboxに入れるかTimeMachineでバックアップしておけよな!)

あと、分からない部分があったらキーワードでググれば山ほど解説サイトがヒットするのでそこを見て補足してね。

参考

http://qiita.com/livejam_db/items/b70caccdeece036a3797