[Laravel] 기본 세팅 및 인스톨
기본 세팅 및 인스톨
환경은 ubuntu 에서 디폴트 세팅에 대한 설명입니다.
1. Install
composer create-project laravel/laravel example-app
2. configure
.env 파일에서 기초적인 몇 가지만 세팅을 하도록 하겠습니다.
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:V8UoEsafKp/f3mxXufGE5DLQGXwmQzW27cdFIdt0dNo=
APP_DEBUG=true
APP_URL=http://localhost
....
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
....
- APP_NAME : 현재 어플리케이션의 명 설정
- APP_UR : 현재 어플리케잏션의 url
- DB_ : 사용할 db 정보 입력
3. breeze 실행 (옵션)
laravel breeze 는 회원(authentications)과 관련한 간단한 내용(로그인, 가입, 패스워드리셑, 이메일유효성, 패스워드확인등)들을 제공합니다.
모든 인스톨이 마무리되면 '/dashboard', '/login', '/register' 로 url 접근을 하시면 breeze에서 제공하는 기본적인 샘플 페이지를 보실 수 있습니다.
composer require laravel/breeze:1.9.2 // 라라벨 8.x 일경우
composer require laravel/breeze --dev // 라라벨 최신버전일 경우
php artisan breeze:install
4. npm 설치 및 실행
기본적인 리소스(assets: js, css)등을 설치합니다.
npm install
npm run dev
5. migrate
db 설정이 완료되면 migration을 진행합니다.
라라벨에서는 기본적인 테이블들을 제공하는데 기본적인 migration 파일의 정보는 database > migrations 에 존재합니다.
php artisan migrate
- 2014_10_12_000000_create_users_table
- 2014_10_12_100000_create_password_resets_table
- 2019_08_19_000000_create_failed_jobs_table
- 2019_12_14_000001_create_personal_access_tokens_table
migragion이 완료되면 라라벨에서 제공하는 기본 테이블이 생성됩니다.
failed_jobs, migrations, password_resets, personal_access_tokens, users
Permission
인스톨 후 storage 하위의 directory 에 퍼미션 확인 (775, drwxrwxr-x)
chmod 775 app framework logs
npm
webpack.mix 를 위해 npm install을 한번 실행한다. laravel mix 참조
npm install
npm run development
기본 package 설치
아래 두개는 필요에 따라 설치를 요구하지만 함께 설치하는 것을 추천드립니다.
composer require laravel/ui # Authentic 관련
composer require laravelcollective/html # HTML관련
nginx configuration
server {
listen 80;
# listen 443 ssl;
# ssl_certificate /your-domain.pem;
# ssl_certificate_key /your-domain.key;
root /your-document-path/public;
server_name your-domain.com;
# error_log /your-domain-nginx-error-log.error;
# access_log /our-domain-nginx-access-log.access main;
location / {
index index.php;
rewrite ^/(.*?)index\.php[^/] /$1? redirect; // your-domain.com/index.php/... 로 접근을 피하기 위해
rewrite ^/(.*?)index\.php(?:/(.*))?$ /$1$2? redirect; // your-domain.com/index.php/... 로 접근을 피하기 위해
try_files $uri $uri/ /index.php$is_args$args;
location ~* \.php$ {
fastcgi_pass unix:/run/php/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
}