ERPNext adalah perangkat lunak manajemen bisnis gratis, sumber terbuka, modern, dan mudah digunakan yang digunakan oleh ribuan perusahaan di seluruh dunia. Ini adalah platform ERP yang sangat sederhana yang mendukung ritel, perdagangan, layanan, manufaktur, sumber daya manusia, nirlaba, dan sektor lainnya. Ini adalah sistem ERP yang kuat dan berfitur lengkap yang ditulis dengan Python di atas kerangka Frappe. Ini menggunakan Node.js untuk ujung depan dan MariaDB untuk menyimpan datanya. ERPNext menyediakan antarmuka berbasis web untuk melakukan tugas sehari-hari. ERPNext menyediakan sistem pelaporan tertanam dengan integrasi office suite.
Dalam tutorial ini, kita akan mempelajari cara menginstal dan mengkonfigurasi ERPNext di server Ubuntu 18.04 LTS.
Persyaratan
- Server yang menjalankan Ubuntu 18.04.
- Pengguna non-root dengan hak istimewa sudo yang disiapkan untuk server Anda.
Memulai
Pertama, Anda perlu memperbarui sistem Anda dengan versi terbaru. Anda dapat melakukannya dengan menjalankan perintah berikut:
sudo apt-get update -y
sudo apt-get upgrade -y
Setelah sistem Anda diperbarui, Anda perlu membuat pengguna untuk ERPNext.
Anda dapat melakukannya dengan perintah berikut:
sudo useradd -m -s /bin/bash erpnext
sudo passwd erpnext
Selanjutnya, berikan hak sudo kepada pengguna ERPNext dengan perintah berikut:
sudo usermod -aG sudo erpnext
Selanjutnya, masuk ke variabel lingkungan pengguna dan pengaturan ERPNext dengan perintah berikut:
su - erpnext
nano .bashrc
Tambahkan baris berikut:
PATH=$PATH:~/.local/bin/
Simpan dan tutup file, ketika Anda selesai. Kemudian, mulai ulang sistem Anda untuk menerapkan semua perubahan.
Instal Paket yang Diperlukan
Pertama, masuk ke sistem Anda dengan pengguna erpnext dan instal beberapa dependensi yang diperlukan oleh ERPSelanjutnya ke sistem Anda.
sudo apt-get install libffi-dev python-pip python-dev libssl-dev wkhtmltopdf -y
Selanjutnya, instal server Nginx dan MariaDB dengan perintah berikut:
sudo apt-get install nginx mariadb-server -y
Setelah instalasi selesai, Anda perlu membuat beberapa perubahan pada file 50-server.cnf. Anda dapat melakukannya dengan perintah berikut:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
Lakukan perubahan berikut:
[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
Simpan dan tutup file. Kemudian, restart layanan MariaDB untuk menerapkan semua perubahan:
sudo systemctl restart mariadb
Anda sekarang dapat memeriksa status server MariaDB dengan perintah berikut:
sudo systemctl status mariadb
Anda akan melihat output berikut:
? 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
Instal Redis dan Node.js
Selanjutnya, Anda perlu menginstal Redis dan Node.js ke sistem Anda. Anda dapat menginstalnya dengan menjalankan perintah berikut:
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
Konfigurasi MariaDB
Secara default, instalasi MariaDB tidak diamankan, jadi Anda harus mengamankannya terlebih dahulu. Anda dapat mengamankannya dengan perintah berikut:
sudo mysql_secure_installation
Jawab semua pertanyaan seperti yang ditunjukkan di bawah ini:
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
Setelah MariaDB diamankan, masuk ke shell MariaDB dengan perintah berikut:
sudo mysql -u root -p
Masukkan kata sandi root Anda saat diminta. Kemudian buat database dan user untuk ERPNext dengan perintah berikut:
MariaDB [(none)]> create database erpnextdb;
MariaDB [(none)]> create user [email protected] identified by 'password';
Selanjutnya, berikan semua hak istimewa ke ERPNext dengan perintah berikut:
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;
Selanjutnya, flush hak istimewa dan keluar dari shell MariaDB dengan perintah berikut:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Instal ERPNext
Pertama, buat direktori untuk ERPNext dan berikan izin yang sesuai dengan perintah berikut:
sudo mkdir -p /opt/erpnext
sudo chown -R erpnext /opt/erpnext/
Selanjutnya ubah direktori menjadi erpnext dan install erpnext dengan perintah berikut:
cd /opt/erpnext
git clone https://github.com/frappe/bench bench-repo
Keluaran:
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.
Selanjutnya, instal bench menggunakan perintah pip:
sudo pip install -e bench-repo
Selanjutnya, inisialisasi direktori bangku dengan kerangka kerja frappe:
bench init erpnext
Keluaran:
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
Selanjutnya, ubah direktori menjadi erpnext dan buat situs baru untuk domain node1.example.com dengan perintah berikut:
bench new-site node1.example.com
Anda akan diminta untuk memberikan kata sandi root MySQL Anda seperti yang ditunjukkan di bawah ini:
MySQL root password:
Berikan kata sandi root Anda dan tekan Enter. Anda akan melihat output berikut:
Installing frappe... Updating DocTypes for frappe : [========================================] Updating country info : [========================================] Set Administrator password: Re-enter Administrator password: *** Scheduler is disabled ***
Selanjutnya, berikan izin yang tepat untuk erpnext dengan perintah berikut:
sudo chown -R erpnext:erpnext /opt/erpnext/erpnext
Terakhir, jalankan server dengan perintah berikut:
bench start
Anda akan melihat output berikut:
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
Akses ERPNext
ERPNext sekarang diinstal dan mendengarkan pada port 8000. Buka browser web Anda dan ketik URL http://node1.example.come:8000. Anda akan diarahkan ke halaman berikut:
Sekarang, berikan nama pengguna sebagai Administrator dan kata sandi yang Anda berikan selama pengaturan. Kemudian, klik Tanda di tombol. Anda akan melihat halaman berikut:
Selanjutnya, pilih bahasa Anda dan klik Berikutnya tombol. Anda akan melihat halaman berikut:
Selanjutnya, pilih negara Anda dan klik Berikutnya tombol. Anda akan melihat halaman berikut:
Selanjutnya, berikan nama lengkap dan alamat email Anda. Kemudian, klik tombol Selesai Penyiapan tombol. Anda akan melihat halaman berikut:
Selamat! Anda telah berhasil menginstal dan mengkonfigurasi ERPNext di server Ubuntu 18.04. Sekarang Anda dapat dengan mudah mengatur ERPNext di lingkungan produksi.