Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
145
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

updated at

Organization

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

・一番手っ取り早い方法

一番手っ取り早い方法は、ターミナルで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

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
145
Help us understand the problem. What are the problem?