Magento 설치 · 6 min read · Oct 20, 2025

우분투 20.04 LTS에 Nginx 및 Let's Encrypt SSL로 Magento 2 설치하는 방법

Magento는 PHP Zend Framework를 기반으로 한 전자상거래 웹사이트를 위한 널리 사용되는 오픈 소스 전자상거래 소프트웨어 및 콘텐츠 관리 시스템입니다. MySQL 또는 MariaDB를 데이터베이스 백엔드로 사용합니다. Magento의 개발은 2008년 Varien에 의해 시작되었습니다.

이 튜토리얼에서는 최신 버전의 우분투 20.04에 Magento 2를 설치하는 방법을 단계별로 보여드리겠습니다. LEMP 스택, Nginx 웹 서버, PHP-FPM 7.3 및 MariaDB 서버 아래에 Magento를 설치할 것입니다.

요구 사항

이 튜토리얼에서는 2GB RAM, 50GB의 여유 디스크 공간 및 2개의 CPU가 있는 우분투 20.04 시스템에 Magento 2를 설치합니다.

우리가 할 일

  • Nginx 웹 서버 설치
  • PHP-FPM 7.3 설치 및 구성
  • MySQL 서버 설치 및 구성
  • PHP Composer 설치
  • Magento 다운로드 및 설치
  • SSL Letsencrypt 생성
  • Magento를 위한 Nginx 가상 호스트 설정
  • Magento 설치 후 작업

1단계 - Nginx 웹 서버 설치

먼저, 우분투 20.04 시스템에 Nginx 웹 서버를 설치합니다.

아래의 apt 명령어를 사용하여 Nginx를 설치합니다.

sudo apt install nginx

모든 설치가 완료되면 Nginx 서비스를 시작하고 시스템 부팅에 추가합니다.

systemctl start nginx  
systemctl enable nginx

그 후, 아래 명령어를 사용하여 Nginx 서비스 상태를 확인합니다.

systemctl status nginx

Nginx 웹 서버가 우분투 20.04 서버에서 실행 중입니다.

Nginx 설치

다음으로, 우분투 시스템에서 HTTP 및 HTTPS 포트를 엽니다.

아래의 ufw 명령어를 실행합니다.

for svc in ssh http https  
do  
ufw allow $svc  
done

결과적으로 SSH, HTTP 및 HTTPS 서비스가 ufw 방화벽 규칙에 추가되었습니다.

이제 아래 명령어를 사용하여 ufw 방화벽을 활성화합니다.

ufw enable

‘y’를 입력하고 Enter를 누르면 ufw 방화벽이 활성화됩니다.

2단계 - PHP-FPM 7.3 설치 및 구성

Nginx 웹 서버를 설치한 후, 우분투 20.04 서버에 PHP-FPM을 설치합니다.

기본적으로 우분투 20.04는 최신 버전의 PHP/PHP-FPM 7.4를 제공합니다. 그러나 현재 Magento는 PHP/PHP-FPM 7.3에서만 작동합니다. 이 단계에서는 PPA 리포지토리에서 PHP-FPM 7.3을 설치합니다.

더 진행하기 전에, ‘software-properties-common’ 패키지를 설치하고 아래 명령어를 사용하여 PHP 7.3의 PPA 리포지토리를 추가합니다.

sudo apt install software-properties-common  
sudo add-apt-repository ppa:ondrej/php

‘add-apt-repository’는 시스템의 모든 리포지토리를 자동으로 업데이트합니다.

이제 아래의 apt 명령어를 사용하여 PPA 리포지토리에서 PHP-FPM 7.3 패키지를 설치합니다.

sudo apt install php7.3-fpm php7.3-common php7.3-curl php7.3-cli php7.3-mysql php7.3-gd php7.3-xml php7.3-json php7.3-intl php-pear php7.3-dev php7.3-common php7.3-mbstring php7.3-zip php7.3-soap php7.3-bcmath php7.3-opcache -y

PHP-FPM 7.3 설치가 완료되었습니다.

그 후, ‘/etc/php/7.3’ 디렉토리로 이동하여 PHP-FPM의 ‘php.ini’ 구성을 편집합니다.

cd /etc/php/7.3/  
vim fpm/php.ini

아래와 같이 구성을 주석 해제하고 변경합니다.

date.timezone = Asia/Singapore  
memory_limit = 1G  
max_execution_time = 1800  
zlib.output_compression = On  
cgi.fix_pathinfo = 0  
  
opcache.enable=1   
opcache.save_comments = 1

저장하고 닫습니다.

다음으로, PHP-FPM 서비스를 시작하고 시스템 부팅에 추가합니다.

systemctl start php7.3-fpm  
systemctl enable php7.3-fpm

PHP-FPM 7.3 설치 및 구성

PHP-FPM 서비스가 실행 중인지 아래 명령어로 확인합니다.

ss -xa | grep php  
systemctl status php7.3-fpm

결과적으로 PHP-FPM이 우분투 20.04 서버에서 실행 중이며, ‘/run/php/php7.3-fpm.sock’ 소켓 파일 아래에서 실행되고 있습니다.

PHP-FPM 서비스 확인

3단계 - MariaDB 서버 설치 및 구성

이 단계에서는 MariaDB 데이터베이스 서버를 설치하고, MariaDB의 기본 루트 비밀번호를 설정하고, Magento를 위한 새로운 데이터베이스와 사용자를 생성합니다.

아래의 apt 명령어를 사용하여 우분투 20.04에 MariaDB 서버 패키지를 설치합니다.

sudo apt install mariadb-server

모든 설치가 완료되면 MariaDB 서비스를 시작하고 시스템 부팅에 추가합니다.

systemctl start mariadb  
systemctl enable mariadb

MariaDB 서비스가 실행 중입니다.

다음으로, ‘mysql_secure_installation’ 유틸리티를 사용하여 MariaDB 루트 비밀번호를 설정합니다.

아래의 ‘mysql_secure_installation’ 명령어를 실행합니다.

mysql_secure_installation

MariaDB 루트 사용자에 대한 강력한 비밀번호를 입력하고 모든 구성에 대해 ‘Y’를 입력합니다.

Set a root password? [Y/n] Y  
Remove anonymous users? [Y/n] Y  
Disallow root login remotely? [Y/n] Y  
Remove test database and access to it? [Y/n] Y  
Reload privilege tables now? [Y/n] Y

결과적으로 MariaDB 루트 비밀번호가 구성되었습니다.

MariaDB 루트 비밀번호 설정

다음으로, Magento 설치를 위한 새로운 데이터베이스와 사용자를 생성합니다.

아래의 mysql 명령어를 사용하여 MariaDB/MySQL 셸에 로그인합니다.

mysql -u root -p

이제 Magento 설치를 위한 새로운 데이터베이스를 생성합니다. 데이터베이스 ‘magentodb’와 사용자 ‘magentouser’를 비밀번호 ‘magentodbpass’로 생성합니다.

아래의 MySQL 쿼리를 실행합니다.

create database magentodb;  
create user magentouser@'localhost' identified by 'magentopassdb';  
grant all privileges on magentodb.* to magentouser@'localhost';  
flush privileges;

이제 ‘exit’를 입력하여 MySQL 셸에서 로그아웃합니다.

Magento용 데이터베이스 생성

결과적으로 Magento 설치를 위한 새로운 데이터베이스와 사용자가 생성되었습니다.

4단계 - Composer 설치

Composer는 PHP용 종속성 관리자입니다. PHP 프로젝트에 추가 PHP 종속성과 라이브러리를 다운로드할 수 있는 애플리케이션 수준 패키지 관리자입니다.

이 단계에서는 우분투 리포지토리에서 PHP Composer를 설치합니다.

아래의 apt 명령어를 사용하여 Composer를 설치합니다.

sudo apt install composer -y

설치가 완료되면 아래에서 composer 버전을 확인합니다.

composer --version

아래는 얻을 수 있는 응답입니다.

Composer 1.10.1 2020-03-13 20:34:27

보시다시피, Composer 1.10이 우분투 20.04 서버에 설치되었습니다.

5단계 - Magento 2 다운로드 및 설치

이 단계에서는 Magento 2를 다운로드하고 Composer를 사용하여 필요한 모든 PHP 패키지를 설치합니다.

먼저, ‘/var/www/‘ 디렉토리로 이동하여 wget 명령어를 사용하여 Magento 2.3.5 CE(커뮤니티 에디션) 소스 코드를 다운로드합니다.

cd /var/www/  
wget -q https://github.com/magento/magento2/archive/2.3.5.tar.gz

모든 작업이 완료되면 Magento 소스 코드를 추출하고 추출된 디렉토리의 이름을 ‘magento2’로 변경합니다.

tar -xf 2.3.5.tar.gz  
mv magento2-*/ magento2/

다음으로, Magento 설치 디렉토리 ‘/var/www/magento2’로 이동하여 Composer 명령어를 사용하여 Magento에 필요한 모든 PHP 패키지 종속성을 설치합니다.

cd /var/www/magento2/  
composer install

Magento 2 다운로드 및 설치

모든 설치가 완료되면 Magento 2 설치 디렉토리의 소유권을 사용자 ‘www-data’로 변경합니다.

chown -R www-data:www-data /var/www/magento2

결과적으로 Magento 2 및 모든 패키지 종속성의 설치가 완료되었습니다.

6단계 - SSL Letsencrypt 생성

이 튜토리얼에서는 SSL Letsencrypt를 사용하여 Magento 2 설치를 보호합니다. 이 단계에서는 certbot 명령어를 사용하여 SSL Letsencrypt를 생성합니다. 또한 도메인 이름이 서버 IP 주소로 확인되었는지 확인하십시오.

아래의 apt 명령어를 사용하여 certbot 도구를 설치합니다.

sudo apt install certbot

설치가 완료되면 Nginx 서비스를 중지합니다.

systemctl stop nginx  
certbot certonly --standalone --agree-tos --no-eff-email --email [email protected] -d magento.hakase-labs.io

모든 작업이 완료되면 ‘/etc/letsencrypt/live/magento.your-domain.com’ 디렉토리에서 SSL 인증서를 받게 됩니다.

결과적으로 Magento 2 설치를 위한 SSL Letsencrypt가 생성되었습니다.

7단계 - Magento 2를 위한 Nginx 가상 호스트 설정

이 단계에서는 Magento 2를 위한 새로운 Nginx 가상 호스트 구성을 추가합니다.

‘/etc/nginx/sites-available/‘ 디렉토리로 이동하여 vim 편집기를 사용하여 새로운 구성 ‘magento’를 생성합니다.

cd /etc/nginx/sites-available/  
vim magento

다음 구성을 붙여넣습니다.

upstream fastcgi_backend {  
        server  unix:/run/php/php7.3-fpm.sock;  
}  
  
server {  
    listen 80;  
    listen [::]:80;  
    server_name magento.hakase-labs.io;  
    return 301 https://$server_name$request_uri;  
}  
  
server {  
  
        listen 443 ssl http2;  
        server_name magento.hakase-labs.io;  
  
        ssl_certificate /etc/letsencrypt/live/magento.hakase-labs.io/fullchain.pem;  
        ssl_certificate_key /etc/letsencrypt/live/magento.hakase-labs.io/privkey.pem;  
  
        set $MAGE_ROOT /var/www/magento2;  
        set $MAGE_MODE developer;  
        include /var/www/magento2/nginx.conf.sample;  
}

저장하고 닫습니다.

다음으로, Magento Nginx 가상 호스트를 활성화하고 nginx 구성을 테스트하여 오류가 없는지 확인합니다.

ln -s /etc/nginx/sites-available/magento /etc/nginx/sites-enabled/  
ginx -t

이제 아래 명령어를 사용하여 Nginx 서비스를 재시작합니다.

systemctl restart nginx

결과적으로 Magento 2를 위한 Nginx 가상 호스트 구성이 생성되고 활성화되었습니다.

Magento를 위한 Nginx 가상 호스트 설정

8단계 - Magento 설치 후 작업

웹 브라우저를 열고 주소 표시줄에 Magento 설치 도메인 이름을 입력합니다.

https://magento.hakase-labs.io/

이제 HTTPS 보안 연결로 리디렉션되며 Magento 환영 페이지와 서비스 약관을 보게 됩니다.

Magento 2 설치

Magento 설치 동의 및 설정 ‘ 버튼을 클릭하여 계속 진행합니다.

‘준비 상태 확인’ 페이지에서 모든 요구 사항이 초록색인지 확인하고 ‘ 다음 ‘ 버튼을 클릭합니다.

시스템 요구 사항 준비 상태

위에서 생성한 MariaDB 데이터베이스와 사용자 정보를 입력하고 ‘ 다음 ‘을 클릭합니다.

데이터베이스 설정

‘웹 구성’에서 모든 HTTP 프로토콜을 HTTPS로 변경하고 ‘Magento 관리자 주소’를 변경했는지 확인합니다.

HTTPS Magento 설정

이제 ‘고급 옵션’을 클릭하고 모든 HTTPS 옵션을 선택한 다음 ‘Apache 재작성’ 옵션의 선택을 해제하고 ‘ 다음 ‘ 버튼을 다시 클릭합니다.

다음으로, Magento ‘스토어 사용자 정의’ 구성에서 기본값으로 두고 ‘ 다음 ‘ 버튼을 클릭합니다.

Magento 스토어 사용자 정의

이제 관리자 사용자, 이메일 및 비밀번호 세부 정보를 입력합니다. 그런 다음 ‘ 다음 ‘ 버튼을 클릭합니다.

Magento 사용자 설정

지금 설치 ‘ 버튼을 클릭하여 Magento 2 스토어를 설치합니다.

Magento 설치

이제 모든 설치에 오류가 없음을 확인합니다.

Magento 설치

모든 설치가 완료되면 아래와 같은 ‘ 성공 ‘ 페이지를 받게 됩니다.

Magento 설치 완료

Magento 관리자 시작 ‘을 클릭하여 Magento 관리자 대시보드에 로그인합니다.

Magento 관리자 로그인

이제 Magento 관리자 사용자와 비밀번호를 입력하고 ‘ 로그인 ‘을 클릭하면 아래와 같은 Magento 관리자 대시보드를 보게 됩니다.

Magento 관리자 대시보드

Magento 기본 인덱스 페이지를 보려면 새 탭을 열고 주소 표시줄에 도메인 이름을 입력합니다.

아래는 Magento 기본 인덱스 페이지입니다.

Magento 인덱스

결과적으로 Magento 2 설치가 완료되었습니다.

다음으로, 서버 셸로 돌아가 Magento Cron을 설정하고 일부 Magento 설치 디렉토리의 쓰기 권한을 제거합니다.

Magento cron을 설정하려면 아래 명령어를 실행합니다.

cd /var/www/magento2  
sudo -u www-data php bin/magento cron:install --force

Magento cron은 ‘www-data’ 사용자로 실행되며, 아래 명령어를 사용하여 확인합니다.

crontab -u www-data -l

결과적으로 Magento Cron이 시스템에 추가되었습니다.

Magento Cron 설정 및 쓰기 권한 제거

다음으로, ‘/var/www/magento2/app/etc’ 디렉토리의 쓰기 권한을 제거해야 합니다.

아래의 chmod 명령어를 실행합니다.

chmod u-w /var/www/magento2/app/etc

마지막으로, Nginx 웹 서버, MariaDB 서버, PHP-FPM 7.3와 함께 최신 우분투 20.04에서 Magento 2 설치가 성공적으로 완료되었습니다.

참고

Share: X/Twitter LinkedIn

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

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