MAMPでLaravelを動かしてみた!インストールとログイン認証の作り方

PHPフレームワークで一番人気のLaravelをMAMPで手軽に動かしてみようと思います。

とりあえず、MAMPとComposerはインストールしておいてね!

Laravelのインストール

インストールする場所でComposerのコマンドを打ってダウンロードします。

今回はblogディレクトリにインストールしています。

$ composer create-project --prefer-dist laravel/laravel blog

ドキュメントルートに設定する場所はここ。

blog/public

Laravelの初期ページが表示されたらインストール完了です。

ログイン認証の設定

ユーザーの登録フォームやログインしないとアクセスできない管理画面を作成します。

まずはデータベースを作成してください。

作成したデータベースと接続する設定を記述します。

blog/.env

MAMPの初期設定のままならユーザー名とパスワードはrootですね。

DB_DATABASE=作成したデータベース名
DB_USERNAME=root
DB_PASSWORD=root

次にconfig/database.phpの修正をします。

database.phpに記述されているenv()の関数は.envの値を呼び出していて、.envに記述されていない場合は、右側の値が設定されます。

.envを修正するだけで基本的には変更する必要ありません。

しかし、MAMPを利用する場合、unix_socketを/Applications/MAMP/tmp/mysql/mysql.sockに設定が必要です。

そして、charsetをutf8にし、collationをutf8_unicode_ciに変更します。

utf8mb4の文字コードはmysqlのバージョンが古いとエラーになるのでutf8にしておくのが無難でしょう。

'default' => env('DB_CONNECTION', 'mysql'),

    'connections' => [
        'sqlite' => [
            'driver' => 'sqlite',
            'database' => env('DB_DATABASE', database_path('database.sqlite')),
            'prefix' => '',
        ],

        'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock',
            'charset' => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
        ],

        // ....
    ];

データベースの接続設定ができたら、テーブルを作成します。

$ php artisan migrate

このコマンドは、blog/database/migrationsにあるファイルを使って、データベースにテーブルを作成するコマンドです。

ちゃんと接続ができていれば、データベースにテーブルが作成されます。

次にログイン認証機能作成するコマンドを叩けばログイン認証は完成です。

$ php artisan make:auth

ここで作成された管理画面のURLは/homeになってしまうので、状況にあわせ変更してください。

blog/app/Http/Controllers/Authの中にあるこの4つが対象ファイルです。

  • LoginController
  • RegisterController
  • ResetPasswordController
  • VerificationController

$redirectToを変更すればOKです。

Laravelはコマンドを打てば自動で色々作成してくれるので便利ですよね。

今回はインストールとログイン認証の作成でしたが、これからLaravelを使ってWebサービスを作成していきます。

正社員という奴隷制度に中指を立てるWebエンジニアです。PHPが得意。繋がれた鎖を断ち切るために、自由を取り戻すために、会社から独立するために、プログラミングスキルを磨く日々です。プログラミングと個人でもできるビジネスについて、情報発信しています。

詳しくはこちら