公式ドキュメントを参考に、mac で簡単に Laravel の動作環境を構築できる Valet をインストールします。Laravel 5.4 を対象にしています。
前提条件
ポート80 が大丈夫か確認
Web ブラウザーで 127.0.0.1:80
にアクセスして、以下のようにアクセスできなければ大丈夫です。
何かページが表示されていたら、一時的に停止するか、起動を停止してください。
一時的に停止する(Apache の場合)
sudo apachectl stop
自動起動を停止する
- こちらを参照してください → mac にインストールした apache の自動起動を停止する - tanaka's Programming Memo
インストール
準備が整ったら、必要なものをインストールします。
以下で、Homebrew を更新します
brew update
PHP7.1以上をインストールします。まず php -v
で、インストールされているかと、バージョンを確認します。以下のようであれば 7.1.2 で条件を満たしているのでインストールは不要です。
ものが見つからなかったり、バージョンが古い場合は、以下で単純にインストールするか、こちらの記事を参考にバージョンを選べるようなインストールをしてください。
brew install homebrew/php/php71
Valet を以下でグローバルにインストールします。
composer global require laravel/valet
~/.composer/vendor/bin
ディレクトリーに PATH を通す必要があります。以下で確認してください。
echo $PATH
以下のように、/User/ユーザー名/.composer/vendor/bin
というパスが含まれていれば valet のインストールに進んでください。
見当たらない場合は、以下で起動テキストエディターで開きます。
open -e ~/.bash_profile
開いたファイルの最後に以下の1行を追加します。
export PATH=$PATH:$HOME/.composer/vendor/bin
[Ctrl]+[S]キーを押して保存したら、開いたエディターは閉じます。
Valetのインストール
以下で、Valet と DnsMasq をインストールして、 Valet の daemon を自動起動に設定します。
valet install
パスワードを要求されたら、ユーザーのパスワードを入力してください。
インストールが完了したら、自動的にサービスが起動します。以下をターミナルで実行してください。インストールが成功していたら、 127.0.0.1 が返答をします。
ping foobar.dev
確認できたら、[control]+[C]キーを押して ping を停止してください。
Valetの自動起動の停止
Valet は一度インストールすれば、mac を起動した時に自動的に起動するので、 valet start
や valet install
は不要です。
他の HTTPサーバーをデフォルトで使いたいなどで、Valet の自動起動を停止したい場合は、以下を実行してください。
valet uninstall
なお、一時的に valet を開始したい場合は、 valet start
、停止したい時は valet stop
を実行します。
ドメインを変更するには
インストールしたまま利用すると、Valet はローカル環境で .dev
ドメインでプロジェクトにアクセスできるようにします。これを変更するには valet domain tld-name
コマンドを使います。
例えば valet domain app
を実行すると、*.dev
ではなく、 *.app
でアクセスできるようになります。
データベース
MySQL などのデータベースを起動したら、 mysql -u 127.0.0.1
とすれば root として接続できます。既存のデータベースにも、既存のユーザー名とパスワードを使えばログインできます。
サイトを提供する
Valet のインストールが完了したら、 Laravel サイトを動かす park
と link
の2つのコマンドが提供されます。
park
コマンド
Valet でサイトを管理したい場合は、そのためのディレクトリーを作成して、 Laravel のプロジェクトをそのディレクトリー内で作成します。
- Valet 用のディレクトリーを作成していなければ、作成して、その中に移動します
mkdir ~/Sites && cd ~/Sites
- このディレクトリーを Valet で管理するために以下を実行します
valet park
- Laravel のプロジェトを作成します
laravel new blog
以上で、Laravel のプロジェクトの作成が完了したら、Web ブラウザーで http://blog.dev
を開くと、作成した Laravel プロジェクトを表示できます
これ以降、 Laravel のプロジェクトを "parked" したディレクトリー(今回の例では ~/Sites
ディレクトリー)に作成すれば、 http://プロジェクトディレクトリー名.dev
でアクセスできます。
おまけ
ここまでで問題なければ Laravel の開発に進めます。最後に、単一のプロジェクトのホスト方法、プロジェクトを共有する方法、その他の Valet のコマンドについて、公式サイトに書いてあった内容をまとめておきます。
link
コマンド
link
コマンドも Laravel サイトを表示できるようにするものです。このコマンドは、ディレクトリー全体をサービスするのではなく、一つのサイトをサービスしたい時に使います。
- ターミナルでプロジェクトフォルダーに cd コマンドで移動したら、
valet link app-name
を実行します。Valet は ~/.valet/Sites にシンボリックリンクを作成して、現在の作業用ディレクトリーとして記録します link
コマンドを実行したら、http://app-name.dev
でプロジェクトページを表示できます
リンクされた全てのディレクトリーを確認したい場合は、 valet links
を実行します。valet unlink app-name
を実行すれば、リンクを解除できます。
valet link
を使うと、同じプロジェクトを別のサブドメインで提供することができます。サブドメインや別のドメインをプロジェクトに設定したい場合は、プロジェクトフォルダーからvalet link subdomain.app-name
を実行します。
TLS によるサイトの安全化
デフォルトでは、 Valet は HTTP でサイトを表示します。これを TLS で暗号化された HTTP/2 で表示したい場合は、 secure
コマンドを使います。例えば、 laravel.dev
ドメインであれば以下のようにします。
valet secure laravel
元の HTTP による安全ではないサイトに戻したい場合は、 unsecure
コマンドを使います。例示したものを戻すには以下を実行します。
valet unsecure laravel
サイトの共有
Valet をインストールすれば、追加のインストールなどを必要とせず、ローカルのサイトを外部に公開することができます。
サイトを共有するには、ターミナルでサイトのディレクトリーに移動して、 valet share
コマンドを実行します。アクセスするための URL がクリップボードに設定されるので、 Web ブラウザーのアドレスバーにペーストすれば、公開された状態を確認できます。
公開を停止するには、[control]+[C]キーを押します。
valet share
は現在、valet secure
コマンドを使った安全設定に対応していません。
その他の Valet コマンド
コマンド | 説明 |
---|---|
valet forget |
"park"されたディレクトリーでこのコマンドを実行すると、そのディレクトリーを"park"されたディレクトリーから外します |
valet paths |
"park"された全てのパスを表示します |
valet restart |
Valet daemon を再起動します |
valet start |
Valet daemon を開始します |
valet stop |
Valet daemon を停止します |
valet uninstall |
Valet daemon の登録をアンインストールします |