ERPNext è un software di gestione aziendale gratuito, open source, moderno e facile da usare utilizzato da migliaia di aziende in tutto il mondo. È una piattaforma ERP molto semplice che supporta vendita al dettaglio, commercio, servizi, produzione, risorse umane, no profit e altri settori. È un sistema ERP potente e completo scritto in Python sopra il framework Frappe. Utilizza Node.js per il front-end e MariaDB per archiviare i suoi dati. ERPNext fornisce un'interfaccia basata sul Web per eseguire attività quotidiane. ERPNext fornisce un sistema di reporting integrato con integrazione della suite per ufficio.
In questo tutorial impareremo come installare e configurare ERPNext sul server Ubuntu 18.04 LTS.
Requisiti
- Un server che esegue Ubuntu 18.04.
- Un utente non root con privilegi sudo impostati sul tuo server.
Per iniziare
Innanzitutto, dovrai aggiornare il tuo sistema con l'ultima versione. Puoi farlo eseguendo il seguente comando:
sudo apt-get update -y
sudo apt-get upgrade -y
Una volta aggiornato il tuo sistema, dovrai creare un utente per ERPNext.
Puoi farlo con il seguente comando:
sudo useradd -m -s /bin/bash erpnext
sudo passwd erpnext
Quindi, dai i privilegi sudo all'utente ERPNext con il seguente comando:
sudo usermod -aG sudo erpnext
Quindi, accedi all'utente ERPNext e imposta la variabile d'ambiente con il seguente comando:
su - erpnext
nano .bashrc
Aggiungi la seguente riga:
PATH=$PATH:~/.local/bin/
Salva e chiudi il file, quando hai finito. Quindi, riavvia il sistema per applicare tutte le modifiche.
Installa i pacchetti richiesti
Innanzitutto, accedi al tuo sistema con l'utente erpnext e installa alcune dipendenze richieste da ERPNext sul tuo sistema.
sudo apt-get install libffi-dev python-pip python-dev libssl-dev wkhtmltopdf -y
Quindi, installa il server Nginx e MariaDB con il seguente comando:
sudo apt-get install nginx mariadb-server -y
Una volta completata l'installazione, sarà necessario apportare alcune modifiche al file 50-server.cnf. Puoi farlo con il seguente comando:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
Apporta le seguenti modifiche:
[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 [mysql] default-character-set = utf8mb4
Salva e chiudi il file. Quindi, riavvia il servizio MariaDB per applicare tutte le modifiche:
sudo systemctl restart mariadb
Ora puoi controllare lo stato del server MariaDB con il seguente comando:
sudo systemctl status mariadb
Dovresti vedere il seguente output:
? mariadb.service - MariaDB 10.1.38 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2019-02-16 06:26:48 UTC; 2h 38min ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Process: 4640 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS) Process: 4636 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS) Process: 4505 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ] && systemctl set- Process: 4503 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS) Process: 4482 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS) Main PID: 4607 (mysqld) Status: "Taking your SQL requests now..." Tasks: 31 (limit: 1111) CGroup: /system.slice/mariadb.service ??4607 /usr/sbin/mysqld Aug 16 06:26:47 ubuntu1804 systemd[1]: Starting MariaDB 10.1.38 database server... Aug 16 06:26:48 ubuntu1804 mysqld[4607]: 2019-02-16 6:26:48 140715015396480 [Note] /usr/sbin/mysqld (mysqld 10.1.38-MariaDB-0ubuntu0.18.04.1) starting Aug 16 06:26:48 ubuntu1804 systemd[1]: Started MariaDB 10.1.38 database server. Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4642]: Upgrading MySQL tables if necessary. Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4659]: /usr/bin/mysql_upgrade: the '--basedir' option is always ignored Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4659]: Looking for 'mysql' as: /usr/bin/mysql Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4659]: Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4659]: This installation of MySQL is already upgraded to 10.1.38-MariaDB, use --force if you still n Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4677]: Checking for insecure root accounts. Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4681]: Triggering myisam-recover for all MyISAM tables and aria-recover for all Aria tables
Installa Redis e Node.js
Successivamente, dovrai installare Redis e Node.js sul tuo sistema. Puoi installarli eseguendo il seguente comando:
sudo curl --silent --location https://deb.nodesource.com/setup_8.x | sudo bash -
sudo apt-get install gcc g++ make -y
sudo apt-get install nodejs redis-server -y
sudo npm install -g yarn
Configura MariaDB
Per impostazione predefinita, l'installazione di MariaDB non è protetta, quindi dovrai prima proteggerla. Puoi proteggerlo con il seguente comando:
sudo mysql_secure_installation
Rispondi a tutte le domande come mostrato di seguito:
Enter current password for root (enter for none): Set root password? [Y/n]: N Remove anonymous users? [Y/n]: Y Disallow root login remotely? [Y/n]: Y Remove test database and access to it? [Y/n]: Y Reload privilege tables now? [Y/n]: Y
Una volta che MariaDB è sicuro, accedi alla shell di MariaDB con il seguente comando:
sudo mysql -u root -p
Inserisci la tua password di root quando richiesto. Quindi, crea un database e un utente per ERPNext con il seguente comando:
MariaDB [(none)]> create database erpnextdb;
MariaDB [(none)]> create user [email protected] identified by 'password';
Quindi, concedi tutti i privilegi all'ERPNext con il seguente comando:
MariaDB [(none)]> GRANT ALL ON erpnextdb.* TO 'erpnextuser'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
MariaDB [(none)]> GRANT all privileges on *.* to 'root'@'localhost' IDENTIFIED BY '[email protected]' WITH GRANT OPTION;
Quindi, svuota i privilegi ed esci dalla shell MariaDB con il seguente comando:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Installa ERPNext
Innanzitutto, crea una directory per ERPNext e dai i permessi appropriati con il seguente comando:
sudo mkdir -p /opt/erpnext
sudo chown -R erpnext /opt/erpnext/
Quindi, cambia la directory in erpnext e installa erpnext con il seguente comando:
cd /opt/erpnext
git clone https://github.com/frappe/bench bench-repo
Uscita:
Cloning into 'bench-repo'... remote: Enumerating objects: 19, done. remote: Counting objects: 100% (19/19), done. remote: Compressing objects: 100% (14/14), done. remote: Total 6144 (delta 10), reused 13 (delta 5), pack-reused 6125 Receiving objects: 100% (6144/6144), 29.70 MiB | 231.00 KiB/s, done. Resolving deltas: 100% (3924/3924), done.
Quindi, installa bench usando il comando pip:
sudo pip install -e bench-repo
Quindi, inizializza la directory del banco con il framework frappe:
bench init erpnext
Uscita:
Building frappe assets... ? Built js/print_format_v3.min.js ? Built js/dialog.min.js ? Built js/web_form.min.js ? Built js/social.min.js ? Built js/modules.min.js ? Built js/form.min.js ? Built js/list.min.js ? Built js/frappe-vue.min.js ? Built js/chat.js ? Built js/desk.min.js ? Built js/control.min.js ? Built css/frappe-rtl.css ? Built css/module.min.css ? Built css/report.min.css ? Built css/form.min.css ? Built css/list.min.css ? Built frappe/css/email.css ? Built css/web_form.css ? Built css/frappe-web.css ? Built css/desk.min.css ? Built js/frappe-web.min.js ? Built js/report.min.js ? Done in 31.313s Done in 34.43s. INFO:bench.utils:setting up backups no crontab for erpnext INFO:bench.utils:setting up auto update no crontab for erpnext Bench erpnext initialized
Quindi, cambia la directory in erpnext e crea un nuovo sito per il dominio node1.example.com con il seguente comando:
bench new-site node1.example.com
Ti verrà chiesto di fornire la tua password di root MySQL come mostrato di seguito:
MySQL root password:
Fornisci la tua password di root e premi Invio. Dovresti vedere il seguente output:
Installing frappe... Updating DocTypes for frappe : [========================================] Updating country info : [========================================] Set Administrator password: Re-enter Administrator password: *** Scheduler is disabled ***
Quindi, fornisci le autorizzazioni appropriate a erpnext con il seguente comando:
sudo chown -R erpnext:erpnext /opt/erpnext/erpnext
Infine, avvia il server con il seguente comando:
bench start
Dovresti vedere il seguente output:
06:34:02 web.1 | * Running on http://0.0.0.0:8000/ (Press CTRL+C to quit) 06:34:02 web.1 | * Restarting with inotify reloader 06:34:03 watch.1 | yarn run v1.13.0 06:34:03 watch.1 | $ node rollup/watch.js 06:34:03 web.1 | * Debugger is active! 06:34:04 web.1 | * Debugger PIN: 159-307-235 06:34:13 watch.1 | 06:34:13 watch.1 | Rollup Watcher Started 06:34:13 watch.1 | 06:34:13 watch.1 | Watching... 06:34:15 watch.1 | Rebuilding frappe-web.css
Accedi a ERPNext
ERPNext è ora installato e in ascolto sulla porta 8000. Apri il tuo browser web e digita l'URL http://node1.example.come:8000. Verrai reindirizzato alla seguente pagina:
Ora, fornisci il nome utente come amministratore e la password che hai fornito durante l'installazione. Quindi, fai clic su Firma dentro pulsante. Dovresti vedere la seguente pagina:
Quindi, scegli la tua lingua e fai clic su Avanti pulsante. Dovresti vedere la seguente pagina:
Quindi, scegli il tuo paese e fai clic su Avanti pulsante. Dovresti vedere la seguente pagina:
Successivamente, fornisci il tuo nome completo e indirizzo e-mail. Quindi, fai clic su Completa Configurazione pulsante. Dovresti vedere la seguente pagina:
Congratulazioni! hai installato e configurato correttamente ERPNext nel server Ubuntu 18.04. Ora puoi configurare facilmente ERPNext in un ambiente di produzione.