0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Laravelのプロジェクトの作り方を整理した

0
Last updated at Posted at 2019-10-22

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ファイルを、環境に合わせて更新します。
初期化後の状態は下記のとおりです。

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ファイルがあります。
デフォルトの内容は下記の通り。

.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プロジェクトごとにインストールしないと上手く動かないから注意してね。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?