*

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

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

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

記事を読む

no image

Node.jsのSocket.io入門

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

記事を読む

no image

PHPのcURLを利用してAPIをGET/POSTで叩く

PHPからcURLを利用してhttpのget, postで問い合わせを行ってみます。 今回はYAH

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

no image

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

現在googleで調べても日本語では微妙にかゆいところに手が届かないWebRTCと Socket.

記事を読む

no image

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

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

記事を読む

no image

CentOS 7 で ruby on rails 環境構築

気づいたらCentOS7が出てから時間が立っていました。 そろそろ新しく建てるサーバはCentOS

記事を読む

no image

Laravelでbladeを利用したViewを作成

今回はLaravelで採用されているviewテンプレートのBladeを利用して画面を作成してみます。

記事を読む

no image

Laravelでクラスをnewする

今回はLaravelでのクラスのnewの仕方です。 正確には、Laravelでの他ファイルで作成し

記事を読む

Message

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

PAGE TOP ↑