vdeep

*

vdeepはプログラミング、IT、Web技術、ライフハックの事などなどを管理人okutaniがつぶやくブログです。月間13万PV〜。

MacにHomebrewでPHP, Apache, MySQLを導入する

      2017/02/01

LINEで送る
Pocket

homebrew
こんにちは、okutani(@okutani_t)です。MacにはデフォルトでPHPとApacheがすでに入っていますが、私は普段からHomebrewを使ってアプリを管理しています。

今回はその導入手順を記して置きます。今回はPHP5.5, MySQL5.6, Apache2.2Homebrewを使って導入してみましょう。

Homebrewの導入方法は下記の記事からどうぞ。

MacにHomebrewを導入する方法&使い方まとめ
こんにちは、okutani(@okutani_t)です。プログラミングをおこなう際に、みな必ず通る「環境構...
2015-04-18 18:15
はてブ

スポンサーリンク

MySQL5.6インストールと初期設定

データベースMySQLを導入します。上から順に行っていきましょう。

$ brew install mysql

MySQLを起動します。

$ mysql.server start

rootのパスワードを設定。

$ mysqladmin -u root password 'パスワード'

私の場合、「Using a password on the command line interface can be insecure.」とメッセージが出ました。これは「コマンドラインからパスワード設定するとセキュリティ上よろしくないですよ」という意味のメッセージなので、エラーではなく、パスワードはちゃんと設定されています。

次に下記コマンドを入力。

$ mysql_secure_installation

これをおこなうと簡単にセキュリティの初期設定が出来ます。最初に聞かれるrootのパスワード意外は全て「Y」を入力してください。

Change the root password? [Y/n] n
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

上記では「匿名ユーザーの削除」「localhost, 127.0.0.1, ::1以外のホストを削除」「testデータベースの削除」が行われています。

MySQLへのログインは下記コマンド、ログアウトは「exit」を入力すればOKです。

$ mysql -u root -p

最後にMySQLを停止させておきます。

$ mysql.server stop

Apache2.2インストールと初期設定

$ brew tap homebrew/dupes
$ brew tap homebrew/apache
$ brew install httpd22

上記の2行はhomebrewにapacheをインストールできるようにリポジトリを追加しています。もし、上記でうまくインストール出来なかった方は「$ brew update」でhomebrewをアップグレードしてみてください。

Apacheのパスを確認します。

$ which apachectl
/usr/local/bin/apachectl

もし上記以外のパスが返ってきた場合はターミナルを再起動してもう一度確認してみましょう。

バージョンも確認します。

$ apachectl -v
Server version: Apache/2.2.29 (Unix)

次にhttpd.confファイルを設定しましょう。

httpd.confファイルの設定

httpd.confファイルにApacheの初期設定を行っていきます。httpd.confの場所は「/usr/local/etc/apache2/2.2/httpd.conf」です。

ポート番号の変更

デフォルトでは「8080」なので「80」に変更。

Listen 80

サーバーネームの設定

ポート番号を変更したのでここも変更。頭に#が付いている場合は外しておきましょう。

ServerName localhost:80

ドキュメントルートの変更

htdocsの場所を指定します。htdocsはサーバーで公開したいデータを置く場所です。※私の環境ではうまく設定できなかったので、デフォルトのまま「/usr/local/var/www/htdocs」としました

DocumentRoot "/User/ユーザ名/htdocs"

この場合、ホームディレクトリに「htdocs」フォルダを作成しておく必要があります。

.htaccessでURLのoverwriteを許可

先ほど設定したDocumentRoot設定箇所すぐ下に下記コードがあります。次のように変更しましょう。

<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>

↓変更

<Directory "/Users/ユーザ名/htdocs">
Options FollowSymLinks
AllowOverride All
Order deny,allow
Deny from all
</Directory>

index.phpを利用できるように設定

下記のようにindex.phpを追加します。

DirectoryIndex index.php index.html

.phpを実行できるようにMIMEタイプを追加

<IfModule mime_module>の下に下記コードを追記。

AddType application/x-httpd-php .php

バーチャルホストの利用

バーチャルホストを利用したい場合は下記コードの#を削除します。

# Include /usr/local/etc/apache2/2.2/extra/httpd-vhosts.conf

バーチャルホストの設定

バーチャルホストの設定をおこなうので「/usr/local/etc/apache2/2.2/extra/httpd-vhosts.conf」を編集していきます。下記コードを追記します。

# NameVirtualHost *:80 (Apache2.4からはこの記述いらないみたい。一応コメントとして残しておきます)

<VirtualHost *:80>
ServerName sample.local
DocumentRoot /Users/ユーザ名/htdocs
DirectoryIndex index.php index.html

<Directory "/Users/ユーザ名/htdocs">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>

上記以外の記述を全てコメントアウト(頭に#)しておきましょう。

PHP5.5インストールと初期設定

まずはPHPを扱うFormulaを追加します。

HomebrewでPHPをインストールできるようにFormulaを追加します。

$ brew tap homebrew/dupes
$ brew tap homebrew/versions
$ brew tap homebrew/homebrew-php
$ brew install php55 --homebrew-apxs

–homebrew-apxsをつけることでhttpd.confに下記が自動で追加されます。

LoadModule php5_module /usr/local/Cellar/php55/5.5.23/libexec/apache2/libphp5.so

バージョンを確認してみます。

$ php -v
PHP 5.5.14 (cli) (built: Sep 9 2014 19:09:25)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies

古いバージョンだったので、Macにデフォルトで入っているPHPが使われていることがわかります。Homebrewで導入した新しいPHPを使うためにパスを通しましょう。「.bashrc」に下記を追記します。

# for Homebrew php55
export PATH="$(brew --prefix homebrew/php/php55)/bin:$PATH"

.bashrcを更新しましょう。

$ source .bashrc

もう一度確認します。

$ php -v
PHP 5.5.23 (cli) (built: Apr 7 2015 22:41:44)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies

無事に導入したPHPに切り替えられました。

php.iniの設定

デフォルトで日本語に対応していないので「/usr/local/etc/php/5.5/php.ini」を下記の通り変更します。該当箇所をそれぞれ見つけて書き換えましょう。

date.timezone = Asia/Tokyo
default_charset = "UTF-8"
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII

Apacheの起動と動作確認

apacheを起動させます

$ sudo apachectl start

下記の内容の「index.php」を「/User/ユーザ名/htdocs」の中に追加します。

<?php
  echo"Hello world!";

ブラウザを開いて、アドレスバーに「localhost」と入力して確認してみましょう。

homebrew-php-apache-mysql

無事に表示されました!

ちなみにapacheは下記コマンドで停止できます。

$ sudo apachectl stop

PHP,MySQL,Apacheの導入は以上です。お疲れ様でした。

参考

参考OS X YosemiteにHomebrew + DropboxでPHP環境構築 〜Apache, PHP, MySQL, ComposerをインストールしてFuelPHPの設定まで – Qiita

参考HomebrewでApache、PHP、MySQL、phpMyAdmin追加 – Furudateのブログ

この記事が気に入ったら
いいね ! しよう

Twitter で
LINEで送る
Pocket

okutani (@okutani_t) のヒトコト
意外とMacにPHP環境を作るのに手間取ってしまいました…ちょっとごちゃごちゃしているのでゆっくり構築していきましょう。

 - Mac, PHP

スポンサーリンク

PC用AdSense

PC用AdSense

  こちらもどうぞ

  • ふっくん

    上の設定で、最後にlocalhostをブラウザーにいれると、index.phpファイルをダウンロードするダイアログでてきました。画面には何も表示されませんでした。この原因はなんでしょうか

    • おそらく、Apacheが起動していない、もしくはApacheの設定が適切におこなえていないため、表示できずにファイルがダウンロードされてしまうのではないかと思います。Apacheを再起動してみるなどしてみてください

vdeepのトップページへ戻る画像です。風船の形をした島を女の子が掴んでいます。