초기 설정은 2가지가 있는데, 이 2가지는 처음에 설정해두면 굳이 나중에 바꿀일이 없고 추가하는 일도 거의 없다.
1. config/database.php
'connections' => [
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', 'localhost'), //★
'port' => env('DB_PORT', '3306'), //★
'database' => env('DB_DATABASE', 'laravel'), //★
'username' => env('DB_USERNAME', 'root'), //★
'password' => env('DB_PASSWORD', 'password'), //★
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],
],
DB에 관련한 설정을 하는 것이다.
나같은 경우에는 MySQL만 사용할거라 위의 내용 빼고는 모두 지웠다.
가장 기본적으로 //★ 가 있는 곳은 고쳐줘야한다.
host=처음에 설정은 아마 127.0.0.1 로 되어있을 텐데, Hostname 설정따라서 바꾸면 된다.
post=처음설정이 잘 기억아 안나지만, Port 설정 맞춰서 바꾸기
database=이건 데이터가 들어갈 테이블 이름이 아니다. 데이터베이스다!
라라벨에선 마이그레이트해서 테이블은 만들 수 있지만, 데이터베이스는 사전에 설정해야한다.
나같은 경우엔 아래 사진처럼 데이터베이스 부터 만들었다 .
username=Username 설정에 맞춰서 설정해주면 된다.
password=바로 위에 적은 username 계정의 비번을 적어주면 된다.
이 5개가 가장 기본적인 것이고, 세세하게 하시는 분들은
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
이것도 utf8만으로 설정도 해주시던데 나는 실제로 해보니 기본설정으로 해도 문제가 없어서 그냥 쓰고 있다.
아래는 내가 설정한 config/database.php의 전체코드이다.
<?php
use Illuminate\Support\Str;
return [
/*
|--------------------------------------------------------------------------
| Default Database Connection Name
|--------------------------------------------------------------------------
|
| Here you may specify which of the database connections below you wish
| to use as your default connection for all database work. Of course
| you may use many connections at once using the Database library.
|
*/
'default' => env('DB_CONNECTION', 'mysql'),
/*
|--------------------------------------------------------------------------
| Database Connections
|--------------------------------------------------------------------------
|
| Here are each of the database connections setup for your application.
| Of course, examples of configuring each database platform that is
| supported by Laravel is shown below to make development simple.
|
|
| All database work in Laravel is done through the PHP PDO facilities
| so make sure you have the driver for your particular database of
| choice installed on your machine before you begin development.
|
*/
'connections' => [
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'laravel'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', 'password'),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],
],
/*
|--------------------------------------------------------------------------
| Migration Repository Table
|--------------------------------------------------------------------------
|
| This table keeps track of all the migrations that have already run for
| your application. Using this information, we can determine which of
| the migrations on disk haven't actually been run in the database.
|
*/
'migrations' => 'migrations',
/*
|--------------------------------------------------------------------------
| Redis Databases
|--------------------------------------------------------------------------
|
| Redis is an open source, fast, and advanced key-value store that also
| provides a richer body of commands than a typical key-value system
| such as APC or Memcached. Laravel makes it easy to dig right in.
|
*/
'redis' => [
'client' => env('REDIS_CLIENT', 'phpredis'),
'options' => [
'cluster' => env('REDIS_CLUSTER', 'redis'),
'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'),
],
'default' => [
'url' => env('REDIS_URL'),
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', '6379'),
'database' => env('REDIS_DB', '0'),
],
'cache' => [
'url' => env('REDIS_URL'),
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', '6379'),
'database' => env('REDIS_CACHE_DB', '1'),
],
],
];
2. .env
APP_NAME=Laravel //★
APP_ENV=local
APP_KEY=base64:CZXmDhXSOqSB8OJ8nkOintTJkMdEg9nWOWo0r+OoaQI=
APP_DEBUG=true
APP_URL=http://localhost
LOG_CHANNEL=stack
DB_CONNECTION=mysql //★
DB_HOST=localhost //★
DB_PORT=3306 //★
DB_DATABASE=laravel //★
DB_USERNAME=root //★
DB_PASSWORD=password //★
위의 코드는 긴~ 부분중 일단 필요한 부분만 사용한 것이다.
밑에는 메일 관련한 설정도 있는데, 아직까지 메일사용은 미정이라서 나중에 또 바꿀 수도 있다.
단! 위의 것은 가장 기본적! 완~전 기본적인 것이다.
APP_NAME=이 프로젝트의 이름을 의미한다. 파일명이랑은 상관이 없다. 기본 설정 그대로여도 무관
DB_CONNECTION=데이터베이스의 종류를 의미한다.
위의 config/database.php 의 mysql-driver 와 같게 입력해주면 된다.
이 밑으로 HOST,PORT,DATABASE,USERNAME,PASSWORD 도 config/database.php 와 같게해줘야한다.
여기까진 정말 기초설정이라 어려운 게 없다.
아래는 내가 사용하는 .env의 전체코드이다.
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:CZXmDhXSOqSB8OJ8nkOintTJkMdEg9nWOWo0r+OoaQI=
APP_DEBUG=true
APP_URL=http://localhost
LOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=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
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="${APP_NAME}"
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}"
'웹 응용 > laravel' 카테고리의 다른 글
게시판 만들기 - 4. 메인 화면 (0) | 2020.03.01 |
---|---|
게시판 만들기 3. 설치할 것 (0) | 2020.03.01 |
게시판 만들기 - 1. 구상 (0) | 2020.03.01 |
라라벨 5.8 버전으로 설치 (0) | 2020.02.25 |
라라벨 코드 리뷰 0224 (0) | 2020.02.24 |