ERP 설치 · 6 min read · Sep 22, 2025

Debian 12에 ERPNext 설치하는 방법

ERPNext는 오픈 소스 기업 자원 관리(ERP) 솔루션입니다. ERPNext는 제조, 유통, 소매, 무역, 서비스, 교육, 비영리 및 의료와 같은 다양한 산업에서 사용될 수 있습니다. 또한 회계, CRM, 판매, 구매, 웹사이트, 전자상거래, 판매 시점, 제조, 창고, 프로젝트 관리, 재고 및 서비스와 같은 모듈을 제공합니다.

ERPNext는 GNU 일반 공용 라이센스 v3에 따라 라이센스가 부여된 기업 ERP 플랫폼입니다. 주로 Python과 JavaScript로 작성되었으며 Frappe Technologies Pvt. Ltd.에서 개발했습니다. ERPNext는 Python과 JavaScript로 작성된 오픈 소스 웹 프레임워크인 frappeframework 하에 작성된 애플리케이션입니다.

ERPNext는 Oracle의 NetSuite, QAD, Tython, OpenBrave 및 Odoo와 같은 서비스의 대안으로 개발되었습니다. 기능 면에서 ERPNext는 Odoo(구 OpenERP)와 유사합니다.

이 튜토리얼에서는 Debian 12 서버에 ERPNext 설치 과정을 안내합니다. MariaDB 데이터베이스 서버, Nginx를 리버스 프록시로, Supervisor 프로세스 관리자를 사용하여 ERPNext를 설치합니다.

전제 조건

시작하려면 다음에 대한 접근 권한이 있는지 확인하십시오:

  • Debian 12 서버.
  • sudo 관리자 권한이 있는 비루트 사용자.
  • 서버 IP 주소를 가리키는 도메인 이름.

종속성 설치

ERPNext는 Python으로 작성된 오픈 소스 ERP 및 CRM 소프트웨어입니다. ERPNext를 설치하려면 Debian 서버에 Python 3, MariaDB 서버, Node.js, Yarn 패키지 관리자, Nginx, Supervisor 프로세스 관리자 및 Redis와 같은 종속성을 설치해야 합니다.

첫 번째 단계에서는 Debian 리포지토리에서 ERPNext 종속성을 설치합니다. 그런 다음 모든 것이 설치되었는지 확인하기 위해 각 종속성을 확인합니다.

종속성을 설치하기 전에 아래의 apt update 명령을 실행하여 Debian 패키지 인덱스를 새로 고칩니다.

sudo apt update

이제 다음 명령을 실행하여 Python 3.11, Node.js, NPM, MariaDB 서버, Nginx 웹 서버, Supervisor 프로세스 관리자 및 Redis 서버를 포함한 ERPNext의 종속성을 설치합니다.

sudo apt install python3-dev python3-venv nodejs yarnpkg npm redis-server mariadb-server nginx supervisor fail2ban libffi-dev git python3-pip python3-testresources libssl-dev wkhtmltopdf gcc g++ make

설치를 진행하려면 y를 입력하십시오.

종속성이 설치되면 다음 명령을 실행하여 각 종속성을 확인합니다. systemctl 명령을 통해 일부 서비스를 확인하여 각 서비스가 실행 중이고 활성화되어 있는지 확인합니다.

다음 명령을 사용하여 MariaDB 서버를 확인합니다.

sudo systemctl is-enabled mariadb  
sudo systemctl status mariadb

check mariadb

Nginx 서비스가 실행 중이고 활성화되어 있는지 확인합니다.

sudo systemctl is-enabled nginx  
sudo systemctl status nginx

check nginx

이제 아래 명령을 사용하여 Supervisor 프로세스 관리자 서비스를 확인합니다.

sudo systemctl is-enabled supervisor  
sudo systemctl status supervisor

check supervisor

그런 다음 Redis가 사용 가능하고 ERPNext 프로덕션을 위해 준비되었는지 확인합니다.

sudo systemctl is-enabled redis-server  
sudo systemctl status redis-server

check redis

다음으로 다음 명령을 사용하여 Node.js 및 NPM 버전을 확인합니다.

node --version  
npm --version

다음 출력은 Node.js v18.x 및 NPM 1.22가 설치되었음을 확인합니다.

마지막으로 아래 명령을 사용하여 wkhtmltopdf 버전을 확인합니다. wkhtmltopdf 버전 0.12가 설치되어 있어야 합니다.

wkhtmltopdf --version  
wkhtmltoimage --version

MariaDB 서버 구성

종속성을 설치한 후 ERPNext 설치를 위해 MariaDB 서버를 구성합니다. ERPNext는 barracuda 형식이 활성화되어야 하며 기본 문자 집합이 utf8mb4로 구성되어야 합니다. 또한 mariadb-secure-installation 유틸리티를 통해 MariaDB 서버를 보호합니다.

아래의 mariadb-secure-installation 명령을 실행하여 MariaDB 서버 설치를 보호합니다.

sudo mariadb-secure-installation

다음 구성에 대해 질문을 받을 때 Y를 입력하여 적용합니다:

  • 로컬 인증을 unix_socket으로 전환하시겠습니까? 아니오를 위해 n을 입력합니다.
  • MariaDB 루트 비밀번호를 설정하시겠습니까? y를 입력한 후 새 MariaDB 루트 비밀번호를 입력하고 반복합니다.
  • 기본 익명 사용자를 제거하시겠습니까? 확인을 위해 y를 입력합니다.
  • 루트 사용자에 대한 원격 로그인을 비활성화하시겠습니까? 확인을 위해 y를 입력합니다.
  • 기본 데이터베이스 테스트를 제거하시겠습니까? 확인을 위해 y를 입력합니다.
  • 테이블 권한을 다시 로드하고 변경 사항을 적용하시겠습니까? 확인을 위해 y를 입력합니다.

이제 다음 nano 편집기를 사용하여 MariaDB 서버 구성 파일 /etc/mysql/mariadb.conf.d/50-server.cnf를 엽니다.

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

[mysqld] 섹션 내에 다음 구성을 삽입하여 barracuda 형식을 활성화하고 기본 문자 집합을 utf8mb4로 설정합니다.

[mysqld]  
innodb-file-format=barracuda  
innodb-file-per-table=1  
innodb-large-prefix=1  
character-set-client-handshake = FALSE  
character-set-server = utf8mb4  
collation-server = utf8mb4_unicode_ci

작업이 완료되면 파일을 저장하고 편집기를 종료합니다.

다음으로 nano 편집기를 사용하여 파일 /etc/mysql/mariadb.conf.d/50-mysql-clients.cnf를 열어 MariaDB 클라이언트 연결을 구성합니다.

sudo nano /etc/mysql/mariadb.conf.d/50-mysql-clients.cnf

[mysql] 섹션에 다음 구성을 추가합니다.

[mysql]  
default-character-set = utf8mb4

파일을 저장하고 종료합니다.

마지막으로 다음 명령을 실행하여 MariaDB 서버를 재시작하고 새 구성을 적용합니다.

sudo systemctl restart mariadb

Bench 명령줄 도구 설치

Bench는 Frappe 프레임워크 및 애플리케이션과 사이트 관리를 위한 명령줄 도구입니다. ERPNext는 Frappe 프레임워크로 작성된 웹 애플리케이션이므로 Bench를 통해 설치해야 합니다.

다음 섹션을 완료하여 ERPNext에 사용할 새 사용자 생성한 후 Debian 시스템에 Bench 유틸리티를 설치합니다.

먼저 다음 명령을 실행하여 새 사용자 frappe를 추가하고 새 비밀번호를 입력한 후 반복합니다.

sudo useradd -m -s /bin/bash frappe  
sudo passwd frappe

사용자 frappe를 sudo 그룹에 추가하여 sudo 명령을 실행할 수 있도록 합니다.

sudo usermod -aG sudo frappe

add user

다음으로 새 사용자 frappe로 로그인하고 pip Python 패키지 관리자를 통해 frappe-bench 또는 bench 패키지를 설치합니다.

su - frappe  
sudo pip3 install frappe-bench --break-system-packages

install bench

frappe-bench가 설치되면 다음 명령을 사용하여 확인합니다. 이 예제에서는 bench 5.17이 /usr/local/bin/bench에 설치되어 있습니다.

which bench  
bench --version

verify bench

Bench를 통한 ERPNext 설치

이 섹션에서는 Bench 명령줄을 통해 ERPNext를 설치합니다. Frappe 프레임워크 프로젝트를 초기화하고 새 사이트를 생성한 다음 ERPNext 애플리케이션을 Frappe 프로젝트에 다운로드하고 설치합니다.

먼저 아래의 bench 명령을 실행하여 frappe-bench 디렉토리에 Frappe 프레임워크 14를 초기화합니다.

bench init --python python3.11 --frappe-branch version-14 frappe-bench

아래에서 Frappe 프레임워크 설치가 시작되는 것을 볼 수 있어야 합니다.

initialize frappe via bench

초기화가 완료되면 다음 출력을 받게 됩니다:

initialization success

이제 아래 명령을 실행하여 사용자가 Frappe 프레임워크를 실행할 수 있도록 합니다. 이렇게 하면 www-data와 같은 그룹이 Frappe 프레임워크를 실행할 수 있습니다.

sudo chmod -R o+rx /home/frappe/frappe-bench

다음으로 Frappe 프레임워크 설치 디렉토리 ~/frappe-bench로 이동하여 새 사이트 erp.howtoforge.local을 생성합니다.

cd ~/frappe-bench  
bench new-site erp.howtoforge.local --admin-password 'erpadmin' --mariadb-root-username root --mariadb-root-password 'password'

아래는 새 사이트가 생성된 후 받을 출력입니다.

create new site

아래의 bench 명령을 실행하여 새 사이트 erp.howtoforge.local로 전환합니다.

bench use erp.howtoforge.local

전환되면 Current Site set to erp.howtoforge.local라는 출력을 보게 됩니다.

이제 아래의 bench 명령을 실행하여 결제 및 다음 애플리케이션을 다운로드합니다.

bench get-app payments  
bench get-app --branch version-14 erpnext

install payments

install erpnext

erpnext가 다운로드되면 다음 명령을 실행하여 사이트 erp.howtoforge.local에 설치합니다. 이렇게 하면 결제 애플리케이션도 자동으로 설치됩니다.

bench --site erp.howtoforge.local install-app erpnext

add erpnext to site

설치가 완료되면 아래 명령을 실행하여 스케줄러를 활성화하고 사이트 erp.howtoforge.local에서 유지 관리 모드를 비활성화합니다.

bench --site erp.howtoforge.local enable-scheduler  
bench --site erp.howtoforge.local set-maintenance-mode off

이 시점에서 ERPNext가 설치되었습니다. Nginx를 리버스 프록시로 추가하고 Supervisor를 ERPNext 설치를 위한 프로세스 관리자로 설정하여 ERPNext를 구성합니다.

ERPNext를 프로덕션에 준비하기

이 단계에서는 Nginx를 리버스 프록시로 구성하고 Supervisor를 프로세스 관리자로 설정하여 ERPNext를 프로덕션에 준비합니다. 이는 Bench를 통해 자동으로 수행할 수 있습니다.

다음 명령을 실행하여 ERPNext 설치를 구성합니다. 이렇게 하면 Ansible이 다운로드 및 설치되고 Nginx가 리버스 프록시 및 Supervisor 프로세스 관리자로 자동으로 구성됩니다.

sudo pip3 install ansible --break-system-packages  
sudo bench setup production frappe

아래는 ERPNext 설치를 위한 Nginx 및 Supervisor의 자동 구성입니다.

erpnext for production

오류가 발생하면 아래 명령을 사용하여 Nginx와 Supervisor를 모두 구성할 수 있습니다.

sudo bench setup supervisor  
sudo bench setup nginx  
sudo bench setup production frappe

다음으로 Nginx 및 Supervisor 서비스를 재시작하여 새 변경 사항이 적용되도록 합니다.

sudo systemctl restart nginx supervisor

이제 아래 명령을 실행하여 Nginx 서비스를 확인하고 서비스가 실행 중인지 확인합니다.

sudo systemctl status nginx

다음 출력은 Nginx가 실행 중임을 나타냅니다.

restart nginx and supervisor

마지막으로 아래의 supervisorctl 명령을 실행하여 Supervisor와 함께 ERPNext 프로세스 목록을 확인합니다.

sudo supervisorctl status

모든 것이 잘 진행되면 각 프로세스의 상태가 RUNNING으로 표시됩니다.

supervisorctl status

Nginx와 Supervisor가 구성되면 웹 브라우저에서 ERPNext 설치를 시작할 준비가 완료되었습니다.

웹 설치 프로그램을 통한 ERPNext 설치

웹 브라우저를 열고 ERPNext 설치의 도메인 이름인 http://erp.howtoforge.local/에 방문합니다. ERPNext 설치가 성공적이라면 ERPNext 로그인 페이지가 표시됩니다.

기본 사용자 Administrator와 구성한 비밀번호를 입력한 후 로그인을 클릭합니다.

login erpnext

기본 언어, 시간대, 국가 및 통화를 선택합니다. 그런 다음 다음을 클릭하여 계속합니다.

select timezone

이제 첫 번째 ERPNext 사용자의 세부 정보를 입력하고 다음을 클릭합니다.

setup timezone

마지막으로 조직 세부 정보를 입력하고 설정 완료 버튼을 클릭하여 ERPNext 설치를 완료합니다.

setup organizations

설치가 성공적으로 완료되면 다음과 같은 ERPNext 대시보드를 보게 됩니다:

erpnext dashboard

이제 ERPNext 설치가 완료되었습니다.

결론

축하합니다! Debian 12에서 MariaDB 서버 및 Nginx 웹 서버와 함께 ERPNext 설치를 완료했습니다. Debian 서버에서 Bench 명령줄을 통해 ERPNext를 설치했으며 이제 ERPNext를 조직의 기업 자원 관리로 사용할 수 있습니다.

Share: X/Twitter LinkedIn

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

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