Laravelのインストール手順はよく出てくるのですが、インストールした後って、どこからやればプロジェクト作れるんだっけ?ってたまにテンパる。
そんな自分可愛さにプロジェクト初期作成をメモしておきます。
Laravelプロジェクトを作る
すべてインストール済みの環境なら、Laravelのプロジェクトから作成すればいいよね。
プロジェクトを作成するディレクトリに移動して、以下のコマンドを実行する。
> composer create-project laravel/laravel [プロジェクト名]
「laravel/laravel」はgithub.com/laravel/laravelを指していて、ここからcloneしてくる、ということ。[プロジェクト名]で指定したプロジェクトをコマンド実行時のディレクトリに作るので、コマンド実行前にプロジェクトを作成するディレクトリに移動しておくこと。
ちなみによく出るオプションにこんなのがある。
--prefer-dist:リリース版、安定版をインストールする。
> composer create-project laravel/laravel --prefer-dist [プロジェクト名]
laravel/laravel=5.8:指定したバージョンをインストールする。
> composer create-project laravel/laravel=5.8 [プロジェクト名]
結構頻繁にバージョンが変わるので、バージョンを意識してプロジェクト作成しておいたほうが良さそうです。
Homesteadを構築する
設定ファイルをcloneする
Homesteadはいくらでも作れます。VirtualBox立ち上げると仮想サーバーが山ほど表示されてぎょっとするが、DBも分けて作れるので、新しく作ってしまったほうがわかりやすい気がする。
コマンドはHomesteadを構築するディレクトリに移動してから実行すること。
vagrantのboxは、最初にhomesteadの環境を構築したときにダウンロードしているはずなので、今回はダウンロード不要。
ただ、最新版が欲しいときは--forceをつけて上書きでダウンロードします。
> vagrant box add --force laravel/homestead
homesteadの設定ファイル等をgithubからcloneします。
> git clone https://github.com/laravel/homestead.git [ディレクトリ名]
ディレクトリ名にhomesteadを構築するディレクトリの名前を設定します。
設定ファイルを更新する
homesteadをクローンしたら、まず初期化します。
homesteadを構築したディレクトリに移動して、初期化用のバッチファイルを実行します。
> init.bat
「Homestead Initialized!」と表示されたら、初期化は終了です。
設定ファイルの更新
初期化用のバッチファイルを実行して作成されたhomestead.yamlファイルを、環境に合わせて更新します。
初期化後の状態は下記のとおりです。
---
ip: "192.168.10.10"
memory: 2048
cpus: 2
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
folders:
- map: ~/code
to: /home/vagrant/code
sites:
- map: homestead.test
to: /home/vagrant/code/public
databases:
- homestead
features:
- mariadb: false
- ohmyzsh: false
- webdriver: false
# ports:
# - send: 50000
# to: 5000
# - send: 7777
# to: 777
# protocol: udp
変更する場所は、下記の項目です。
ip(任意)
前の環境をまた立ち上げることがあるなら、ipアドレスを新しく振ったほうがいいかも。
name(必須)
homesteadの名前を設定します。デフォルトのパラメータには入っていません。
providerの下に追加してください。
ip: "192.168.10.10"
memory: 2048
cpus: 2
provider: virtualbox
name: hoge
sites(必須)
to:にlaravelをインストールしたディレクトリを設定する。
/home/vagrant/までは固定、/codeの部分をインストールしたディレクトリ名に変更、/publicはそのままにする。
/codeの下に/hogeフォルダを作成してlaravelをインストールしたときは、/home/vagrant/code/hoge/publicと設定する。
database(任意)
ここに設定した名前でデータベースが作成される。
ここで設定したデータベース名は、laravelの設定ファイルにも同じ名前で設定すること。
後のところはお好みで変更してね。
laravelの設定ファイルを変更する
laravelの設定ファイルも変更する必要があります。
インストールしたlaravelプロジェクトのディレクトリ配下に.envファイルがあります。
デフォルトの内容は下記の通り。
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:7YVOOyPfcCdEEYYNp3fG2P4trisJuQNUA2fRL6Lez7c=
APP_DEBUG=true
APP_URL=http://localhost
LOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
変更しなくてはならないところは、DBの設定です。
DB_DATABASEの設定内容を、vagrantのhomestead.yamlのdatabaseに設定した値と合わせます。
DB_usernameやDB_passwordは、気になる人は変更しておいてください。
そもそもMysqlなんか使わないぜ、という人は独自に設定してください。
ここまでやれば、laravel環境の基礎部分は設定完了です。
vagrant upで環境を立ち上げてください。
ちなみに設定間違って修正しているのになかなか正しく表示されないときは、vagrant destoryで一回仮想環境を完全に消してから再度vagrant upすると直るかも。
はまったら試してみてね(仮想環境の内容が全部消えるので、そこだけ注意してね)。
あと、npmもlaravelプロジェクトごとにインストールしないと上手く動かないから注意してね。