설치하기
설치하기
서버 요구사항
라라벨은 몇 가지 시스템 요구 사항을 필요로 합니다. 라라벨 홈스테드 가상머신은 모든 요구 사항을 만족합니다. 따라서 여러분의 로컬 라라벨 개발 환경에서 홈스테드를 사용할 것을 강력 권장합니다.
홈스테드를 사용하지 않는 경우 서버에서 다음의 요구 사항을 만족하는지 확인해야 합니다.
- PHP >= 7.2.5
- BCMath PHP Extension
- Ctype PHP Extension
- Fileinfo PHP extension
- JSON PHP Extension
- Mbstring PHP Extension
- OpenSSL PHP Extension
- PDO PHP Extension
- Tokenizer PHP Extension
- XML PHP Extension
라라벨 설치하기
라라벨은 의존성 관리를 위해 컴포저를 활용합니다. 라라벨을 사용하기 전에, 여러분들은 라라벨을 설치할 서버(머신)에 Composer를 설치해야 합니다.
라라벨 인스톨러로 사용하기
먼저, 컴포저를 사용해 라라벨 인스톨러를 다운로드합니다.
composer global require laravel/installer
라라벨 실행 파일을 시스템에서 찾을 수 있도록 컴포저의 시스템 vendor bin 디렉토리가 $PATH
에 추가되었는지 확인하십시오. 이 디렉토리는 운영체제별로 다른 위치에 있지만 보통 다음과 같습니다.
- macOS:
$HOME/.composer/vendor/bin
- Windows:
%USERPROFILE%\AppData\Roaming\Composer\vendor\bin
- GNU / Linux 배포판:
$HOME/.config/composer/vendor/bin
또는$HOME/.composer/vendor/bin
composer global about
을 실행하고 첫 번째 줄을 보면 컴포저의 글로벌 설치 경로를 확인할 수 있습니다.
라라벨 인스톨러를 설치한 후 laravel new
명령을 입력하면 여러분이 지정한 폴더 안에 깨끗한(fresh) 상태의 라라벨 파일을 생성할 것입니다. 예를 들어 laravel new blog
명령은 라라벨에서 필요한 의존성 패키지들을 모두 설치하고 깨끗한(fresh) 상태의 라라벨 파일이 포함된 blog
디렉토리를 생성합니다.
laravel new blog
Composer Create-Project를 통한 설치
그렇지 않으면, 터미널에서 컴포저의 create-project
커멘드를 사용하여 라라벨을 설치할 수도 있습니다
composer create-project --prefer-dist laravel/laravel blog
로컬 개발 서버
로컬 환경에 PHP가 설치되어 있다면 PHP에 내장된 개발 서버를 사용하여 애플리케이션을 구동할 수 있는데, 이 경우 serve
아티즌 명령어를 사용할 수 있습니다. 이 명령어는 개발서버를 http://localhost:8000
으로 시작할 것입니다.
php artisan serve
보다 강력한 로컬 개발의 대안으로 홈스테드와 발렛 도 사용할 수 있습니다.
설정하기
Public 디렉토리
라라벨을 설치한 후에 웹서버의 document / web 루트를 public
디렉토리로 설정해야 합니다. 이 디렉토리의 index.php
는 애플리케이션의 모든 HTTP requests에 대해 프론트 컨트롤러로 작동합니다.
설정 파일
라라벨 프레임워크의 모든 설정 파일은 config
디렉토리에 위치합니다. 각 설정들은 문서화 되어있고, 사용 가능한 설정을 이해하기 위해 전체 문서들을 둘러보는 것이 좋습니다.
디렉토리 권한
라라벨을 설치한 뒤에, 몇몇 권한을 설정할 필요가 있습니다. storage
와 bootstrap/cache
디렉토리 안에 있는 모든 디렉토리는 웹 서버나 라라벨에 의해 쓰기가 가능해야 하며, 그렇지 않을 경우 라라벨이 실행할 수 없습니다. 홈스테드 가상머신을 사용중이라면 권한이 이미 설정되어 있을 것입니다.
애플리케이션 키
라라벨을 설치한 이후에 해야 할 일은 애플리케이션 키를 랜덤 한 문자열로 세팅하는 것입니다. Composer나 라라벨 인스톨러로 설치했다면 php artisan key:generate
명령어가 실행되어 이미 설정되어 있을 것입니다.
일반적으로, 이 키는 32자리의 문자열입니다. 이 키는 .env
환경설정 파일에서 세팅할 수 있습니다. 아직 .env.example
파일을 .env
로 복사하지 않았다면 지금 복사합니다. 만약 애플리케이션 키가 세팅되어 있지 않다면, 사용자 세션과 암호화된 데이터들이 안전하지 않습니다!
추가 설정
라라벨은 위 내용 이외의 세팅은 거의 필요하지 않습니다. 이제 편하게 개발을 시작하면 됩니다! 그러나 가급적 config/app.php
파일과 문서를 살펴보기를 권장합니다. timezone
과 locale
과 같이 애플리케이션에 따라 변경하고자 할 수 있는 몇가지 옵션이 있습니다.
다음과 같은 라라벨 컴포넌트에 대한 몇가지 설정을 할 수도 있습니다.
웹 서버 설정
Directory 설정
라라벨은 항상 웹 서버 설정의 "웹 디렉토리" 루트에 있어야 합니다. "웹 디렉토리"의 하위 디렉토리에서 라라벨 애플리케이션을 제공하려고 하면 안됩니다. 애플리케이션 내에 민감한 파일이 노출될 수 있습니다.
Pretty URLs
아파치
라라벨은 주어진 경로에 index.php
파일이 없어도 될 수 있도록 URL 프론트 컨트롤링을 제공하는 public/.htaccess
파일을 가지고 있습니다. 아파치를 통해서 라라벨 웹서비스를 실행하기 전에 .htaccess
파일이 동작할 수 있도록 mod_rewrite
모듈을 활성화해주세요.
라라벨이 제공하는 .htaccess
파일이 동작하지 않을 경우 다음의 코드를 시도해보세요.
Options +FollowSymLinks -Indexes
RewriteEngine On
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
Nginx
Nginx를 사용중이면 사이트 설정에 다음의 내용을 설정해 모든 requests가 index.php
프론트 컨트롤러로 향하게 하세요:
location / {
try_files $uri $uri/ /index.php?$query_string;
}