Magento 설치 · 7 min read · Sep 10, 2025
우분투 24.04에 Magento 전자상거래 플랫폼 설치하는 방법

Magento는 PHP로 작성된 오픈 소스이자 잘 알려진 전자상거래 플랫폼입니다. Magento는 전 세계 240,000명 이상의 상인이 사용하는 강력하고 견고한 전자상거래 솔루션입니다. Magento는 전자상거래 상점을 구축하기 위한 다재다능하고 확장 가능한 플랫폼입니다. 소규모, 중간 및 대형 온라인 상점을 구축하는 데 적합합니다. Magento를 사용하면 서버에서 온라인 상점을 생성하고 호스팅할 수 있습니다.
이 가이드에서는 Ubuntu 22.04 서버에 Magento 전자상거래를 설치하는 방법을 안내합니다.
필수 조건
이 가이드를 시작하기 전에 다음을 준비했는지 확인하세요:
- 메모리가 최소 4GB인 Ubuntu 24.04.
- sudo 권한이 있는 비루트 사용자.
- 서버 IP 주소를 가리키는 도메인 이름.
의존성 설치
설치에 들어가기 전에 Magento 의존성이 설치되어 있는지 확인해야 합니다. 이 섹션에서는 OpenSearch, Nginx, MySQL 서버, PHP-FPM, Redis, Composer 및 Git을 포함한 Magento 소프트웨어 패키지를 설치합니다.
먼저, 다음 명령어로 ‘ apt-transport-https ‘ 및 ‘ gnupg ‘ 패키지를 설치합니다:
sudo apt install apt-transport-https gnupg -yDebian/Ubuntu 기반 배포판을 위한 OpenSearch GPG 키 및 리포지토리를 추가하려면 다음 명령어를 실행합니다.
curl -o- https://artifacts.opensearch.org/publickeys/opensearch.pgp | \
sudo gpg --dearmor --batch --yes -o /usr/share/keyrings/opensearch-keyringecho "deb [signed-by=/usr/share/keyrings/opensearch-keyring] https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable main" | \
sudo tee /etc/apt/sources.list.d/opensearch-2.x.list
이제 다음 apt 명령어로 Ubuntu 패키지 인덱스를 업데이트하고 의존성을 설치합니다. 이를 통해 OpenSearch, Nginx, MySQL, PHP-FPM, Redis, Composer 및 Git 패키지를 설치합니다.
sudo apt update && sudo apt install opensearch nginx mysql-server composer git redis-server php-fpm php-bcmath php-common php-mbstring php-xmlrpc php-soap php-gd php-xml php-intl php-mysql php-cli php-redis php-ldap php-zip php-curl php-imagick설치를 확인하려면 Y를 입력하세요.
설치 후 모든 서비스가 실행 중인지 확인합니다.
다음 명령어로 Nginx 서비스를 확인하세요. Nginx 서비스가 실행 중이고 활성화되어 있는 것을 볼 수 있습니다.
sudo systemctl is-enabled nginx
sudo systemctl status nginx
이제 아래 명령어로 MySQL 서버를 확인하세요. 출력에서 MySQL 서버가 실행 중인 것을 볼 수 있습니다.
sudo systemctl is-enabled mysql
sudo systemctl status mysql
다음 명령어로 PHP-FPM 서비스를 확인하세요. PHP-FPM은 자동으로 실행되고 활성화되어야 합니다.
sudo systemctl is-enabled php8.3-fpm
sudo systemctl status php8.3-fpm
아래 명령어로 Redis 서버를 확인하세요. Redis가 실행 중이고 활성화되어 있는 것을 볼 수 있어야 합니다.
sudo systemctl is-enabled redis-server
sudo systemctl status redis-server
마지막으로 아래 명령어로 Composer 버전을 확인하세요. 시스템에 Composer v2.7이 설치되어 있어야 합니다.
sudo -u www-data composer -v
OpenSearch 설정
의존성을 설치한 후 OpenSearch를 구성해야 합니다. Magento는 고급 검색 제품 및 인덱싱을 위해 OpenSearch를 사용합니다. 이 섹션에서는 기본 최대 힙 메모리를 늘리고 OpenSearch의 보안 플러그인을 비활성화합니다(개발 환경 전용).
다음 nano 편집기를 사용하여 ‘ /etc/opensearch/jvm.options ‘ 파일을 엽니다.
sudo nano /etc/opensearch/jvm.optionsOpenSearch의 기본 메모리 할당을 필요에 맞게 변경합니다. 이 경우 OpenSearch에 2GB를 사용할 것입니다.
-Xms2g
-Xmx2g파일을 저장하고 종료합니다.
이제 nano 편집기로 기본 OpenSearch 구성 ‘ /etc/opensearch/opensearch.yml ‘을 엽니다.
sudo nano /etc/opensearch/opensearch.ymlOpenSearch에서 보안 플러그인을 비활성화하기 위해 다음 구성을 추가합니다. 데모를 위해 이를 비활성화할 수 있지만, 프로덕션에서는 보안 플러그인을 활성화하고 OpenSearch 설치를 위한 TLS 인증서를 설정해야 합니다.
plugins.security.disabled: true작업이 완료되면 파일을 저장하고 종료합니다.
다음 명령어를 실행하여 systemd 관리자를 다시 로드합니다. OpenSearch를 설치한 후 systemd 관리자를 다시 로드해야 합니다.
sudo systemctl daemon-reload이제 다음 명령어로 OpenSearch 서비스를 시작하고 활성화하며 확인합니다:
sudo systemctl enable --now opensearch
sudo systemctl status opensearch다음 출력에서 OpenSearch가 실행 중이고 활성화되어 있는 것을 볼 수 있습니다.

마지막으로 다음 ‘ curl ‘ 명령어를 사용하여 OpenSearch 설치를 확인합니다. 이 명령어는 OpenSearch 설치에 대한 기본 정보를 보여줍니다.
curl -X GET http://localhost:9200아래에서 OpenSearch 2.14가 우분투 서버에서 실행 중인 것을 볼 수 있습니다.

PHP-FPM 설정
이 섹션에서는 기본 PHP-FPM 구성을 수정하고 ‘php.ini’ 파일을 통해 Opcache 확장을 활성화합니다. 기본 memory_limit를 늘리고 date.timezone 옵션을 조정합니다.
다음 nano 편집기를 사용하여 PHP-FPM 구성 ‘ /etc/php/8.3/fpm/php.ini ‘을 엽니다.
sudo nano /etc/php/8.3/fpm/php.ini다음으로 기본 구성을 변경합니다. 또한 현재 서버 환경에 맞게 date.timezone 및 memory_limit를 조정합니다.
date.timezone = Europe/Amsterdam작업이 완료되면 파일을 저장하고 종료합니다.
이제 아래 명령어를 실행하여 PHP-FPM 서비스를 재시작하고 변경 사항을 적용합니다.
sudo systemctl restart php8.3-fpmMySQL 서버 설정
이제 PHP-FPM을 구성했으므로 다음 섹션에서는 MySQL 서버 설치를 설정하고 Magento를 위한 새 데이터베이스와 사용자를 생성합니다.
아래 명령어를 실행하여 MySQL 서버 설치를 안전하게 보호합니다.
sudo mysql_secure_installation아래에서 MySQL 서버 구성에 대해 질문을 받게 됩니다:
- VALIDATE PASSWORD 구성 요소를 활성화하려면 y를 입력합니다.
- 비밀번호 강도 수준을 MEDIUM으로 설정하려면 1을 입력합니다.
- MySQL 루트 비밀번호를 변경하라는 질문에 y를 입력합니다.
- 기본 익명 사용자를 제거하려면 y를 입력합니다.
- MySQL 루트 사용자에 대한 원격 로그인을 금지하려면 y를 입력합니다.
- MySQL에서 기본 데이터베이스 테스트를 제거하려면 y를 입력합니다.
- 마지막으로, MySQL 테이블 권한을 다시 로드하여 변경 사항을 적용하려면 y를 입력합니다.
MySQL 구성이 완료되면 Magento를 위한 새 데이터베이스와 사용자를 생성해야 합니다.
아래 명령어로 MySQL 서버에 로그인합니다. 프롬프트가 표시되면 MySQL 루트 비밀번호를 입력합니다.
sudo mysql -u root -p이제 다음 쿼리를 실행하여 Magento를 위한 새 데이터베이스와 사용자를 생성합니다. 이 예제에서는 비밀번호 ‘ M4gentoPassw0rd__ ‘로 새 사용자와 데이터베이스 ‘ magento ‘를 생성합니다.
다음 세부 정보를 귀하의 정보로 변경해야 합니다. 또한 Magento의 MySQL 비밀번호는 특수 문자, 숫자 및 대문자를 포함해야 합니다.
CREATE DATABASE magento;
CREATE USER 'magento'@'localhost' IDENTIFIED BY 'M4gentoPassw0rd__';
GRANT ALL PRIVILEGES ON magento.* to 'magento'@'localhost';
FLUSH PRIVILEGES;
다음으로, 사용자 ‘ magento ‘에 대한 권한을 확인하는 다음 쿼리를 실행합니다. 사용자가 데이터베이스 ‘ magento ‘에 접근할 수 있는지 확인합니다.
SHOW GRANTS FOR magento@localhost;마지막으로, MySQL 서버에서 종료하려면 quit를 입력합니다.

명령줄을 통한 Magento 설치
이 섹션에서는 Magento 소스 코드를 다운로드하고 Composer를 사용하여 PHP 의존성을 설치합니다. 그런 다음 명령줄을 사용하여 Magento를 설치합니다. 마지막으로 Magento를 위한 crontab을 생성합니다.
‘ /var/www ‘ 디렉토리로 이동하여 다음 wget 명령어를 사용하여 Magento 소스 코드를 다운로드합니다. Magento GitHub 페이지를 확인하고 Magento 최신 버전 URL을 가져옵니다.
cd /var/www
wget https://github.com/magento/magento2/archive/refs/tags/2.4.7.tar.gz다운로드가 완료되면 Magento 소스 코드를 추출하고 추출된 디렉토리의 이름을 ‘magento2’로 변경합니다. 이렇게 하면 Magento 설치가 ‘/var/www/magento2’에 위치해야 합니다.
tar -xf 2.4.7.tar.gz
mv magento2-* magento2이제 아래 명령어를 실행하여 Composer를 위한 추가 디렉토리를 생성하고 ‘ /var/www ‘ 디렉토리의 소유권을 사용자 ‘ www-data ‘로 변경합니다.
sudo mkdir -p /var/www/{.config,.cache}
sudo chown -R www-data:www-data /var/www그런 다음 아래 명령어를 실행하여 ‘ www-data ‘ 사용자에게 ‘ /var/www/magento2 ‘ 디렉토리 내에서 읽기, 쓰기 및 실행 권한을 부여합니다.
sudo chmod u+rwx /var/www/magento2다음으로 ‘ /var/www/magento2 ‘ 디렉토리로 이동하여 아래 Composer 명령어로 Magento의 PHP 의존성을 설치합니다. 이렇게 하면 Magento에 대한 의존성이 설치됩니다.
cd /var/www/magento2
sudo -u www-data composer install의존성을 설치한 후 아래 명령어를 실행하여 ‘ www-data ‘ 사용자에게 Magento 웹 루트 내의 ‘ generated ‘ 및 ‘ var ‘ 디렉토리에 대한 ‘ rwx ‘ 권한을 부여합니다.
sudo chown -R www-data:www-data /var/www/magento2/var /var/www/magento2/generated
sudo chmod u+rwx /var/www/magento2/var /var/www/magento2/generated
sudo chmod g+rw /var/www/magento2/var /var/www/magento2/generated이제 아래 명령어를 실행하여 Magento 설치를 시작합니다. Magento 설치를 위해 URL 세부정보, MySQL 데이터베이스, 관리자 사용자 및 비밀번호를 변경해야 합니다.
sudo -u www-data bin/magento setup:install \
--base-url=http://howtoforge.local \
--db-host=localhost \
--db-name=magento2 \
--db-user=magento \
--db-password=M4gentoPassw0rd__ \
--admin-firstname=bob \
--admin-lastname=admin \
--admin-email=[email protected] \
--admin-user=bob \
--admin-password=BobAdm1nP4ssword \
--currency=USD \
--timezone=Europe/Amsterdam \
--use-rewrites=1 \
--session-save=redis \
--search-engine=opensearch \
--opensearch-host=127.0.0.1 \
--opensearch-port=9200 \
--opensearch-enable-auth=0 \
--opensearch-index-prefix=magento22 \
--opensearch-timeout=30아래에서 Magento 설치가 시작되는 것을 볼 수 있습니다:

완료되면 ‘ Magento 설치 완료.’라는 출력과 Magento 설치를 위한 관리자 URL 경로가 표시됩니다. 생성된 URL을 Magento 관리자 페이지에 저장하세요.

Magento 설치를 마치려면 아래 명령어를 실행하여 Magento의 crontab을 생성하고 Magento의 인덱싱을 실행합니다.
sudo -u www-data bin/magento cron:install
sudo -u www-data bin/magento cron:run --group index아래 명령어로 사용자 ‘www-data’의 crontab 목록을 확인할 수 있습니다:
crontab -u www-data -l아래에서 Magento의 crontab이 생성된 것을 볼 수 있습니다.
마지막으로 아래 명령어를 실행하여 Magento 설치의 캐시를 지웁니다. 이렇게 하면 Magento 설치가 완료됩니다. 다음으로 Nginx 웹 서버를 설정해야 합니다.
sudo -u www-data bin/magento cache:cleanNginx 서버 블록 설정
이 시점에서 Magento 설치가 완료되었습니다. 이제 Magento 설치를 실행할 새로운 Nginx 서버를 생성합니다. 서버 IP 주소를 가리키는 도메인 이름이 있는지 확인하세요.
다음 nano 편집기를 사용하여 새로운 Nginx 서버 블록 구성 ‘ /etc/nginx/sites-available/magento.conf ‘을 생성합니다.
sudo nano /etc/nginx/sites-available/magento.conf다음 구성을 삽입하고 server_name 옵션을 Magento 도메인 이름으로 변경해야 합니다.
upstream fastcgi_backend {
server unix:/run/php/php8.3-fpm.sock;
}
server {
listen 80;
listen [::]:80;
server_name howtoforge.local;
set $MAGE_ROOT /var/www/magento2/;
include /var/www/magento2/nginx.conf.sample;
client_max_body_size 2M;
access_log /var/log/nginx/magento.access;
error_log /var/log/nginx/magento.error;
}작업이 완료되면 파일을 저장하고 종료합니다.
이제 아래 명령어를 실행하여 서버 블록 ‘ magento.conf ‘를 활성화하고 Nginx 구문을 확인합니다. ‘ syntax is ok - test is successful ‘라는 출력을 받아야 합니다.
sudo ln -s /etc/nginx/sites-available/magento.conf /etc/nginx/sites-enabled/
sudo nginx -t마지막으로 아래 명령어로 Nginx 서비스를 재시작하여 새로운 서버 블록 구성을 적용합니다. 명령어가 실행된 후 Magento 설치가 가능합니다.
sudo systemctl restart nginxHTTPS로 Magento 보안 설정
공용 도메인에서 Magento를 실행하는 경우 HTTPS로 보안 설정해야 합니다. 이 섹션에서는 Certbot과 Letsencrypt를 통해 Magento 설치를 HTTPS로 보안 설정합니다.
다음 명령어를 사용하여 Certbot 및 Certbot Nginx 플러그인을 설치합니다. 설치를 확인하려면 Y를 입력합니다.
sudo apt install certbot python3-certbot-nginx설치가 완료되면 아래 명령어를 실행하여 Letsencrypt에서 SSL/TLS 인증서를 생성합니다. 아래의 이메일 주소와 도메인 이름을 귀하의 정보로 변경해야 합니다.
sudo certbot --nginx --agree-tos --no-eff-email --redirect --hsts --staple-ocsp --email [email protected] -d howtoforge.local프로세스가 완료되면 Magento 설치가 자동으로 HTTPS로 보안 설정됩니다. SSL/TLS 인증서는 ‘ /etc/letsencrypt/live/domain.com ‘ 디렉토리에 있습니다.
Magento 접근
웹 브라우저를 열고 https://howtoforge.local과 같은 Magento 도메인 이름을 방문하세요. 설치가 성공적이라면 다음과 같은 기본 Magento 인덱스 페이지를 볼 수 있습니다.

이제 Magento 관리 URL인 https://howtoforge.local/admin_ze87mmj를 방문하세요. 설치 과정을 확인하세요.
Magento의 관리자 사용자 및 비밀번호를 입력하고 로그인 버튼을 누르세요.

성공적으로 로그인하면 다음과 같은 Magento 관리 대시보드를 볼 수 있습니다:

결론
축하합니다! 우분투 24.04 서버에 Magento 전자상거래 설치를 완료했습니다. LEMP 스택(Linux, Nginx, MySQL 및 PHP-FPM), OpenSearch 및 Redis와 함께 Magento가 설치되었습니다. 또한 Certbot과 Letsencrypt를 통해 Magento를 HTTPS로 보안 설정했습니다.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.