ERPNext je zcela robustní ERP framework určený pro malé a střední podniky. Zahrnuje širokou škálu funkcí, včetně účetnictví, CRM, inventáře, prodeje, nákupu, výroby, projektů, HR a mezd, webových stránek, elektronického obchodování a dalších – díky kterým je hluboce přizpůsobitelný a rozšiřitelný.
ERPNext je vyvinut v Pythonu a závisí na Frappe Framework. Využívá Node.js pro frontend, Nginx pro webový server, Redis pro ukládání do mezipaměti a MariaDB pro databázi.
ERPNext je otevřený zdroj pod licencí GNU General Public License v3.
V tomto článku vám ukážeme, jak nainstalovat ERPNext na CentOS 8 na jednom z našich optimalizovaných hostingových serverů ERPNext.
Předpoklady:
Ujistěte se, že váš server splňuje následující požadavky.
- 2 GB RAM nebo vyšší
- 2 nebo více jader CPU
- Čerstvá instalace CentOS 8
- Úplný přístup root
Příprava a aktualizace systému a instalace závislostí
Přihlaste se na svůj server přes SSH:
ssh username@server_ip
Než začnete s instalací ERPNext, je dobré aktualizovat systémové balíčky na jejich nejnovější verze.
sudo yum update -y
Nainstalujte úložiště extra balíčků:
sudo yum install -y epel-release
ERPNext můžeme nastavit na dvou prostředích, vývojovém a produkčním. Pro vývojové prostředí nebude no Nginx installed
a ERPNext musíte spustit ručně. Pro produkční prostředí je Nginx is installed
a proces bude řídit supervisor
. Více o supervizorovi se dozvíte později v tomto tutoriálu.
Při instalaci v produkčním prostředí se musíme ujistit, že uninstall Apache
nejprve, protože instalační skript nastaví Nginx. Také se doporučuje uninstall MariaDB
aby nedocházelo ke konfliktům během instalace pro výrobu i vývoj. Pro vývojové prostředí je bezpečné ponechat Apache nainstalovaný a spuštěný, protože Nginx nebude nainstalován.
Chcete-li zastavit a odinstalovat Apache (required for production set up only)
:
sudo systemctl stop httpd sudo yum remove -y httpd httpd-tools apr apr-util
Chcete-li zastavit a odinstalovat 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
Nainstalujte požadované balíčky spolu s MariaDB, Nginx, NodeJS, redis:
sudo yum install -y gcc make git mariadb mariadb-server nginx supervisor python3 python3-devel python2 python2-devel redis nodejs
Nainstalujte Správce balíčků Yarn:
sudo npm install -g yarn
Zakázat SELinux
Abychom se vyhnuli nastavování složité sady pravidel SELinuxu, museli bychom ji deaktivovat. Zakázat SELinux na CentOS 7 je poměrně snadný úkol. Můžete to udělat jedním příkazem:
echo 0 > /selinux/enforce
Alternativně můžete použít následující příkaz:
setenforce 0
Nyní znovu zkontrolujte stav a ujistěte se, že je deaktivován.
Upozorňujeme, že toto deaktivuje SELinux pouze dočasně. Pokud jej chcete trvale zakázat, budete muset provést následující kroky:
Otevřete /etc/sysconfig/selinux
soubor pro úpravu pomocí textového editoru dle vašeho výběru. Budeme používat vim
v příkladu níže.
vim /etc/sysconfig/selinux
Po otevření souboru změňte následující řádek:
SELINUX=enforcing
do
SELINUX=disabled
Poté soubor uložte a zavřete.
Instalovat ERPNext
Vytvoření uživatele ERPNext
Jakmile nainstalujeme požadované balíčky, můžeme začít s instalací ERPNext.
Potřebovali bychom uživatele, který se bude věnovat instanci ERPNext a bude mít přístup sudo:
sudo useradd -m erp -G wheel
Výchozí nastavení sudo vyžaduje, abychom při zadání příkazu zadali heslo. Tomu se můžete vyhnout pomocí:
sudo sed -i 's/^#\s*\(%wheel\s\+ALL=(ALL)\s\+NOPASSWD:\s\+ALL\)/\1/' /etc/sudoers
Musíme nastavit další parametry jádra:
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
Musíme provést restart, aby se nastavení jádra projevilo.
Konfigurace MariaDB (MySQL fork) pro ERPNext
Na rozdíl od jiných aplikací ERP podporuje ERPNext MariaDB za účelem ukládání trvalé části dat. Dříve jsme nainstalovali nejnovější dostupnou verzi MariaDB pro CentOS 8 a nyní ji musíme nakonfigurovat pro ERPNext.
Vytvořte konfigurační soubor pro ERPNext pro MariaDB:
cat <<EOF >/etc/my.cnf.d/erpnext.cnf
[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 EOF
Povolte a spusťte službu MariaDB:
sudo systemctl enable mariadb sudo systemctl start mariadb
Spusťte skript zabezpečené instalace MariaDB (ujistěte se, že si pamatujete root heslo MariaDB). Pokud budete požádáni, vždy používejte silná hesla:
sudo mysql_secure_installation
Instalovat ERPNext
Nainstalujeme ERPNext pod novým uživatelem, kterého jsme vytvořili, erp.
Přejděte na uživatele ERPNext a změňte pracovní adresář na jeho domovský adresář:
su - erp
Nainstalujte frappe-bench pomocí pip3 a inicializujte verzi-12:
pip3 install --user frappe-bench bench init frappe-bench --frappe-branch version-12
Po dokončení inicializace se zobrazí následující zpráva:
SUCCESS: Bench frappe-bench initialized
S inicializovaným frappe-bench můžeme vytvořit nový frapový web pro naši instanci ERPNext.
Potřebujeme spustit vývojový server frappe:
cd frappe-bench sed -i '/web:/ s/$/ --noreload/' Procfile bench start >/tmp/bench_log &
Potřebujeme vytvořit nový web s názvem naší domény/subdomény:
bench new-site erp.rosehosting.com
Obdržíme výzvu k zadání hesla MySQL, které jsme zadali dříve. Zadejte heslo root MySQL.
Nyní jsme připraveni stáhnout a nainstalovat ERPNext přes bench.
Nejprve si stáhněte nejnovější verzi ERPNext s benchmarkem:
bench get-app erpnext --branch version-12
Po stažení jej nainstalujte:
bench install-app erpnext
Nyní jsme připraveni začít a používat ERPNext
Spouštění ERPNext
V nastavení vývojového prostředí je nutné spustit aplikaci ERPNext ručně. Aplikace ERPNext naslouchá na portu 8000.
Vývoj
su - erp cd frappe-bench bench start >/tmp/bench_log &
Nyní máte přístup ke svému nastavení na adrese:
http://[domain]:8000 Login: Administrator Password: The one that you input during installation
Produkce
V určitém okamžiku bychom chtěli ERPNext v produkčním režimu.
K tomu bychom potřebovali vytvořit produkční soubory pro supervizora a nginx:
su - erp cd frappe-bench bench setup supervisor bench setup nginx
Přidejte odkaz na nově vytvořené konfigurační soubory na jejich příslušné služby:
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
Změňte vlastníka procesu nginx na erp úpravou /etc/nginx/conf/nginx.conf
a změnou uživatelské direktivy na:
user erp erp;
Supervisor je systém řízení procesů, který vám umožňuje sledovat a řídit procesy na systémech se systémem Linux. Když je supervizor spuštěn, automaticky spustí aplikaci při bootování a bude řešit selhání procesu. Instalační skript automaticky nakonfiguroval správce pro vaši aplikaci ERPNext.
Nyní můžete povolit a spustit správce i Nginx:
sudo systemctl enable supervisord sudo systemctl start supervisord sudo systemctl enable nginx sudo systemctl start nginx
Nyní se můžete přihlásit na svůj produkční web without using port 8000
protože webový server Nginx je již nakonfigurován jako reverzní proxy pro port 8000.
Po přihlášení byste nyní měli být schopni dokončit počáteční nastavení vaší aplikace ERPNext.
Samozřejmě nemusíte instalovat ERPNext na CentOS 8 pokud u nás máte ERPNext VPS. Můžete jednoduše požádat náš tým podpory, aby vám nainstaloval ERPNext na CentOS 8. Jsou k dispozici 24 hodin denně, 7 dní v týdnu a budou vám schopni pomoci s instalací.
PS . Pokud se vám líbilo čtení tohoto blogového příspěvku na téma Jak nainstalovat ERPNext na CentOS 8, můžete jej sdílet na sociálních sítích pomocí níže uvedených zkratek nebo jednoduše zanechat komentář. Děkuji.