*

MAMPでLaravelを動作させる

公開日: : 投稿者:raru apache, php, web技術

先日laravelをMAMPのhtdocsに配置しましたが、当然それでは動かなかったので設定しました。

どうもビルトインサーバで動かせるらしいのですが、brewでインストールするとグローバルなphpとcomposerで利用するphpが違うため、コンソールからphp 〜って打ち込んでもまたmcryptインストールしろ等出て面倒です。

おとなしくapacheの設定をしてしまうことにしました。

MAMP上のApacheを設定

まずはhttpd.confを修正してデフォルトで用意されているvirtual-host設定用のファイルを読み込むようにします。

# まずはバックアップを取得します。もう癖です
cp /Applications/MAMP/conf/apache/httpd.conf /Applications/MAMP/conf/apache/httpd.conf.org
vi /Applications/MAMP/conf/apache/httpd.conf

# diffを見るとわかりますが、単純にコメントを解除しただけです
diff /Applications/MAMP/conf/apache/httpd.conf.org /Applications/MAMP/conf/apache/httpd.conf
570c570
< #Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
---
> Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

これでvirtual-hostの設定を読み込むようになりましたので、続いてvirtual-hostの設定を行います。

# バックアップ取得
cp /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf.org
vi /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
diff /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf.org /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

19c19
< NameVirtualHost *:80
---
> NameVirtualHost *:8888
27,33c27,32
< <VirtualHost *:80>
<     ServerAdmin webmaster@dummy-host.example.com
<     DocumentRoot "/Applications/MAMP/Library/docs/dummy-host.example.com"
<     ServerName dummy-host.example.com
<     ServerAlias www.dummy-host.example.com
<     ErrorLog "logs/dummy-host.example.com-error_log"
<     CustomLog "logs/dummy-host.example.com-access_log" common
---
> <VirtualHost *:8888>
>     DocumentRoot "/Applications/MAMP/htdocs/your-project/public"
>     ServerName mamp-test.com
>     <Directory "/Applications/MAMP/htdocs/your-project/public">
>         AllowOverride All
>     </Directory>
36,45d34
< <VirtualHost *:80>
<     ServerAdmin webmaster@dummy-host2.example.com
<     DocumentRoot "/Applications/MAMP/Library/docs/dummy-host2.example.com"
<     ServerName dummy-host2.example.com
<     ErrorLog "logs/dummy-host2.example.com-error_log"
<     CustomLog "logs/dummy-host2.example.com-access_log" common
< </VirtualHost>

27,33c27,32と出ているところは行数と、何をしたかを表しています。
cなのでchangeです。
該当行数の箇所を編集しました。

36,45d34となっているところはdなのでdeleteです。
最初に2つ設定があったので、片方は消しました。

DocumentRootやDirecotyにはlaravelで作成するプロジェクト内にあるpublicフォルダを指定してください。
なんだかRoRみたいですね。

これでvirtual-hostの設定はおしまいです。
mampはデフォルトでは8888ポートを利用しているので8888でvirtual-host設定をするようにしましょう。

hostsの設定

virtual-hostの設定で、さりげなくserver nameをmamp-test.comとしていました。
これはlocalのhostsファイルを編集してこの名前を利用するためです。

# hostsはroot権限がないと触れないのでsudo
sudo vi /private/etc/hosts

# catで中身を確認
cat /private/etc/hosts

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1	localhost mamp-test.com
255.255.255.255	broadcasthost
::1             localhost 

今回 127.0.0.1のlocalhostの隣に、mamp-test.comを追加しました。
これでmamp-test.comというドメイン?を127.0.0.1で解決します。

そのため、先ほどvirtual-hostで設定したポート8888を指定しつつ
http://mamp-test.com:8888 でアクセスするとlocalにあるMAMPのapacheへアクセスしに行きます。

試しにroutes.phpに

Route::get('/', 'HomeController@showWelcome');

を追加し、viewsフォルダ以下にあるhello.phpの中身を以下のように書き換えてみました。

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <title>this is my test site</title>
  </head>
  <body>
    hello world
  </body>
</html>

その後、apacheを再起動しhttp://mamp-test.com:8888にアクセスするとhello worldと表示されると思います。

これで開発環境が作成できましたね。

ただ、クイックスタートを見た所laravelでは何か仮想化された開発環境のパッケージを作って配布する方法が推奨っぽいのでこれはlaravel的にはダサい手法なのかもしれません。
このビッグウェーブに乗りたいところです。

まだ何にも触れてすらいないですが、laravelはかなりいい感じな気がします。
だいたい見てて「あ〜はいはい」ってなるので。

関連記事

no image

Facebook APIを試してみました

Facebook APIが気になったのでちょっと試してみました。 まず私が勘違いしていたこと

記事を読む

no image

WebRTC + Node によるルーム機能付きビデオチャット 2

前回の続き こちらは前回の記事の続きになります。 また前回の記事にコメントを頂いたのですが、

記事を読む

no image

Mac OS X (Yosemite) にLaravelをインストール

Max OS 10.10(yosemite)にPHPフレームワークのLaravelをインストールして

記事を読む

no image

RaspbianにZabbixをインストール

今回はRaspbianにZabbixをインストールしてみたいと思います。 前回のPidoraでは「

記事を読む

no image

システムの仕様書を作れそうなウェブアプリ

現在サービス開発を本気で取り組もうと思っているraruです。 本気が指すところは、事業として成立す

記事を読む

no image

Facebookから日本語でデータ取得 (※だたしlocationは除く

Facebook Graph APIを通して取得したデータがローマ字や英語で困ることがあります。

記事を読む

no image

PHPでXMLをnamespaceを利用したxpathでnode取得

PHPでxmlを読み込んでxpathでnodeを取得して見たいと思います。 今回はyahooの形態

記事を読む

no image

Node.jsのSocket.io入門

前置き WebRTCを使用して通信を行なうときに、offerなどの情報を伝える為にサーバサイドのプ

記事を読む

no image

要求されたアクションを実行するには、WordPress が Web サーバーにアクセスする必要があります。

wordpressの更新を行おうとした時の上記のエラーが発生した場合に、いくつか対策方法があります。

記事を読む

no image

Laravelでルーティングからview表示をしてみる

Laravelでのroutes.phpの設定と、bladeを利用してview表示を行います。 いろ

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

PAGE TOP ↑