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

Macでローカルサーバを立ち上げる方法

More than 3 years have passed since last update.

0. 環境

私の開発環境は下記です。

  • Mac OS バージョン10.10.2
  • PHPが入っている
    • php -v → PHP 5.5.14 (cli) (built: Sep 9 2014 19:09:25)
  • Apacheが入っている
    • httpd -v → Server version: Apache/2.4.9 (Unix)

最近の新しいMacは最初からPHPやApacheが入っているので便利です。

1. Apacheの起動(httpdの起動)と確認

1-1. 起動、停止、再起動

Apacheを起動するには

sudo apachectl start

を叩けばよい。停止したければ、

sudo apachectl stop

再起動したければ、

sudo apachectl restart

を叩けばよい。

【参考サイト】
▼apacheを使ってローカルサーバーを構築する方法
http://motw.mods.jp/Mac/local_server.html

1-2. 確認

CLI上で確認する方法と、ブラウザで確認する方法があります。
CLI上でプロセスが立ち上がっていることを確認するには、

$ ps aux | grep httpd

を叩いてみて、

hoge          19457   0.0  0.0  2460420    712 s006  S+    6:53PM   0:00.00 grep httpd
_www            18765   0.0  0.0  2470452    852   ??  S     6:43PM   0:00.00 /usr/sbin/httpd -D FOREGROUND
_www            18761   0.0  0.0  2478644   2740   ??  S     6:43PM   0:00.01 /usr/sbin/httpd -D FOREGROUND
root            18760   0.0  0.1  2470452  10100   ??  Ss    6:43PM   0:00.27 /usr/sbin/httpd -D FOREGROUND

のように、グレップコマンドそのもの(hoge 19457 0.0 0.0 2460420 712 s006 S+ 6:53PM 0:00.00 grep httpd)以外にプロセスが立ち上がっていればOK。

ブラウザで確認するには、http://localhostをWeb検索してみて、
web_server.png
のように表示されれば成功。

2. Apacheの設定ファイル修正

2-1. PHPを使う

WebサーバでPHPを使うためには、Apacheの設定ファイルを変えなくてはなりません。

設定ファイルの場所は、/etc/apache2/httpd.confなので、

vim /etc/apache2/httpd.conf

を叩き、ファイル中の

/etc/apache2/httpd.conf
#LoadModule php5_module libexec/apache2/libphp5.so

の行頭の#(コメントアウト記号)を消して

/etc/apache2/httpd.conf
LoadModule php5_module libexec/apache2/libphp5.so

とすればWebサーバ上でPHPが使えるようになる。

※設定ファイルの更新内容を反映させるためにはApacheの再起動が必要なので注意!

【参考サイト】
▼Mac OS X MavericksにApacheとPHPをインストールしてWebアプリの開発環境を作ってみる
http://blog.hyec.jp/2014/02/mac-os-x-mavericksapachephpweb.html

2-2. ユーザディレクトリの有効化

Webサーバでドキュメントルート直下とは別のディレクトリを閲覧したい場合、下記の修正が必要。

sudo vim /etc/apache2/httpd.conf

を叩き、ファイル中の

/etc/apache2/httpd.conf
LoadModule userdir_module libexec/apache2/mod_userdir.so

/etc/apache2/httpd.conf
Include /private/etc/apache2/extra/httpd-userdir.conf

を有効化(行頭の#を消し、コメントアウトを消す)すれば、ユーザーディレクトリにブラウザからアクセスできるようになる。

【参考サイト】
▼OS X 10.10 YosemiteでApache(ウェブ共有/サイト)を使う方法
http://nantekottai.com/2014/10/26/os-x-10-10-sites/

補足説明

http://localhostにてブラウザからアクセスした場合、画面に表示されているのは、

/Library/WebServer/Documents/index.html.en

の中身である。
ここで、ディレクトリ階層を1つもぐって、

/Library/WebServer/Documents/hoge/index.html

というファイルを作成した場合、http://localhost/hoge/にアクセスすると、

Forbidden

You don't have permission to access /hoge/ on this server.

と表示される。Forbiddenされないために、上述のようなApacheの設定ファイル修正が必要である。

3. その他メモ(自分用チートシート)

3-1. Apacheの起動・停止・再起動

▼Mac

sudo apachectl start
sudo apachectl stop
sudo apachectl restart

▼CentOS

sudo /etc/rc.d/init.d/httpd start
sudo /etc/rc.d/init.d/httpd stop
sudo /etc/rc.d/init.d/httpd restart

3-2. 設定ファイルのパス

▼Mac

/etc/apache2/httpd.conf

▼CentOS

/etc/httpd/conf/httpd.conf

3-3. ドキュメントルート

▼Mac

/Library/WebServer/Documents

▼CentOS

/var/www/html

3-4. httpd自動起動設定

▼Mac

sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist

▼CentOS

chkconfig --list | grep httpd #設定の確認
sudo chkconfig httpd on #自動起動設定
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
ユーザーは見つかりませんでした