DEVELOPMENT INSIGHT 쇼핑몰 개발

마젠토 카테고리 Part 1

마젠토에서 카테고리는 상품을 그룹화하는 기능 이외에도 메뉴 구성과 자체 웹페이지 기능 등을 가지고 있습니다

쇼핑몰 플랫폼 마젠토 개발
2023-05-21 17:52:08 3분 읽기
OKSOFT DEVELOPMENT INSIGHT

Chapter 1.1: Hosts 파일 설정

로컬 개발 환경에서 dev.magento.com 도메인을 사용할 예정입니다. 이를 위해 /etc/hosts 파일을 수정해야 합니다.

……
127.0.0.1 dev.magento.com
……
    

/etc/hosts 파일에 dev.magento.com 도메인을 추가한 후, 해당 도메인이 올바르게 설정되었는지 확인하기 위해 ping 명령어를 사용합니다.

$> ping dev.magento.com

Chapter 1.2: NGINX 설치

개발 환경에서 방화벽이 활성화되어 있으면, 외부 접근에 제약이 생길 수 있습니다. 따라서 개발 편의성을 위해 방화벽을 해제하겠습니다.

$> sudo ufw disable

이제 NGINX를 설치하겠습니다.

$> sudo apt update && sudo apt install nginx

이제 NGINX의 설정 파일인 /etc/nginx/nginx.conf를 열어 user 항목을 수정합니다.

……
user {개발계정명};
……
    

변경 사항을 적용하기 위해 NGINX를 재시작하고, 서비스 상태를 확인합니다.

$> sudo systemctl restart nginx && sudo systemctl status nginx

Chapter 1.3: MySQL 8 설치

이번 단계에서는 MySQL 8을 설치하고, 설치 후 서비스 상태를 확인합니다.

$> sudo apt install mysql-server && sudo systemctl status mysql

MySQL에 접속하여 새 계정과 데이터베이스를 생성하는 방법을 설명하겠습니다.

$> sudo mysql
mysql> CREATE USER 'magento'@'localhost' IDENTIFIED BY 'admin123';
mysql> ALTER USER 'magento'@'localhost' IDENTIFIED WITH mysql_native_password BY 'admin123';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'magento'@'localhost' WITH GRANT OPTION;
mysql> CREATE DATABASE magento;
mysql> FLUSH PRIVILEGES;
mysql> exit
    

Chapter 1.4: PHP 7.4 설치

이번 단계에서는 PHP 7.4를 설치하고, Magento에서 사용되는 PHP 확장 모듈을 추가로 설치합니다.

$> sudo apt install php7.4-fpm php7.4-common php7.4-mysql php7.4-gmp \
    php7.4-curl php7.4-intl php7.4-mbstring php7.4-xmlrpc php7.4-gd php7.4-xml \
    php7.4-cli php7.4-zip php7.4-soap php7.4-bcmath php7.4-xdebug
    

NGINX가 index.php 파일을 인덱스 파일로 인식하도록 기본 설정 파일을 수정합니다.

File: /etc/nginx/sites-available/default
……
index index.php index.html index.htm index.nginx-debian.html;
……
    

NGINX에 변경된 설정을 적용해 보겠습니다.

$> sudo systemctl reload nginx

PHP 설정 파일인 php.ini를 수정하여 필요한 설정을 적용합니다.

File: /etc/php/7.4/fpm/php.ini
……
short_open_tag = On  
memory_limit = 2G 
cgi.fix_pathinfo = 0
upload_max_filesize = 1G
max_execution_time = 1800
zlib.output_compression = On
……
    

PHP-FPM 프로세스가 사용할 사용자와 그룹을 설정합니다.

File: /etc/php/7.4/fpm/pool.d/www.conf 
……
user = <개발계정명>
group = <개발계정명>
listen.owner = <개발계정명>
listen.group = <개발계정명>
……
    
$> sudo systemctl reload php7.4-fpm && systemctl status php7.4-fpm

Chapter 1.5: Composer 설치

이번 단계에서는 Composer를 설치하는 방법을 설명하겠습니다.

$> cd
$> wget https://github.com/composer/composer/releases/download/1.10.17/composer.phar
$> sudo mv composer.phar /usr/local/bin/composer
$> sudo chmod +x /usr/local/bin/composer
$> composer
    

Chapter 1.6: Elasticsearch 7.6 설치

Magento 2.4부터는 기본 카탈로그 검색 엔진으로 Elasticsearch를 사용합니다. Elasticsearch 설치 전에 JDK와 CURL을 설치합니다.

$> sudo apt install openjdk-11-jdk -y && sudo apt install curl -y

Elasticsearch 설치:

$> curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
$> echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
$> sudo apt update
$> sudo apt install elasticsearch
    

NGINX와 Elasticsearch 간의 인증 설정을 위해 /etc/nginx/conf.d/magento_es_auth.conf 파일을 생성합니다.

……
server {
    listen 8080;
    location /_cluster/health {
        proxy_pass http://localhost:9200/_cluster/health;
    }
}
……
    
$> sudo systemctl restart nginx && sudo systemctl enable elasticsearch && sudo systemctl start elasticsearch

로컬 서버 환경이 준비되었으므로, 다음 글에서는 Magento를 설치해보겠습니다.

INSIGHT
마젠토에서 카테고리는 상품을 그룹화하는 기능 이외에도 메뉴 구성과 자체 웹페이지 기능 등을 가지고 있습니다
MAINTENANCE & SUPPORT

이미 운영 중인 서비스도
지속적인 관리가 필요합니다

기존 웹사이트와 웹시스템의 구조를 분석하고 오류 대응부터 기능 개선과 서버 관리까지 서비스 운영에 필요한 개발 업무를 지원합니다.

유지보수 서비스 보기
01 오류 대응
02 기능 개선
03 서버 관리
04 운영 지원
PROJECT INQUIRY

비슷한 서비스를
준비하고 계신가요?

서비스의 목적과 운영 방식을 분석하고 필요한 기능을 설계하여 실제 사용할 수 있는 웹서비스로 구현합니다.

프로젝트 문의하기