프레임워크 설치 · 6 min read · Sep 23, 2025

Debian 12에 Laravel 설치하는 방법

Laravel은 기업 웹 애플리케이션을 구축하기 위한 PHP 기반의 웹 애플리케이션 프레임워크입니다. 이는 모델-뷰-컨트롤러(MVC) 아키텍처를 따르는 무료 오픈 웹 프레임워크이며 Symfony를 기반으로 합니다. 우아한 구문을 제공하여 깔끔한 코드로 애플리케이션을 쉽게 읽고 이해할 수 있도록 만들어 줍니다.

Laravel은 기업 및 강력한 풀스택 웹 애플리케이션을 구축하기 위한 기업급 웹 프레임워크입니다. Laravel 애플리케이션은 개발 프로세스에서 프로덕션까지 번거로움 없이 빠르게 제공될 수 있습니다.

Laravel 웹 프레임워크를 React 또는 Vue와 같은 다른 프레임워크와 결합하면 아름답고 상호작용하는 프론트엔드를 만들 수 있습니다. 또한 MySQL, PostgreSQL, SQLite 및 SQL Server를 포함한 여러 데이터베이스를 지원합니다. Laravel은 안전한 인증을 위한 스캐폴딩도 제공합니다.

이 가이드에서는 Debian 12에 Laravel을 단계별로 설치하는 방법을 보여드리겠습니다. Apache2 웹 서버, MariaDB 및 PHP 8.2와 함께 Laravel을 설치하는 방법을 안내합니다.

전제 조건

이 가이드를 따르기 위해 필요한 요구 사항은 다음과 같습니다:

  • Debian 12 서버.
  • 관리자 권한이 있는 비루트 사용자.

LAMP 스택 설치

먼저, Debian 서버에 LAMP 스택(Apache2, MariaDB 및 PHP)을 설치해야 합니다. 그런 다음 Apache2 및 MariaDB 서비스가 실행 중인지 확인합니다.

패키지를 설치하기 전에 apt update 명령을 실행하여 Debian 리포지토리를 업데이트하고 새로 고칩니다.

sudo apt update

리포지토리가 업데이트되면 아래의 apt install 명령을 실행하여 LAMP 스택(Apache2, PHP 및 MariaDB) 패키지를 설치합니다. 다음 명령은 Laravel에 필요한 일부 PHP 확장도 설치합니다.

sudo apt install apache2 php php-curl php-bcmath php-json php-mysql php-mbstring php-xml php-tokenizer php-zip mariadb-server

설치를 진행하기 위해 y를 입력합니다.

installing lamp packages

LAMP 스택이 설치되면 아래의 systemctl 명령을 실행하여 apache2 및 mariadb 서비스를 확인합니다. 서비스가 실행 중이라면 active (running)라는 출력이 표시됩니다.

sudo systemctl status apache2  
sudo systemctl status mariadb

apache2 서비스에 대한 출력은 다음과 같아야 합니다:

checking apache2

아래는 mariadb 서비스 상태입니다.

checking mariadb

다음으로, PHP 버전과 활성화된 모듈을 확인하기 위해 아래의 php 명령을 실행합니다. PHP 8.2가 설치되어 있고 curl, date, dom, exif와 같은 일부 모듈이 활성화되어 있어야 합니다.

php -v  
php -m

check php version and module

마지막으로 웹 브라우저를 열고 Debian 서버 IP 주소(예: http://192.168.10.15/)를 방문합니다. 설치가 성공적이라면 Apache 웹 서버의 index.html 페이지가 표시됩니다.

default index

PHP 구성

Laravel을 설치하려면 fileinfo, mbstring 및 openssl과 같은 일부 PHP 확장을 활성화해야 합니다. 이러한 확장은 php.ini 파일을 통해 활성화할 수 있습니다.

다음 nano 편집기를 사용하여 PHP 구성 파일 /etc/php/8.2/apache2/php.ini를 엽니다.

sudo nano /etc/php/8.2/apache2/php.ini

다음 줄의 주석을 제거하여 fileinfo, mbstringopenssl 확장을 활성화합니다.

extension=fileinfo  
extension=mbstring  
extension=openssl

완료되면 파일을 저장하고 편집기를 종료합니다.

다음으로, 아래의 systemctl 명령을 실행하여 apache2 서비스를 재시작하고 변경 사항을 적용합니다.

sudo systemctl restart apache2

그런 다음 아래의 php 명령을 실행하여 fileinfo, mbstring, openssl 확장이 활성화되어 있는지 확인합니다.

sudo php -m

이제 아래 명령을 사용하여 새로운 phpinfo 파일 /var/www/html/info.php를 생성합니다. PHP 및 Apache2 웹 서버 설치가 성공적이라면, 이 파일은 PHP 설치에 대한 자세한 정보를 보여줍니다.

echo "" > /var/www/html/info.php

선호하는 웹 브라우저를 열고 서버 IP 주소 뒤에 info.php 경로(예: http://192.168.10.15/info.php)를 방문합니다. 성공적으로 설치되었다면 다음과 같은 출력이 표시됩니다:

phpinfo

MariaDB 서버 구성

PHP 구성이 완료되면 MariaDB 서버를 구성합니다. 여기에는 mariadb-secure-installation 유틸리티를 통해 MariaDB 서버를 보호하고, Laravel 프로젝트를 위한 새로운 데이터베이스와 사용자를 생성하는 작업이 포함됩니다.

먼저, 아래의 mariadb-secure-installation 명령을 실행하여 MariaDB 서버 설치를 보호합니다. 이 과정에서 몇 가지 MariaDB 구성에 대한 질문이 있을 것이며, 구성 확인을 위해 Y를 입력하거나 n을 입력합니다.

sudo mariadb-secure-installation

아래는 과정 중에 질문 받을 MariaDB 설정 중 일부입니다:

  • MariaDB 루트 비밀번호를 물어보면 ENTER를 누릅니다.
  • unix_socket 인증 방법에 대해 질문하면 n을 입력합니다.
  • MariaDB 루트 사용자에 대한 새 비밀번호를 설정하라는 질문에 Y를 입력합니다. 그런 다음 새 비밀번호를 입력하고 반복합니다.
  • MariaDB의 기본 익명 사용자를 제거하라는 질문에 Y를 입력합니다.
  • MariaDB 루트 사용자의 원격 로그인을 비활성화하라는 질문에 Y를 입력합니다.
  • MariaDB의 기본 데이터베이스 테스트를 제거하라는 질문에 Y를 입력합니다.
  • 마지막으로, 테이블 권한을 다시 로드하고 변경 사항을 적용하라는 질문에 Y를 입력합니다.

MariaDB 서버 구성이 완료되면 Laravel 프로젝트를 위한 새로운 데이터베이스와 사용자를 생성해야 합니다.

아래의 mariadb 명령을 사용하여 MariaDB 서버에 로그인합니다. 프롬프트가 나타나면 MariaDB 비밀번호를 입력합니다.

sudo mariadb -u root -p

이제 다음 쿼리를 실행하여 새로운 데이터베이스 testapp, 사용자 testapp, 비밀번호 password를 생성합니다. 다음 쿼리에서 비밀번호를 변경해야 합니다.

CREATE DATABASE testapp;  
CREATE USER testapp@localhost IDENTIFIED BY 'password';  
GRANT ALL PRIVILEGES ON testapp.* TO testapp@localhost;  
FLUSH PRIVILEGES;

create database and user

다음으로, 아래 쿼리를 실행하여 사용자 testapp가 데이터베이스 testapp에 접근할 수 있는지 확인합니다.

SHOW GRANTS FOR testapp@localhost;

아래 출력은 사용자 testapp가 데이터베이스 testapp에 접근할 수 있음을 확인합니다.

check user privileges

마지막으로, MariaDB 서버에서 종료하기 위해 quit를 입력합니다.

Composer 설치

Laravel은 여러 방법으로 설치할 수 있으며, 가장 쉬운 방법은 PHP 패키지 관리자 Composer를 통해 설치하는 것입니다. 이제 Debian 서버에 Composer를 설치합니다.

Composer PHP 패키지 관리자를 설치하려면 아래의 apt install 명령을 실행합니다. 설치를 진행하라는 메시지가 표시되면 y를 입력합니다.

sudo apt install composer

installing composer

설치가 완료되면 아래 명령을 실행하여 Composer의 바이너리 파일을 찾고 Composer 버전을 확인합니다.

which composer  
sudo -u www-data composer --version

Composer 바이너리 파일은 /usr/bin/composer에 위치하며 Composer 2.5.5가 설치되어 있습니다.

verify composer

첫 번째 Laravel 프로젝트 만들기

모든 준비가 완료되었으므로 첫 번째 Laravel 프로젝트를 설치하고 생성할 준비가 되었습니다. MariaDB를 데이터베이스로 사용하여 첫 번째 Laravel 프로젝트를 생성합니다.

먼저, 프로젝트를 위한 새로운 문서 루트 디렉토리 /var/www/testapp를 생성하고 아래 명령을 통해 소유권을 www-data 사용자로 변경합니다. 또한 Composer에서 사용할 /var/www/.cache/var/www/.config 디렉토리를 생성합니다.

sudo mkdir -p /var/www/{.cache,.config,testapp}  
sudo chown -R www-data:www-data /var/www/{.cache,.config,testapp}

이제 /var/www/testapp/ 디렉토리로 이동하고 아래의 composer 명령을 실행하여 첫 번째 Laravel 프로젝트를 생성합니다. 첫 번째 Laravel 프로젝트는 /var/www/testapp/ 디렉토리에 저장됩니다.

cd /var/www/testapp/  
sudo -u www-data composer create-project laravel/laravel .

설치 중에 다음과 유사한 출력이 표시되어야 합니다:

installing laravel

Laravel 프로젝트가 생성되면, 다음으로 .env 구성 파일을 통해 프로젝트의 데이터베이스를 설정합니다. .env 파일은 Laravel 프로젝트의 기본 구성으로 사용됩니다.

다음 nano 편집기 명령을 사용하여 .env 파일을 엽니다.

nano .env

APP_URL 매개변수를 Laravel 프로젝트의 로컬 도메인 이름으로 변경합니다. 이렇게 하면 로컬 도메인 이름을 통해 프로젝트에 접근할 수 있습니다. 이 경우 도메인 이름은 testapp.local입니다.

APP_URL=http://testapp.local

이제 데이터베이스 구성 DB_CONNECTION을 mysql로 변경하고 DB_DATABASE, DB_USERNAME, DB_PASSWORD의 세부 정보를 MariaDB 데이터베이스 및 사용자 정보로 변경합니다.

DB_CONNECTION=mysql  
DB_HOST=127.0.0.1  
DB_PORT=3306  
DB_DATABASE=testapp  
DB_USERNAME=testapp  
DB_PASSWORD=password

완료되면 파일을 저장하고 편집기를 종료합니다.

이제 아래 명령을 실행하여 데이터베이스를 마이그레이션합니다. 이는 Laravel 프로젝트를 위한 테이블을 생성합니다.

sudo -u www-data php artisan migrate

migrate database

Apache 가상 호스트 구성

다음 단계에서는 Laravel 프로젝트를 위한 새로운 Apache2 가상 호스트 구성을 생성합니다. 그 후 가상 호스트를 활성화하고 Apache2 구성을 확인한 다음, 변경 사항을 적용하기 위해 Apache2 웹 서버를 재시작해야 합니다.

Laravel을 위한 Apache2 가상 호스트 구성을 생성하기 전에 아래 명령을 통해 Apache2에서 rewrite 모듈을 활성화해야 합니다.

sudo a2enmod rewrite

다음 nano 편집기 명령을 사용하여 Apache2 가상 호스트 구성 파일 /etc/apache2/sites-available/laravel.conf를 생성합니다.

sudo nano /etc/apache2/sites-available/laravel.conf

다음 구성을 삽입하고 ServerName 매개변수를 도메인 이름으로 변경합니다.

  
  
    ServerAdmin [email protected]  
    ServerName testapp.local  
    DocumentRoot /var/www/testapp/public  
  
      
            Options FollowSymLinks  
            AllowOverride None  
      
      
            AllowOverride All  
      
  
    ErrorLog ${APACHE_LOG_DIR}/error.log  
    CustomLog ${APACHE_LOG_DIR}/access.log combined  
  

완료되면 파일을 저장하고 편집기를 종료합니다.

다음으로, 아래 명령을 실행하여 가상 호스트 구성 laravel.conf를 활성화하고 Apache2 구성을 확인합니다. 올바른 구성이면 Syntax OK라는 메시지가 표시되어야 합니다.

sudo a2ensite laravel.conf  
sudo apachectl configtest

마지막으로, 아래 명령을 실행하여 apache2 서비스를 재시작하고 변경 사항을 적용합니다.

sudo systemctl restart apache2

setup virtual host

Laravel 접근

Linux 클라이언트를 사용하는 경우, 아래의 nano 편집기 명령을 통해 /etc/hosts 파일을 수정합니다.

sudo nano /etc/hosts

Windows 머신을 사용하는 경우, C:\Windows\System32\drivers\etc\hosts 파일을 수정합니다.

Laravel 프로젝트의 도메인 이름과 Debian 서버 IP 주소를 다음과 같이 삽입합니다:

192.168.10.15   testapp.local

파일을 저장하고 편집기를 종료합니다.

마지막으로 웹 브라우저를 열고 Laravel 프로젝트의 로컬 도메인 이름(예: http://testapp.local)을 방문합니다. 성공적으로 설치되었다면 Laravel의 유사한 페이지가 표시됩니다:

installing laravel

결론

결론적으로, Debian 12 서버에 LAMP 스택(Apache2, MariaDB 및 PHP)으로 Laravel을 설치했습니다. 또한 PHP 패키지 관리자 Composer를 설치하고 이를 Laravel 설치의 매체로 사용했습니다. 이를 바탕으로 이제 Laravel 웹 프레임워크와 MariaDB를 데이터베이스로 사용하여 애플리케이션을 개발할 수 있습니다.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.