### 授業資料ダウンロードリンク [Googleドライブ](https://drive.google.com/drive/folders/1PVyoulX1_TY-mPQaN4SEnNGUpzpRvagu?usp=sharing) ## 環境構築 ### 【AWSコンソールにログイン】 #### 1. まずは[AWSAcademy](https://awsacademy.instructure.com/login/canvas)にログイン #### 2. 左側のリストからコースを選択 #### 3. モジュールをクリックして画面中央の「Learner Lab」を開く #### 4. 「Start Lab」ボタンをクリック #### 5. 「AWS」の横のランプがグリーンになったら「AWS」のリンクをクリック #### 6. AWSマネジメントコンソールへログインできます。 #### 7. 上部検索窓からAWSCloud9と検索してクリック #### 8. AWSCloud9の管理画面に入れます。 ### 【AWSCloud9でプロジェクト作成】 #### 1. Create environmentをクリック 環境設定情報 ``` Name: 自由 Description: 自由 Environment type:New EC2 instance Instance type: Additional instance types t2.micro Connection: Secure Shell (SSH) その他は変更なし ``` #### 2. 入力できたらCreateをクリック #### 3. 管理画面のプロジェクト一覧からopenをクリック *Cloud9のエディターか立ち上がります。 ### 【Linuxコマンド】(ここはやってもやらなくてもOK) ターミナルやバッシュと呼ばれる場所です。 通称CUI(Character-based User Interface) 反対はGUI(英:Graphical User Interface) つまり文字入力でパソコンに命令するための場所です。 よく使うコマンドを簡単に一覧にしておきました ``` //今のディレクトリ(階層)の絶対パスの確認 $ pwd //新しいディレクトリ(階層)を作成 $ mkdir 〇〇 //新規ファイルの作成 $ vi ファイル名 ~~~viの使い方~~~ 1. 「i」と入力してインサートモードに変更 2. 好きなように編集 3. ESCキーを押してインサートモードを終了 4. 「:w」と入力して保存 5. 「:q」と入力してviを終了 ~~~~~~~~~~~~~~ //ファイルとディレクトリ(階層)削除 $ rm -r ディレクトリ名 //今いるディレクトリ(階層)のディレクトリ一覧 $ ls //今いるディレクトリ(階層)のディレクトリとファイル一覧 $ ls -a //今いるディレクトリ(階層)内の希望のディレクトリ(階層)へ移動 $ cd ディレクトリ名 //今いるディレクトリ(階層)から一つ上のディレクトリ(階層)へ戻る $ cd .. //ターミナルにコマンドが埋まってきたら履歴削除 $ clear ``` ### 【Laravelを動かす為に必要なものを導入していく】 基本的にLaravelを動かす為にはPHPとComposerが必要です。 AWSCloud9はクラウド上に空っぽのサーバーを借りてくるので必要なものは自分でインストールする必要があります。 今回は中身の詳細は軽く説明だけにして簡単にインストールできるようにパッケージにしたシェルスクリプトを実行することで準備します。 #### 1.Fileタブから今日の授業資料からsetup.shをアップロードします。 #### 2. セットアップのシェルスクリプトを実行 `sh setup.sh` ## Laravelのプロジェクト立ち上げ ### 【Laravelの起動】 #### 1. サーバーの起動とLaravelプロジェクトの起動チェック #ディレクトリ移動 `cd cms` #BuiltInサーバーを起動:動作確認 `php artisan serve --port=8080` *Cloud9の画面上部の緑の起動ボタンの左側Previewボタン>Preview Running Applicationをクリック 右下に画面が起動してLaravelの文字が確認できたらOK #### 3.コンポーザーをアップデートしておく `sudo composer update` ### 【データベースの作成】 ターミナルの上に緑プラスボタンからNewterminalを起動 `mysql -u root -p` `root [Enterキー]` `create database c9;` `show databases; ` `exit;` ### 【Laravelプロジェクト初期設定】 #### 1. env(ファイル内の同じ箇所を上書き) ``` DB_CONNECTION=mysql DB_HOST=localhost DB_PORT=3306 DB_DATABASE=c9 DB_USERNAME=root DB_PASSWORD=root ``` #### 2. サーバーの再起動 サーバー起動後のターミナル上で `Ctrl + C` #### 3. /app/Providers/ AppServiceProvider.php ファイルを修正 ``` use Illuminate\Support\Facades\URL; //この行を追加 //bootメソッドを以下に変更 public function boot() { URL::forceScheme('https'); //この行を追加 } ``` #### 4. 表示の仕組みをチェックしてみる! #4-1 /resouces/views/welcome.blade.php を編集して見よう! #4-2 ブラウザ・更新で確認 → 変更確認できればOK ## ログイン認証 ### 【ログイン認証実装】 #### 1. Laravel10 の場合 `sudo composer require laravel/breeze --dev` 質問が来たらyesでOK #### 2. artisan コマンドを実行 `php artisan breeze:install` インストールするバージョンはblade(0)を選択 他の質問はyesでOK #### 3. npmパッケージをインストール `npm install` #### 4. パッケージをビルド `npm run build` #### 5.テーブル作成 `php artisan migrate` #### 6. ログイン画面へのリンクを追加する以下2ページ /resources/views/auth/register.blade.php /resources/views/auth/login.blade.php ``` #<x-guest-layout> 省略 #</x-guest-layout>...以下... <!-- 以下を追加 --> @if (Route::has('login')) <div class="hidden fixed top-0 right-0 px-6 py-4 sm:block"> @auth <a href="{{ url('/dashboard') }}" class="text-sm text-gray-700 dark:text-gray-500 underline">Dashboard</a> @else <a href="{{ route('login') }}" class="text-sm text-gray-700 dark:text-gray-500 underline">Log in</a> @if (Route::has('register')) <a href="{{ route('register') }}" class="ml-4 text-sm text-gray-700 dark:text-gray-500 underline">Register</a> @endif @endauth </div> @endif ```