ERPNext è un framework ERP completamente robusto destinato alle piccole e medie imprese. Copre un'ampia varietà di funzionalità, tra cui contabilità, CRM, inventario, vendita, acquisti, produzione, progetti, risorse umane e buste paga, sito Web, e-commerce e altro ancora, tutte caratteristiche che lo rendono profondamente adattabile ed estensibile.
ERPNext è sviluppato in Python e dipende da Frappe Framework. Utilizza Node.js per il front-end, Nginx per il server Web, Redis per la memorizzazione nella cache e MariaDB per il database.
ERPNext è Open Source sotto la GNU General Public License v3.
In questo articolo, ti mostreremo come installare ERPNext su CentOS 8 su uno dei nostri server di hosting ERPNext ottimizzati.
Prerequisiti:
Assicurati che il tuo server soddisfi i seguenti requisiti.
- 2 GB di RAM o superiore
- 2 o più core CPU
- Installazione nuova di CentOS 8
- Accesso root completo
Prepara e aggiorna il sistema e installa le dipendenze
Accedi al tuo server tramite SSH:
ssh username@server_ip
Prima di iniziare con l'installazione di ERPNext, è una buona idea aggiornare i pacchetti di sistema alle loro ultime versioni.
sudo yum update -y
Installa il repository dei pacchetti extra:
sudo yum install -y epel-release
Possiamo configurare ERPNext su due ambienti, sviluppo e produzione. Per l'ambiente di sviluppo, non ci sarà no Nginx installed
e devi avviare ERPNext manualmente. Per un ambiente di produzione, Nginx is installed
e il processo sarà gestito da supervisor
. Imparerai di più sul supervisore più avanti in questo tutorial.
Durante l'installazione in un ambiente di produzione, dobbiamo assicurarci di uninstall Apache
prima poiché lo script di installazione imposterà Nginx. Si consiglia inoltre di uninstall MariaDB
per evitare conflitti durante l'installazione sia per la produzione che per lo sviluppo. Per un ambiente di sviluppo, è sicuro lasciare Apache installato e in esecuzione poiché Nginx non verrà installato.
Per interrompere e disinstallare Apache (required for production set up only)
:
sudo systemctl stop httpd sudo yum remove -y httpd httpd-tools apr apr-util
Per interrompere e disinstallare MariaDB (recommended for both development and production setup)
:
sudo systemctl stop mariadb sudo yum remove -y mariadb mariadb-server sudo rm -rf /var/lib/mysql /etc/my.cnf
Installa i pacchetti richiesti insieme a MariaDB, Nginx, NodeJS, redis:
sudo yum install -y gcc make git mariadb mariadb-server nginx supervisor python3 python3-devel python2 python2-devel redis nodejs
Installa Gestione pacchetti filati:
sudo npm install -g yarn
Disabilita SELinux
Per evitare di impostare un set di regole SELinux complesso, dovremmo disabilitarlo. Disabilitare SELinux su CentOS 7 è un compito abbastanza semplice. Puoi farlo con un comando:
echo 0 > /selinux/enforce
In alternativa puoi usare il seguente comando:
setenforce 0
Ora controlla di nuovo lo stato e assicurati che sia disabilitato.
Nota, questo disabiliterà SELinux solo temporaneamente. Se desideri disabilitarlo in modo permanente, dovrai eseguire i seguenti passaggi:
Apri il /etc/sysconfig/selinux
file per la modifica con un editor di testo a tua scelta. Useremo vim
nell'esempio seguente.
vim /etc/sysconfig/selinux
Una volta aperto il file, cambia la seguente riga:
SELINUX=enforcing
a
SELINUX=disabled
Quindi salva e chiudi il file.
Installa ERPNext
Creazione dell'utente ERPNext
Una volta installati i pacchetti richiesti, possiamo iniziare con l'installazione di ERPNext.
Avremmo bisogno di un utente che sarà dedicato all'istanza ERPNext e avrà accesso sudo:
sudo useradd -m erp -G wheel
Le impostazioni di sudo predefinite ci richiedono di inserire la password quando emettiamo il comando. Puoi evitarlo con:
sudo sed -i 's/^#\s*\(%wheel\s\+ALL=(ALL)\s\+NOPASSWD:\s\+ALL\)/\1/' /etc/sudoers
Abbiamo bisogno di impostare parametri aggiuntivi del kernel:
echo "vm.overcommit_memory = 1" | sudo tee -a /etc/sysctl.conf echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled" | sudo tee -a /etc/rc.d/rc.local sudo chmod 755 /etc/rc.d/rc.local
Dobbiamo eseguire un riavvio in modo che le impostazioni del kernel possano avere effetto.
Configura MariaDB (fork MySQL) per ERPNext
A differenza di altre applicazioni ERP, ERPNext supporta MariaDB per memorizzare la parte persistente dei dati. In precedenza abbiamo installato l'ultima versione disponibile di MariaDB per CentOS 8 e ora dobbiamo configurarla per ERPNext.
Crea un file di configurazione per ERPNext per MariaDB:
cat <<EOF >/etc/my.cnf.d/erpnext.cnf
[mysqld]
innodb-file-format=barracuda innodb-file-per-table=1 innodb-large-prefix=1 set di caratteri-client-handshake =FALSO set di caratteri-server =utf8mb4 collation-server =utf8mb4_unicode_ci
[mysql]
default-character-set =utf8mb4 EOF
Abilita e avvia il servizio MariaDB:
sudo systemctl enable mariadb sudo systemctl start mariadb
Avvia lo script di installazione sicura di MariaDB (assicurati di ricordare la password di root di MariaDB). Inoltre, se richiesto, utilizza sempre password complesse:
sudo mysql_secure_installation
Installa ERPNext
Installeremo ERPNext sotto il nuovo utente che abbiamo creato, erp.
Passa all'utente ERPNext e cambia la directory di lavoro nella sua home directory:
su - erp
Installa frappe-bench con pip3 e inizializza la versione-12:
pip3 install --user frappe-bench bench init frappe-bench --frappe-branch version-12
Al termine dell'inizializzazione, verrà visualizzato il seguente messaggio:
SUCCESS: Bench frappe-bench initialized
Con il frappe-bench inizializzato possiamo creare un nuovo sito frappe per la nostra istanza ERPNext.
Dobbiamo avviare il server di sviluppo di frappe:
cd frappe-bench sed -i '/web:/ s/$/ --noreload/' Procfile bench start >/tmp/bench_log &
Dobbiamo creare un nuovo sito con il nostro nome di dominio/sottodominio:
bench new-site erp.rosehosting.com
Riceveremo una richiesta per la password MySQL che abbiamo inserito in precedenza. Immettere la password di root MySQL.
Ora siamo pronti per scaricare e installare ERPNext tramite bench.
Per prima cosa scarica l'ultima versione di ERPNext con bench:
bench get-app erpnext --branch version-12
Una volta scaricato, installalo:
bench install-app erpnext
Ora siamo pronti per iniziare e utilizzare ERPNext
Avvio di ERPNext
In una configurazione dell'ambiente di sviluppo, è necessario avviare manualmente l'applicazione ERPNext. L'applicazione ERPNext è in ascolto sulla porta 8000.
Sviluppo
su - erp cd frappe-bench bench start >/tmp/bench_log &
Ora puoi accedere alla tua configurazione da:
http://[domain]:8000 Login: Administrator Password: The one that you input during installation
Produzione
Ad un certo punto vorremmo che ERPNext fosse in modalità produzione.
Per questo avremmo bisogno di creare file di produzione per supervisor e nginx:
su - erp cd frappe-bench bench setup supervisor bench setup nginx
Aggiungi un collegamento dei file di configurazione appena creati ai rispettivi servizi:
sudo ln -s `pwd`/config/supervisor.conf /etc/supervisord.d/frappe-bench.ini sudo ln -s `pwd`/config/nginx.conf /etc/nginx/conf.d/frappe-bench.conf
Cambia il proprietario del processo nginx in modo che sia erp modificando /etc/nginx/conf/nginx.conf
e modificando la direttiva utente in:
user erp erp;
Supervisor è un sistema di controllo dei processi che consente di monitorare e controllare i processi sui sistemi che eseguono Linux. Quando il supervisore è in esecuzione, avvierà automaticamente l'applicazione all'avvio e gestirà gli errori di processo. Lo script di installazione ha configurato automaticamente il supervisore per l'applicazione ERPNext.
Ora puoi abilitare e avviare sia supervisor che Nginx:
sudo systemctl enable supervisord sudo systemctl start supervisord sudo systemctl enable nginx sudo systemctl start nginx
Ora puoi accedere al tuo sito Web di produzione without using port 8000
poiché il server web Nginx è già configurato come proxy inverso per la porta 8000.
Dopo aver effettuato l'accesso, dovresti ora essere in grado di finalizzare la configurazione iniziale della tua applicazione ERPNext.
Naturalmente, non è necessario installare ERPNext su CentOS 8 se hai un ERPNext VPS con noi. Puoi semplicemente chiedere al nostro team di supporto di installare ERPNext su CentOS 8 per te. Sono disponibili 24 ore su 24, 7 giorni su 7 e saranno in grado di aiutarti con l'installazione.
PS . Se ti è piaciuto leggere questo post del blog su Come installare ERPNext su CentOS 8, sentiti libero di condividerlo sui social network usando le scorciatoie qui sotto, o semplicemente lascia un commento. Grazie.