Laravel 개발 환경 세팅 방법이 많아서 최대한 햇갈리지 않게 정리해본다.
Laravel 10 요구 사항
- PHP >= 8.1
- Ctype PHP Extension
- cURL PHP Extension
- DOM PHP Extension
- Fileinfo PHP Extension
- Filter PHP Extension
- Hash PHP Extension
- Mbstring PHP Extension
- OpenSSL PHP Extension
- PCRE PHP Extension
- PDO PHP Extension
- Session PHP Extension
- Tokenizer PHP Extension
- XML PHP Extension
출처: laravel.com
Local 개발 환경 (Windows 기준)
Standalone 형태로 직접 설치
PHP 8 Windows 버전 다운로드 후 압축 해제
composer로 Laravel 프로젝트 생성 (라이브러리 에러나면 필요한 라이브러리 설치) 또는 IDE로 프로젝트 생성
Docker Container 사용 (시도해보지 않음)
Docker Desktop 설치
container 생성 후 IDE (IntelliJ 또는 Visual Studio Code)에서 설정으로 container와 연결 (안해봤는데 가능할 것 같다)
IDE로 프로젝트 생성
원격 개발 서버 세팅 (Docker)
docker run -d -p 8000:8000 --name laravel-api -v /data/docker/laravel:/var/www/html php:8.1.23-fpm
php 8.1.23-fpm 이미지로 container 생성
docker exec -it laravel-api bash
laravel-api container로 접속
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'e21205b207c3ff031906575712edab6f13eb0b361f2085f1f1237b7126d785e826a450292b6cfd1d64d92e6563bbde02') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
mv composer.phar /usr/local/bin/composer
composer 설치 및 composer 바이너리 실행 파일 이동
apt-get update && apt-get install -y \
zlib1g-dev \
libzip-dev \
unzip
docker-php-ext-install zip
composer create-project laravel/laravel 명령어 실행시 필요한 라이브러리 설치
composer create-project laravel/laravel laravel-api
Laravel 기본 프로젝트 (laravel-api) 생성
서버 실행
개발 환경 (Local, 원격 개발 서버)
php artisan serve --host=0.0.0.0
php 내장 웹 서버를 사용하는 방법으로, php artisan serve 명령어는 개발 환경에서만 사용
--host=0.0.0.0 옵션을 사용하지 않으면 외부에서 접근 불가
운영 환경 (실제 서비스)
Apache 또는 Nginx 웹 서버의 환경 설정을 변경하여 사용
실행 결과
root@b0ddf72a4585:/var/www/html/laravel-api# php artisan serve --host=0.0.0.0
INFO Server running on [http://0.0.0.0:8000].
Press Ctrl+C to stop the server
2023-09-05 12:32:36 ................................................................................................................................................................................. ~ 0s
2023-09-05 12:32:36 /favicon.ico .................................................................................................................................................................... ~ 0s