Laravel

Laravel 최신버전 설치 (2025년 기준)

itsdev 2025. 4. 22. 02:43

🌐 1. Laravel이란?

Laravel은 PHP로 작성된 오픈소스 웹 애플리케이션 프레임워크이며, MVC(Model-View-Controller) 아키텍처를 기반으로 설계되었다. 깔끔한 문법, 내장된 인증 및 보안 기능, Eloquent ORM 등 다양한 기능을 제공하여 빠르고 안정적인 웹 개발이 가능하다.

🛠️ 2. Laravel 설치 전 준비사항

📋 2.1 필수 구성요소 (LEMP Stack 기반)

  • Linux (Ubuntu 22.04 LTS 이상 권장)
  • Nginx (최신 안정화 버전)
  • MySQL (또는 MariaDB)
  • PHP >= 8.4 + PHP-FPM
  • Composer (PHP 패키지 관리자)

🔌 2.2 PHP 확장 모듈 설치

Laravel은 다음과 같은 PHP 확장 모듈을 필수적으로 요구한다. 이 모듈들은 Laravel의 핵심 기능과 직접적으로 연결되어 있으며, 누락 시 오류가 발생할 수 있다.

  • BCMath: 고정 소수점 연산을 제공하며, 암호화 및 인증 기능에 사용된다.
  • Ctype: 문자열 검증 함수들을 포함하며, 데이터 유효성 검사에 사용된다.
  • Fileinfo: 파일의 MIME 타입을 감지하며, 파일 업로드 기능에 활용된다.
  • JSON: JSON 데이터를 인코딩/디코딩하는 데 사용되며, API 응답 처리에 필수이다.
  • Mbstring: 다국어 문자열 처리를 위한 모듈로, 대부분의 문자열 함수가 이를 필요로 한다.
  • OpenSSL: 데이터 암호화 및 보안 토큰 발급 기능을 담당한다.
  • PDO: 데이터베이스와의 추상화된 연결을 제공하며, Laravel의 Eloquent ORM에서 사용된다.
  • Tokenizer: PHP 코드를 토큰 단위로 분석하는 기능을 하며, 내부 파서와 라우터에서 활용된다. 내부 파서는 PHP 코드 실행 전에 문법 구조를 해석하는 구성 요소로, 코드를 토큰으로 나누어 구조를 분석하고 의미를 해석하는 역할을 한다.
  • XML: XML 문서를 파싱하는 데 사용되며, 외부 API 통신 시 필요할 수 있다.

설치된 PHP 모듈이 제대로 적용되었는지 확인하려면 아래 명령어를 실행한다:

php -m | grep -E "bcmath|ctype|fileinfo|json|mbstring|openssl|pdo|tokenizer|xml"

 

이 명령어는 현재 PHP에 활성화된 모듈 목록 중 Laravel에서 필수로 사용하는 모듈만 필터링하여 출력한다.

활성화된 모듈 목록 예시
활성화된 모듈 필터링 예시

 

또는 전체 모듈 목록을 확인하고자 한다면 다음 명령어를 입력한다:

php -m

이 명령어는 현재 시스템에 로드된 모든 PHP 모듈을 나열하며, 누락된 모듈이 있을 경우 Laravel 실행 시 오류가 발생할 수 있으므로 반드시 점검해야 한다.

활성화된 모든 모듈 예시
활성화된 모든 모듈 예시

 

LEMP 스택(Linux, Nginx, MySQL, PHP 8.4-FPM) 환경의 Ubuntu 22.04 서버에서 필요한 PHP 모듈을 설치하려면 다음 명령어를 입력한다:

sudo apt update
sudo apt install php8.4 php8.4-fpm php8.4-cli php8.4-common php8.4-mbstring php8.4-xml \
php8.4-bcmath php8.4-json php8.4-curl php8.4-mysql php8.4-tokenizer php8.4-fileinfo php8.4-openssl -y

💻 3. 서버 사양 권장 사항

Laravel은 비교적 가볍지만, 성능을 고려하여 다음과 같은 서버 사양을 권장한다.

  • CPU: 최소 2코어, 권장 4코어 이상
  • RAM: 최소 2GB, 권장 4GB 이상
  • SSD: 20GB 이상의 여유 공간
  • OS: Ubuntu 22.04 LTS 또는 CentOS 8 이상

⚙️ 4. Laravel 설치 방법

📦 4.1 Composer를 통한 설치

Laravel 설치 전 먼저 프로젝트를 생성할 디렉토리로 이동해야 한다. 일반적으로는 웹 루트 경로인 /var/www로 이동한다.

cd /var/www
composer create-project laravel/laravel myApp
디렉토리 이동
설치전 디렉토리 이동

 

이 명령어를 실행하면 Laravel 프레임워크의 최신 버전이 myApp이라는 디렉토리에 설치된다.

설치 과정 중 다음과 같은 경고 메시지가 출력될 수 있다:

Do not run Composer as root/super user! See https://getcomposer.org/root for details
루트 권한으로 실행
루트 권한으로 실행 여부 확인

 

이 메시지는 Composer를 루트 권한으로 실행하는 것은 보안상 위험할 수 있음을 의미한다. 가능하면 일반 사용자 권한으로 Composer를 실행하는 것이 좋다.

설치가 완료되면 myApp 디렉토리 내에 Laravel의 기본 프로젝트 구조가 생성된다. 주요 구성 요소는 다음과 같다:

  • app/ - 애플리케이션의 핵심 로직이 담겨 있는 폴더이다.
  • routes/ - 웹 및 API 라우팅 설정 파일이 위치한다.
  • resources/views/ - Blade 템플릿 뷰 파일들이 저장된다.
  • .env - 환경 설정을 위한 파일로, 데이터베이스 및 앱 키 등을 정의한다.
  • artisan - Laravel의 명령줄 도구로, 다양한 작업을 자동화할 수 있다.

프로젝트 디렉토리로 이동한 뒤 다음 단계로 파일 퍼미션을 설정해야 한다.

🔐 4.2 퍼미션 설정

Laravel이 캐시 및 로그 파일을 저장하는 데 사용하는 디렉토리인 storage와 bootstrap/cache는 웹 서버 또는 artisan 명령을 실행하는 사용자에게 쓰기 권한이 필요하다.

다음 명령어는 해당 디렉토리들의 소유권을 현재 사용자로 변경하고, 디렉토리와 파일 권한을 설정한다:

sudo chmod -R 775 storage bootstrap/cache
sudo chown -R $(whoami):$(whoami) storage bootstrap/cache
find storage bootstrap/cache -type d -exec chmod 775 {} \;
find storage bootstrap/cache -type f -exec chmod 664 {} \;

 

또한, Laravel에서 세션 파일이나 뷰 캐시 파일을 생성할 때 오류가 발생할 경우 위 명령을 반드시 실행해야 한다. 예를 들어 다음과 같은 오류가 발생한다면:

file_put_contents(.../storage/framework/views/xxxx.php): Failed to open stream: Permission denied

이는 해당 디렉토리에 쓰기 권한이 없기 때문에 발생하는 것으로, 위와 같은 퍼미션 설정으로 해결할 수 있다.

⚙️ 4.3 .env 파일 설정

.env 파일은 Laravel 애플리케이션의 환경설정을 정의하는 핵심 파일이다. 설치 직후에는 .env.example 파일만 존재하며, 이를 복사하여 실제 애플리케이션 설정 파일인 .env로 생성해야 한다. 이 파일에는 데이터베이스 연결 정보, 캐시 드라이버, 세션 설정, 메일 서버 정보 등 실행에 필요한 다양한 환경변수가 포함된다.

아래 명령어로 .env 파일을 생성한다:

cp .env.example .env

그 다음, Laravel의 애플리케이션 고유 키(app key)를 생성해야 한다. 이 키는 암호화 및 세션 보안 등에 사용되며, APP_KEY 항목에 자동으로 채워진다. 반드시 이 과정을 거쳐야 Laravel이 정상 작동한다.

php artisan key:generate

🚀 4.4 개발 서버 실행

php artisan serve

브라우저에서 http://localhost:8000 을 열어 Laravel이 정상 설치되었는지 확인한다.

 

Laravel 정상 설치 예시
Laravel 정상 설치 예시

💡 5. 마무리 및 추가 팁

  • MySQL 접속정보는 .env 파일에서 DB_HOST, DB_PORT, DB_DATABASE 등을 설정해야 한다.
.env
.env
  • Git으로 버전 관리를 설정하는 것을 추천한다.
  • VPS 또는 클라우드 서버에서는 Forge, Ploi 같은 배포 자동화 도구를 활용하는 것이 효율적이다.
728x90
반응형
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.