Magento 설치 · 4 min read · Oct 19, 2025

우분투 16.04에 Nginx로 Magento 설치하는 방법

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

이 튜토리얼에서는 Nginx, PHP 7.0 FPM 모드 및 MariaDB를 사용하여 Magento 2를 설치하는 방법을 보여드리겠습니다. 서버 운영 체제로는 우분투 16.04 (Xenial Xerus)를 사용할 것입니다. 최소 서버 설정이 아직 없다면, 적절한 기본 설정을 얻기 위해 이 튜토리얼을 참조하십시오.

전제 조건:

  • 우분투 16.04 - 64비트.
  • 루트 권한.

1단계 - Nginx 설치

루트 계정(예: SSH)을 사용하여 우분투 서버에 로그인하고 저장소를 업데이트합니다.

sudo su  
apt-get update

그런 다음 Nginx를 설치합니다:

apt-get install nginx -y

포트를 확인하여 Nginx가 제대로 설치되었는지 확인합니다:

netstat -plntu | grep 80

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

이번 단계에서는 PHP 7을 PHP-FPM 모드로 설치합니다. 추가로 Magento에서 요구하는 다음 PHP 확장도 설치합니다.

  • php-gd
  • php-mhash
  • php-mcrypt
  • php-xsl
  • php-pear
  • php-soap

아래의 apt 명령어로 패키지를 설치합니다:

apt-get install php7.0-fpm php7.0-mcrypt php7.0-curl php7.0-cli php7.0-mysql php7.0-gd php7.0-xsl php7.0-json php7.0-intl php-pear php7.0-dev php7.0-common php7.0-mbstring php7.0-zip php-soap libcurl3 curl -y

이제 fpm 및 cli에 대한 php.ini 파일을 편집합니다.

vim /etc/php/7.0/fpm/php.ini  
vim /etc/php/7.0/cli/php.ini

그리고 메모리 제한 및 PHP 실행 시간을 늘리고 zlib 압축을 활성화하기 위해 파일 끝에 다음 줄을 추가합니다:

memory_limit = 512M  
max_execution_time = 1800  
zlib.output_compression = On

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

구성 변경 사항을 적용하기 위해 PHP-FPM 서비스를 재시작합니다:

systemctl restart php7.0-fpm

3단계 - MariaDB 설치 및 구성

여기서는 MySQL 대신 MariaDB를 사용할 것입니다. apt 명령어로 MariaDB를 설치합니다:

apt-get install mariadb-server mariadb-client -y

다음 명령어로 MariaDB 루트 사용자 비밀번호를 설정합니다:

mysqladmin -u root password mypassword
mysql_secure_installation  
  루트 비밀번호 설정? [Y/n] Y  
  새 비밀번호:  
  새 비밀번호 재입력: <-- 새 비밀번호 입력  
  익명 사용자 제거? [Y/n] Y  
  ... 성공!  
  원격으로 루트 로그인 금지? [Y/n] Y  
  ... 성공!  
  테스트 데이터베이스 및 접근 제거? [Y/n] Y  
  권한 테이블을 지금 다시 로드합니까? [Y/n] Y  
  ... 성공!

그런 다음 루트 비밀번호로 MySQL 셸(명령 mysql로 시작되는 MariaDB 셸)에 연결하고, ‘ magentodb ‘라는 이름의 데이터베이스와 ‘ magentouser ‘라는 사용자 및 비밀번호 ‘ magentouser@ ‘를 생성합니다. 서버에서 ‘magentouser’의 안전한 비밀번호를 선택하고, 이 예제에서 사용한 ‘ magentouser@ ‘는 사용하지 마십시오!

MySQL 셸에 로그인:

mysql -u root -p

MySQL 셸에서 다음 명령어를 실행합니다:

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

Magento 데이터베이스 생성

데이터베이스가 생성되고 구성되었습니다.

4단계 - Magento 2 설치 및 구성

‘/var/www/magento2’ 디렉토리에 Magento를 설치합니다. Magento 설치를 위해 PHP composer가 필요합니다.

- PHP composer 설치

루트 디렉토리로 이동하여 curl로 composer 설치 파일을 다운로드하고 실행하여 composer를 설치합니다.

cd ~/  
curl -sS https://getcomposer.org/installer | php

‘composer.phar’ 파일을 서버의 bin 디렉토리로 이동하고 실행할 수 있도록 이름을 composer로 변경합니다:

mv composer.phar /usr/bin/composer

이제 composer 명령어가 작동하는지 확인합니다:

composer -v

- Magento 2 다운로드 및 압축 해제

웹 디렉토리 ‘/var/www/‘로 이동하여 Github 저장소에서 Magento를 다운로드한 다음 다운로드한 tar.gz 파일의 압축을 풉니다:

cd /var/www/  
wget https://github.com/magento/magento2/archive/2.0.7.tar.gz  
tar -xzvf 2.0.7.tar.gz  
mv magento2-2.0.7/ magento2/

완료.

- Magento 키 구성

Magento 웹사이트 repo.magento.com에서 계정을 등록합니다. 이 계정은 Magento 및 Magento composer 스토어를 사용하기 위해 필요합니다. 등록이 완료되면 ‘ 내 계정 > 개발자 > 보안 키 ‘ 탭으로 이동하여 키를 생성합니다.

Magento 키 구성

- Magento용 타사 구성 요소 설치

Magento 2 설치 디렉토리 ‘/var/www/magento2’로 이동하여 composer 명령어를 실행합니다:

cd /var/www/magento2/  
composer install -v

Magento 인증을 요청받을 것이며, 공개 키를 사용자 이름으로 사용하고 비공식 키를 비밀번호로 사용합니다.

- Nginx 가상 호스트 구성

Magento는 준비된 Nginx 가상 호스트 구성을 제공하므로, 이를 구성에 포함하기만 하면 됩니다.

Nginx 가상 호스트 디렉토리로 이동하여 magento라는 새 파일을 생성합니다:

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

아래 구성을 붙여넣습니다:

upstream fastcgi_backend {  
        server  unix:/run/php/php7.0-fpm.sock;  
}  
  
server {  
        listen 80;  
        server_name www.newmagento.com;  
        set $MAGE_ROOT /var/www/magento2;  
        set $MAGE_MODE developer;  
        include /var/www/magento2/nginx.conf.sample;  
}

www.newmagento.com을 상점에서 사용할 웹사이트의 도메인 이름으로 바꿉니다.

저장하고 종료합니다.

이제 가상 호스트를 활성화하고 Nginx를 재시작합니다:

ln -s /etc/nginx/sites-available/magento /etc/nginx/sites-enabled/  
systemctl restart nginx

- Magento 설치

명령줄에서 Magento를 설치합니다. Magento 디렉토리 ‘/var/www/magento2/‘에는 Magento를 설치하고 관리하는 데 사용되는 ‘magento’라는 이름의 바이너리 파일이 있습니다. 다음 명령어를 실행합니다:

bin/magento setup:install --backend-frontname="adminlogin" \  
--key="biY8vdWx4w8KV5Q59380Fejy36l6ssUb" \  
--db-host="localhost" \  
--db-name="magentodb" \  
--db-user="magentouser" \  
--db-password="magentouser@" \  
--language="en_US" \  
--currency="USD" \  
--timezone="America/New_York" \  
--use-rewrites=1 \  
--use-secure=0 \  
--base-url="http://www.newmagento.com" \  
--base-url-secure="https://www.newmagento.com" \  
--admin-user=adminuser \  
--admin-password=admin123@ \  
--admin-email="[email protected]" \  
--admin-firstname=admin \  
--admin-lastname=user \  
--cleanup-database

backend-frontname = 우리의 Magento 사이트의 관리자 페이지로 ‘ adminlogin ‘을 사용합니다.
Key = 우리의 Magento 키로, 생성하거나 http://randomkeygen.com/에서 무작위로 찾을 수 있습니다.
Base-url = 가상 호스트 구성과 동일한지 확인합니다.

설치 절차가 끝나면 다음과 같은 줄이 표시되어야 합니다:

[SUCCESS]: Magento 설치 완료.
[SUCCESS]: Magento 관리자 URI: /adminlogin

Magento 설치를 테스트하기 전에 웹 디렉토리 소유자가 ‘ www-data ‘인지 확인한 후 Nginx를 재시작합니다.

cd /var/www/magento2/  
chmod 700 /var/www/magento2/app/etc  
chown -R www-data:www-data .
systemctl restart nginx

이제 브라우저에서 Magento 도메인을 엽니다: *

제 경우 도메인 이름은: www.newmagento.com.

Magento 홈페이지

Magento 관리자 대시보드에 로그인해 보세요: *

www.newmagento.com/adminlogin

Magento 관리자 로그인

**

Magento 관리자 대시보드

참고:

Magento 인덱서 cronjob이 누락되었다는 오류가 발생하면, 다음 cronjob을 서버에 추가하여 해결할 수 있습니다:

crontab -u www-data -e

다음 줄을 추가합니다:

* * * * * /usr/bin/php /var/www/magento2/bin/magento cron:run | grep -v "Ran jobs by schedule" >> /var/www/magento2/var/log/magento.cron.log
* * * * * /usr/bin/php /var/www/magento2/update/cron.php >> /var/www/magento2/var/log/update.cron.log
* * * * * /usr/bin/php /var/www/magento2/bin/magento setup:cron:run >> /var/www/magento2/var/log/setup.cron.log

저장하고 종료합니다.

이제 우분투 16.04에 Nginx 및 PHP-FPM 7로 Magento 2가 설치되었습니다.

결론

Magento는 PHP Zend Framework를 기반으로 한 오픈 소스 전자상거래 플랫폼입니다. 이는 온라인 비즈니스를 돕기 위한 복잡한 전자상거래 소프트웨어입니다. Magento는 MVC(모델-뷰-컨트롤러) 아키텍처와 MySQL 또는 MariaDB를 데이터베이스로 사용합니다. Magento는 설치가 쉽고, Nginx 또는 Apache 웹 서버로 설치할 수 있습니다. Magento는 인터넷에서 가장 인기 있는 전자상거래 소프트웨어 중 하나가 되었으며, 전 세계의 많은 성공적인 상점 웹사이트에서 사용되고 있습니다.

Share: X/Twitter LinkedIn

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

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