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 802단계 - 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-fpm3단계 - MariaDB 설치 및 구성
여기서는 MySQL 대신 MariaDB를 사용할 것입니다. apt 명령어로 MariaDB를 설치합니다:
apt-get install mariadb-server mariadb-client -y다음 명령어로 MariaDB 루트 사용자 비밀번호를 설정합니다:
mysqladmin -u root password mypasswordmysql_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 -pMySQL 셸에서 다음 명령어를 실행합니다:
create database magentodb;
create user magentouser@localhost identified by 'magentouser@';
grant all privileges on magentodb.* to magentouser@localhost identified by 'magentouser@';
flush privileges;
\q
데이터베이스가 생성되고 구성되었습니다.
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 2 설치 디렉토리 ‘/var/www/magento2’로 이동하여 composer 명령어를 실행합니다:
cd /var/www/magento2/
composer install -vMagento 인증을 요청받을 것이며, 공개 키를 사용자 이름으로 사용하고 비공식 키를 비밀번호로 사용합니다.
- 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-databasebackend-frontname = 우리의 Magento 사이트의 관리자 페이지로 ‘ adminlogin ‘을 사용합니다.
Key = 우리의 Magento 키로, 생성하거나 http://randomkeygen.com/에서 무작위로 찾을 수 있습니다.
Base-url = 가상 호스트 구성과 동일한지 확인합니다.
설치 절차가 끝나면 다음과 같은 줄이 표시되어야 합니다:
[SUCCESS]: Magento 설치 완료.
[SUCCESS]: Magento 관리자 URI: /adminloginMagento 설치를 테스트하기 전에 웹 디렉토리 소유자가 ‘ 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 인덱서 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는 인터넷에서 가장 인기 있는 전자상거래 소프트웨어 중 하나가 되었으며, 전 세계의 많은 성공적인 상점 웹사이트에서 사용되고 있습니다.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.