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

Macでローカルサーバー構築あれこれ

More than 1 year has passed since last update.

・一番手っ取り早い方法

一番手っ取り早い方法は、ターミナルでpythonコマンドを1行叩く方法。

python -m SimpleHTTPServer 8888

これでURLを http://localhost:8888/ とすれば
ブラウザから動作確認できる。

※ 機械学習やDeepLearningのために Anacondaをインストールした方などは、
上記コマンドで怒られる可能性があるので手っ取り早くしたい場合は、こっちで
python -m http.server 8888

動作確認したいhtmlのファイルなどがある階層へcd等で移動し
そこでpython -m SimpleHTTPServer 8888を叩けば、ブラウザで確認できるので
どのファイルも確認が可能。

※サーバーの停止は、[control] + [c]

・違う方法

MacOS X 以降の最近のMacは、最初からPHPやApacheが入っている。
デフォルトで「不使用」になっている設定を少し変えるだけで利用可能。

php -v
で、PHPのバージョンが確認できる。
また、
httpd -v
でApacheのバージョンが確認できる。

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

1.起動、停止、再起動
Apacheを起動するには、sudo apachectl start

停止するには、sudo apachectl stop

再起動するには、sudo apachectl restart
を叩けばよい。

sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
とするとhttpを自動起動することも可能

2.確認
CLI上で確認する方法と、ブラウザで確認する方法がある。


CLI上で確認するには、ps aux | grep httpdを叩いて、
グレップコマンドそのもの(hogehoge 36119 0.0 0.0 2436878 820 s000 S+ 4:18PM 0:00.00 grep httpd)以外にプロセスが立ち上がっていれば成功。

ブラウザで確認するには、http://localhost をWeb検索してみて、

『It works!』と画面に表示されれば成功。

http://localhost/の中身は/Library/WebServer/Documents/に配置されている(システムルート)。つまり、http://localhostをブラウザからアクセスした場合、画面に表示されているのは、/Library/WebServer/Documents/index.html.enの中身。

その他の設定

(不便なことに/Library/WebServer/Documents/ディレクトリのownerはrootになっている。システムルートディレクトリではなくユーザのディレクトリを使って作業したほうが効率が良い。)


今の状態では、ディレクトリ階層を1つ降りて、
/Library/WebServer/Documents/hogehoge/index.html
というファイルを作成した場合、http://localhost/hogehoge/にアクセスすると、

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

と表示される。

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

1.ユーザディレクトリの有効化
#sudo vi /etc/apache2/httpd.confをターミナルで叩き、
LoadModule userdir_module libexec/apache2/mod_userdir.so
と、
# User home directories
#Include /private/etc/apache2/extra/httpd-userdir.conf
⇦の2行のコメントアウトを除去(アンコメントする)。

2.ユーザディレクトリの作成
mkdir ~/Sites
ホームディレクトリにSitesというディレクトリを作る。
このディレクトリの中にindex.htmlなどを作成。

sudo vi /etc/apache2/users/ユーザ名.conf
/etc/apache2/users/以下にユーザ単位の設定ファイルを作る。

<Directory "/Users/ユーザ名/Sites/">
AllowOverride All
Options Indexes MultiViews
Options +FollowSymLinks
Require all granted
</Directory>

最後にApacheを再起動(sudo apachectl restart)して設定を反映させれば、
http://localhost/~ユーザ名/で~/Sites以下のファイルにアクセスできる。

3.PHPを使いたい場合
vim /etc/apache2/httpd.conf
を叩き、ファイル中の
#LoadModule php5_module libexec/apache2/libphp5.so
の行頭の#を消せば、Webサーバ上でPHPが使えるようになる。

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

【参考サイト】

▼Macでローカルサーバを立ち上げる方法
http://qiita.com/shuntaro_tamura/items/bdabcb77926dc92617b1

YuukiWatanabe
まだまだ勉強中です。 最近は休日、Xcode(swift)でiOSアプリ開発とUnity(C#)でVRゲームアプリ開発をしています。IoTとVR/ARにかなり興味あり。よろしくお願いします。
yahoo-japan-corp
Yahoo! JAPAN を運営しています。
https://www.yahoo.co.jp
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
ユーザーは見つかりませんでした