OkSft

Magento & Shopify eCommerce Solution

마젠토 카테고리 Part 1

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

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를 설치해보겠습니다.

Magento
Back