Laravelでプロジェクトを作成していく際の初期設定をやっていきます。
ここではLaravel ,Composerを導入し終えた状態で進めていきます。また、使うPCはMacです。
1.初期設定(ターミナル)
まず、ターミナルでMAMPのhtdocs内にプロジェクトを作成していきます。
$ cd /Applications/MAMP/htdocs
移動できたら、下記のコマンドを入力してblogというアプリを作成します。
$ composer create-project laravel/laravel --prefer-dist blog
最後に Application set key successfully.と表示されれば、
MAMPのhtdocs内にblogというプロジェクトを作成できました。
次に作成したmyblogに移動して、初期設定を行います。
$ cd blog
移動できたら初期設定を行います。
権限の設定です。Laravelではログファイルはデフォルトでapp/storage/logsディレクトリの下に作成されます。このディレクトリ以下にnginxはapacheユーザでの書き込み権限が必要です
権限に関してはこちら
$ chmod -R 777 storage
$ chmod -R 777 bootstrap/cache
storageとcacheがこれで権限が一番緩い状態になります。以上でターミナルによる初期設定は終了です。
2.初期設定(MAMP)
次にMAMPの設定です。localhostに接続した際のトップページを設定していきます。ここは設定してもしなくても大丈夫です。
1. MAMPを開く。
2. Desktopの左上のバーのところのMAMPを押してPreferenceを押す。
3. 真ん中のselectを押して、/Application/MAMP/htdocs/blog/publicを選択。
4. OKをクリック
5. start serverをクリック
6. localhostにアクセス
これはLaravelのトップページがpublic配下に存在するためです。localhostに接続した際に以下の画面が表示されれば正しく接続できています。
3.DB作成
webブラウザ上のMAMPの中でTOOLSのPHPmyadminを開きます。
1. サイドバーのnewを押して新しくDBを押す。
2. Create Databaseと出てくるので名前のところにblogと追加。
3. 右のセレクトボックスをutf8mb4_unicode_ciとする。
4. Createボタンを押す。
左側のサイドバーにblogと追加されれば完了です。
次にご自身のテキストエディターでblogを開いてください。.env.exampleというファイルが存在するのでひらいてください。.envファイルという似たようなファイルも存在しますが、.env.exampleの方に記載する事でGitで管理できるので複数人で開発をする際にはこちらに記載する方が良いらしいです。間違ってたらすいません。
1. 一行目のAPP_NAMEをlocalhostからblogに変更。
2. DB_PORTをご自身のPORT番号に変更。
3. DB_DATABASEをblogに変更。
4. DB_PASSWORDをrootに変更。
5. 15行目にDB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sockを追加。
(ご自身のPORT番号やパスワードはweb上のMAMPを開いていただいて、少し下にスクロールしていただくと書かれています。)
次に、mysqlのバージョンによっては文字化けする可能性があるのでそれを防ぐためのコードを追加していきます。テキストエディターで、 app/Providers/AppServerProviders.phpを開きます。以下の様に変更を加えてください。
1. 6行目にuse Illuminate\Support\Facades\Schema;を追加。
2. 27行目にSchema::defaultStringlength(191);を追加。
Timezone
Timezoneの変更をしていきます。
1. config/app.phpに移動
2. 70行目のUTCをAsia/Tokyoに変更
3. 83行目をlocaleを「ja」に変更
これで初期設定は終了になります。
終わりに
以上が初期設定でした。次回はLaravelでMVCの作成をしていきます。参考サイトを貼っておきますので是非確認してみてください。
https://www.youtube.com/watch?v=yaitzPzBzuI&t=600s
https://www.ritolab.com/entry/49
https://readouble.com/laravel/7.x/ja/database.html
https://qiita.com/shisama/items/5f4c4fa768642aad9e06