본문 바로가기
관심분야

마젠토에 POS Extension설치하기

by beresford 2023. 3. 22.

마젠토(Magento) 2.4.x에 오프라인에서 사용할 POS(Point Of Sales) Extension을 설치하는 과정에 대해서 알아보겠습니다. 마젠토 Extension은 Magento Core 기능을 확장하고 고객에게 더 나은 쇼핑 경험을 제공하기 위해서 다양한 기능을 가진 Extension이 존재합니다. 마젠토가 인터넷 쇼핑몰에 특화되어 있지만 마젠토에 POS Extension을 설치하여 오프라인 가게에서도 사용할 수 있게 됨으로써 온, 오프라인에서의 상품 재고의 통합관리나 고객서비스, 결제, 배송 및 보안등의 기능을 일원화하여 관리할 수 있는 강점이 있습니다. 여기서는 오프라인 가게의 POS를 위해서 Magestore POS를 수동(manual) 설치하는 과정을 소개하도록 하겠습니다.

설치를 위한 준비사항

  • Magento 2.4.x가 설치되어 운영되는 환경
  • Install 하기 전 Magento백업
  • POS Extension package

설치과정

1) SSH로 마젠토 서버에 접속하여 Extension설치과정에서 온라인 Site에 접속하려는 사용자를 차단하여 웹사이트를 업데이트하거나 유지보수작업을 위해서 사용하는 명령어로 Maintenance Mode를 Enable 시킨다.

$ php bin/magento maintenance:enable

 

2) Index작업등 백그라운드에서 작업되는 타스크를 사전에 제거하기 위해서 마젠토 Cron작업을 Off 한다. 마젠토의 스케쥴러에 등록된 모든 Cron Job을 삭제하는 데 사용된다.

$ php bin/magento cron:remove

 

3) 개발자 모드를 On 한다. 개발자 모드는 개발관련하여 디버깅하는 필요한 정보를 제공하는 기능을 가지고 있으며 Extension설치 시에도 호환성 문제등 발생 시 Troubleshooting을 용이하게 하는 정보를 얻을 수 있는 장점이 있다. 개발자 모드에서는 app/etc/env.php파일을 update 할 수 있기 때문에 개발자 모드로 전환하기 전에  env.php파일을 미리 백업을 받아두는 것이 안전하다.

 $ php bin/magento deploy:mode:set developer

 

4) Extension개발사에서 제공하는 Scratch파일을 Magento 홈디렉터리에 FTP를 이용해서 upload 한다. Upload 된 파일을 tar나 unzip 등 압축파일 유형에 따라 복원한다.

 $ tar -xf <package_name>

 

5) POS 인스톨을 위해서 upgrade명령을 실행한다. 이 명령어는 마젠토 모듈이나 Extension의 데이터 스키마 업데이트를 수행하는 데 사용된다.

$ php bin/magento setup:upgrade

 

6) POS Client전개, 즉 웹포스의 정적파일을 배포하는 데 사용되는 명령어로서 webPOS모듈이 마젠토의 pub/static 디렉터리로 복사된다.

$ php bin/magento webpos:deploy

 

7) Code Compile을 수행한다

$php bin/magento setup:di:compile

 

8) Magestore POS시스템에 포함된 바코드를 설치한다. 바코드는 composer는 PHP용 패키지관리시스템으로 사용되는 종속성이나 라이브러리를 쉽게 관리할 수 있도록 해준다.

$ composer require laminas/laminas-barcode ^2.8

$ php bin/magento setup:upgrade

바코드 설치
바코드 설치

9) Extension이 정상설치되었으면, Cache를 Clean 하고 Magento Cron을 실행한다.

$ php bin/magento cache:clean

$ php bin/magento cron:install

 

10) 데이터베이스의 인덱스를 reindex 한다.

$ php bin/magento indexer:reindex

 

11) 개발자 모드에서 Live시스템을 위한 Production mode로 전환한다.

$ php bin/magento deploy:mode:set production

 

12) Maintenance mode해제하여 시스템이 온라인에서도 정상가동되도록 한다.

$ php bin/magento maintenance:disable

 

13) 예기치 않은 문제가 발생 시 방금 설치된 Magestore POS관련 모듈들을 Disable 하여 디버깅작업을 수행하도록 한다.

$ php bin/magento module:status | grep -i 'Magestore' | xargs php bin/magento module:disable

맺음말

composer로 설치되는 바코드시스템에서 에러 메시지가 있었지만 기본적인 설치에는 문제가 없었습니다. 마젠토의 Web POS  Extension이 성공적으로 설치되어 Sales의 온오프라인 통합화로 관리 프로세스가 간소화를 기대하고 있습니다. 

댓글