MacにHomebrewでPHP, Apache, MySQLを導入する
2017/02/01
こんにちは、okutani(@okutani_t)です。MacにはデフォルトでPHPとApacheがすでに入っていますが、私は普段からHomebrewを使ってアプリを管理しています。
今回はその導入手順を記して置きます。今回はPHP5.5, MySQL5.6, Apache2.2をHomebrewを使って導入してみましょう。
Homebrewの導入方法は下記の記事からどうぞ。
スポンサーリンク
もくじ
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」と入力して確認してみましょう。
無事に表示されました!
ちなみに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のブログ
Web開発のお仕事を募集しています
フリーランスのエンジニアとして、Webシステム開発のお仕事依頼を随時募集しています(現在の業務量によってお受けできない場合もあります)。
「Ruby on Rails」「JavaScript(jQuery, Reactなど)」「HTML + CSS」を用いたシステム開発、「Heroku」等を用いたサーバー構築・運用、「Git」や「GitHub」を利用したソーシャルコーディングなどに対応しています。
ご依頼を検討している方は、下記リンク本ブログからのお問い合わせ、もしくはokutaniのポートフォリオからご連絡ください。
LINKお問い合わせ
スポンサーリンク