Installazione ERP · 8 min read · Sep 22, 2025

Come installare ERPNext su Debian 12

ERPNext è una soluzione di pianificazione delle risorse aziendali (ERP) open-source. ERPNext può essere utilizzato in vari settori come manifattura, distribuzione, vendita al dettaglio, commercio, servizi, istruzione, non profit e sanità. Offre anche moduli come contabilità, CRM, vendite, acquisti, sito web, e-commerce, punto vendita, produzione, magazzino, gestione progetti, inventario e servizi.

ERPNext è una piattaforma ERP aziendale con licenza sotto la GNU General Public Licence v3. È scritto principalmente in Python e JavaScript ed è stato sviluppato da Frappe Technologies Pvt. Ltd. ERPNext è un’applicazione scritta sotto il frappeframework, un framework web open source in Python e JavaScript.

ERPNext è stato sviluppato come alternativa a servizi come NetSuite di Oracle, QAD, Tython, OpenBrave e Odoo. In termini di funzionalità, ERPNext è simile a Odoo (ex OpenERP).

In questo tutorial, ti guideremo attraverso l’installazione di ERPNext sul server Debian 12. Installerai ERPNext con un server di database MariaDB, Nginx come reverse proxy e un gestore di processi supervisor.

Prerequisiti

Per iniziare, assicurati di avere accesso a:

  • Un server Debian 12.
  • Un utente non root con privilegi di amministratore sudo.
  • Un nome di dominio puntato all’indirizzo IP del server.

Installazione delle dipendenze

ERPNext è un software ERP e CRM open-source scritto in Python. Per installare ERPNext, devi installare dipendenze come Python 3, MariaDB Server, Node.js, Yarn package manager, Nginx, Supervisor process manager e Redis sul tuo server Debian.

In questo primo passaggio, installerai le dipendenze di ERPNext dal repository Debian. Poi verificherai anche ciascuna dipendenza per assicurarti che tutto sia installato.

Prima di installare le dipendenze, esegui il comando apt update qui sotto per aggiornare l’indice dei pacchetti Debian.

sudo apt update

Ora esegui il seguente comando per installare le dipendenze per ERPNext, inclusi Python 3.11, Node.js, NPM, server MariaDB, server web Nginx, gestore di processi Supervisor e server Redis.

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

Digita y per procedere con l’installazione.

Una volta installate le dipendenze, verifica ciascuna dipendenza eseguendo il seguente comando. Verificherai alcuni servizi tramite il comando systemctl per assicurarti che ciascun servizio sia in esecuzione e abilitato.

Verifica il server MariaDB utilizzando il seguente comando.

sudo systemctl is-enabled mariadb  
sudo systemctl status mariadb

check mariadb

Verifica il servizio Nginx per assicurarti che il servizio sia in esecuzione e abilitato.

sudo systemctl is-enabled nginx  
sudo systemctl status nginx

check nginx

Ora verifica il servizio del gestore di processi supervisor utilizzando il comando qui sotto.

sudo systemctl is-enabled supervisor  
sudo systemctl status supervisor

check supervisor

Poi, verifica Redis per assicurarti che sia disponibile e pronto per la produzione di ERPNext.

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

check redis

Successivamente, verifica le versioni di Node.js e NPM utilizzando il seguente comando.

node --version  
npm --version

L’output seguente conferma che Node.js v18.x e NPM 1.22 sono installati.

Infine, verifica la versione di wkhtmltopdf utilizzando il comando qui sotto. Dovresti vedere che la versione di wkhtmltopdf 0.12 è installata.

wkhtmltopdf --version  
wkhtmltoimage --version

Configurazione del server MariaDB

Dopo aver installato le dipendenze, configurerai il tuo server MariaDB per assicurarti che sia pronto per l’installazione di ERPNext. ERPNext richiede che il formato barracuda sia abilitato e che il set di caratteri predefinito sia configurato su utf8mb4. Dovrai anche mettere in sicurezza il tuo server MariaDB tramite l’utilità mariadb-secure-installation.

Esegui il comando mariadb-secure-installation qui sotto per mettere in sicurezza l’installazione del tuo server MariaDB.

sudo mariadb-secure-installation

Immetti Y per applicare quando richiesto con le seguenti configurazioni:

  • Passare l’autenticazione locale a unix_socket? Immetti n per no.
  • Impostare la password di root di MariaDB? Immetti y, quindi digita la nuova password di root di MariaDB e ripeti.
  • Rimuovere l’utente anonimo predefinito? Immetti y per confermare.
  • Disabilitare il login remoto per l’utente root? Immetti y per confermare.
  • Rimuovere il database di test predefinito? Immetti y per confermare.
  • Ricaricare i privilegi delle tabelle e applicare le modifiche? Immetti y per confermare.

Ora apri la configurazione del server MariaDB /etc/mysql/mariadb.conf.d/50-server.cnf utilizzando il seguente editor nano.

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

Inserisci la seguente configurazione nella sezione [mysqld] per abilitare il formato barracuda e impostare il set di caratteri predefinito su 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

Salva il file ed esci dall’editor quando hai finito.

Successivamente, apri il file /etc/mysql/mariadb.conf.d/50-mysql-clients.cnf utilizzando l’editor nano per configurare la connessione del client MariaDB.

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

Aggiungi la seguente configurazione alla sezione [mysql].

[mysql]  
default-character-set = utf8mb4

Salva ed esci dal file.

Infine, esegui il seguente comando per riavviare il server MariaDB e applicare la nuova configurazione.

sudo systemctl restart mariadb

Installazione dello strumento da riga di comando Bench

Un bench è uno strumento da riga di comando per gestire i Framework Frappe, comprese le applicazioni e i siti. ERPNext è un’applicazione web scritta con il Framework Frappe, devi installarla tramite Bench.

Completa la seguente sezione per creare un nuovo utente che sarà utilizzato per ERPNext, quindi installa l’utilità Bench sul tuo sistema Debian.

Per prima cosa, esegui il seguente comando per aggiungere un nuovo utente frappe, immetti la nuova password e ripeti.

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

Aggiungi l’utente frappe al gruppo sudo per consentirgli di eseguire il comando sudo.

sudo usermod -aG sudo frappe

add user

Successivamente, accedi come il nuovo utente frappe e installa il pacchetto frappe-bench o bench tramite il gestore di pacchetti pip di Python.

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

install bench

Una volta installato frappe-bench, verifica utilizzando il seguente comando. In questo esempio, bench 5.17 è installato in /usr/local/bin/bench.

which bench  
bench --version

verify bench

Installazione di ERPNext tramite Bench

In questa sezione, installerai ERPNext tramite la riga di comando Bench. Inizializzerai il progetto Frappe Framework, creerai un nuovo sito e poi scaricherai e installerai l’applicazione ERPNext nel progetto Frappe.

Per prima cosa, esegui il comando bench qui sotto per inizializzare Frappe Framework 14 nella directory frappe-bench.

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

Qui sotto dovresti vedere l’inizio dell’installazione di Frappe Framework.

initialize frappe via bench

Una volta inizializzato, dovresti ottenere il seguente output:

initialization success

Ora esegui il comando qui sotto per consentire agli utenti di eseguire il Frappe Framework. Questo permetterà a gruppi come www-data di eseguire il Frappe Framework.

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

Successivamente, spostati nella directory di installazione di Frappe Framework ~/frappe-bench e crea un nuovo sito erp.howtoforge.local.

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

Qui sotto è l’output che otterrai dopo che il nuovo sito è stato creato.

create new site

Passa al nuovo sito erp.howtoforge.local eseguendo il comando bench qui sotto.

bench use erp.howtoforge.local

Una volta cambiato, dovresti vedere l’output Current Site set to erp.howtoforge.local.

Ora esegui il comando bench qui sotto per scaricare le applicazioni payments e le successive.

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

install payments

install erpnext

Una volta scaricato erpnext, esegui il seguente comando per installarlo nel sito erp.howtoforge.local. Questo installerà automaticamente anche l’applicazione payments.

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

add erpnext to site

Dopo che l’installazione è terminata, esegui il comando qui sotto per abilitare il pianificatore e disabilitare la manutenzione sul sito erp.howtoforge.local.

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

A questo punto, ERPNext è installato, configurerai ERPNext aggiungendo Nginx come reverse proxy e Supervisor come gestore di processi per la tua installazione di ERPNext.

Preparazione di ERPNext per la produzione

In questo passaggio, configurerai ERPNext per la produzione configurando Nginx come reverse proxy e Supervisor come gestore di processi, il che può essere fatto automaticamente tramite Bench.

Esegui il seguente comando per configurare l’installazione di ERPNext. Questo scaricherà e installerà Ansible, quindi configurerà automaticamente Nginx come reverse proxy e Supervisor come gestore di processi.

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

Qui sotto è una configurazione automatica di Nginx e Supervisor per la tua installazione di ERPNext.

erpnext for production

Se c’è un errore, puoi anche configurare sia Nginx che Supervisor utilizzando il comando qui sotto.

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

Successivamente, riavvia i servizi Nginx e Supervisor per assicurarti che le nuove modifiche vengano applicate.

sudo systemctl restart nginx supervisor

Ora esegui il comando qui sotto per verificare il servizio Nginx e assicurarti che il servizio sia in esecuzione.

sudo systemctl status nginx

L’output seguente indica che Nginx è in esecuzione.

restart nginx and supervisor

Infine, esegui il comando supervisorctl qui sotto per verificare l’elenco dei processi ERPNext con il Supervisor.

sudo supervisorctl status

Se tutto va bene, dovresti vedere ciascun processo con stato RUNNING.

supervisorctl status

Con Nginx e Supervisor configurati, sei pronto per avviare la tua installazione di ERPNext dal tuo browser web.

Installazione di ERPNext tramite Web Installer

Avvia il tuo browser web e visita il nome di dominio della tua installazione di ERPNext, come http://erp.howtoforge.local/. Se la tua installazione di ERPNext ha avuto successo, dovresti vedere la pagina di accesso di ERPNext.

Immetti l’utente predefinito Administrator e la password che hai configurato, quindi fai clic su Login.

login erpnext

Seleziona la lingua predefinita, il fuso orario, il paese e la valuta. Quindi, fai clic su Next per continuare.

select timezone

Ora immetti i dettagli del tuo primo utente ERPNext e fai clic su Next.

setup timezone

Infine, immetti i dettagli della tua organizzazione e fai clic sul pulsante Complete Setup per completare l’installazione di ERPNext.

setup organizations

Se la tua installazione ha avuto successo, dovresti ottenere il dashboard di ERPNext come il seguente:

erpnext dashboard

Ora l’installazione di ERPNext è terminata.

Conclusione

Congratulazioni! Hai completato l’installazione di ERPNext su Debian 12 con il server MariaDB e il server web Nginx. Hai installato ERPNext tramite la riga di comando Bench sul tuo server Debian e ora puoi utilizzare ERPNext come pianificazione delle risorse aziendali per la tua organizzazione.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.