Cara Memasang ERPNext Open Source ERP di Ubuntu 17.04

ERP atau Enterprise Resource Planning adalah rangkaian aplikasi perusahaan yang digunakan untuk mengelola proses bisnis inti. ERPNext adalah aplikasi ERP mandiri dan open-source yang ditulis dengan Python. Ia menggunakan Node.js untuk front end dan MariaDB untuk menyimpan datanya. ERPNext menyediakan antarmuka web yang mudah digunakan yang memungkinkan perusahaan mengelola tugas sehari-hari. Ini berisi modul untuk akuntansi, CRM, HRM, manufaktur, POS, manajemen proyek, pembelian, manajemen penjualan, manajemen gudang, dan banyak lagi. ERPNext dapat digunakan untuk mengelola berbagai industri seperti penyedia layanan, manufaktur, ritel, dan sekolah.

Prasyarat

Catatan: Untuk tutorial ini, kami akan menggunakan erp.example.comsebagai nama domain yang menunjuk ke server. Pastikan untuk mengganti semua kemunculan erp.example.comdengan nama domain Anda yang sebenarnya .

Sebelum kita mulai, pastikan server Anda mutakhir.

sudo apt update
sudo apt -y upgrade

Instal Alat Pengembangan

ERPNext membutuhkan Python versi 2.7 untuk berfungsi. Instal Python 2.7.

sudo apt -y install python-minimal

Anda harus dapat memverifikasi versinya.

python -V

Anda akan melihat output berikut.

user@vultr:~$ python -V
Python 2.7.13

Instal beberapa dependensi lagi.

sudo apt -y install git build-essential python-setuptools python-dev libffi-dev libssl-dev

Instal pipalat Python . Pip adalah manajer dependensi untuk paket Python.

wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py

Pastikan Anda memiliki versi terbaru pipdan setuptools.

sudo pip install --upgrade pip setuptools

Instal Ansible menggunakan Pip. Kemungkinan mengotomatiskan penyediaan perangkat lunak, manajemen konfigurasi, dan penyebaran aplikasi.

sudo pip install ansible

Instal Server MariaDB

Tambahkan repositori MariaDB ke dalam sistem.

sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirror.nodesdirect.com/mariadb/repo/10.2/ubuntu xenial main'

Instal MariaDB.

sudo apt update
sudo apt -y install mariadb-server libmysqlclient-dev

Berikan kata sandi yang kuat untuk pengguna root MariaDB saat ditanya.

Mesin penyimpanan Barracuda diperlukan untuk pembuatan basis data ERPN, jadi Anda harus mengonfigurasi MariaDB untuk menggunakan mesin penyimpanan Barracuda. Edit file konfigurasi MariaDB default my.cnf.

sudo nano /etc/mysql/my.cnf

Tambahkan baris berikut di bawah [mysqld]garis.

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

Juga, tambahkan baris berikut di bawah [mysql]garis.

default-character-set = utf8mb4

Mulai ulang MariaDB dan aktifkan untuk mulai secara otomatis saat boot.

sudo systemctl restart mariadb
sudo systemctl enable mariadb

Sebelum mengkonfigurasi basis data, Anda perlu mengamankan MariaDB. Anda dapat mengamankannya dengan menjalankan mysql_secure_installationskrip.

sudo mysql_secure_installation

Anda akan dimintai kata sandi root MariaDB saat ini. Berikan kata sandi yang telah Anda tentukan selama instalasi. Anda akan ditanya apakah Anda ingin mengubah kata sandi yang ada dari pengguna root dari server MariaDB Anda. Anda dapat melewati pengaturan kata sandi baru, karena Anda telah memberikan kata sandi yang kuat selama instalasi. Jawab "Y" untuk semua pertanyaan lain yang ditanyakan.

Instal Nginx, Node.js dan Redis

Tambahkan repositori Nodesource untuk Node.js 8.x.

sudo curl --silent --location https://deb.nodesource.com/setup_8.x | sudo bash -

Instal Nginx, Node.js dan Redis.

sudo apt -y install nginx nodejs redis-server

Mulai Nginx dan aktifkan untuk memulai saat boot.

sudo systemctl start nginx
sudo systemctl enable nginx

Mulai Redis dan aktifkan untuk memulai saat boot.

sudo systemctl start redis-server
sudo systemctl enable redis-server

Instal PDF Converter

The wkhtmltopdfProgram adalah alat baris perintah yang mengubah HTML ke PDF menggunakan mesin rendering WebKit QT. Instal dependensi yang diperlukan.

sudo apt -y install libxrender1 libxext6 xfonts-75dpi xfonts-base

Unduh versi terbaru dari wkhtmltopdf.

wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz

Ekstrak arsipnya.

sudo tar -xf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz -C /opt

Perintah di atas akan mengekstrak arsip ke /opt/wkhtmltox. Buat softlink sehingga wkhtmltopdfdan wkhtmltoimagedapat dieksekusi secara global sebagai perintah.

sudo ln -s /opt/wkhtmltox/bin/wkhtmltopdf /usr/bin/wkhtmltopdf
sudo ln -s /opt/wkhtmltox/bin/wkhtmltoimage /usr/bin/wkhtmltoimage

Anda sekarang dapat menjalankan wkhtmltopdf -Vuntuk memeriksa apakah itu berfungsi, Anda akan melihat ini.

user@vultr:~$ wkhtmltopdf -V
wkhtmltopdf 0.12.4 (with patched qt)

Pada titik ini, kami telah menginstal semua dependensi yang diperlukan. Anda sekarang dapat melanjutkan untuk menginstal Bench.

Pasang Bench

Benchadalah utilitas baris perintah yang disediakan oleh Frappe untuk menginstal dan mengelola aplikasi ERPNext pada sistem berbasis Unix untuk keperluan pengembangan dan produksi. Bench juga dapat membuat dan mengelola konfigurasi Nginx dan pengawas.

Buat pengguna baru untuk menjalankan proses Bench di lingkungan yang terisolasi.

sudo adduser bench --home /opt/bench

Berikan sudoizin kepada benchpengguna.

sudo usermod -aG sudo bench

Login sebagai pengguna yang baru dibuat bench.

sudo su - bench

Klon repositori Bench di /opt/bench.

cd /opt/bench
git clone https://github.com/frappe/bench bench-repo

Instal Bench menggunakan pip.

sudo pip install -e bench-repo

Setelah Bench diinstal, lanjutkan untuk menginstal ERPNext menggunakan Bench.

Instal ERPNext menggunakan Bench

Inisialisasi direktori bangku dengan kerangka kerja frappe yang diinstal. Agar semuanya rapi, kami akan bekerja di bawah /opt/benchdirektori. Bench juga akan mengatur pencadangan rutin dan pembaruan otomatis sekali sehari.

cd /opt/bench
bench init erpnext && cd erpnext

Buat situs Frappe baru.

bench new-site erp.example.com

Perintah di atas akan meminta Anda untuk kata sandi root MySQL. Berikan kata sandi yang telah Anda tentukan untuk pengguna root MySQL sebelumnya. Ia juga akan meminta Anda untuk menetapkan kata sandi baru untuk akun administrator. Anda akan memerlukan kata sandi ini nanti untuk masuk ke dasbor administrator .

Unduh file instalasi ERPNext dari repositori git jarak jauh menggunakan Bench.

bench get-app erpnext https://github.com/frappe/erpnext

Instal ERPNext di situs Anda yang baru dibuat.

bench --site erp.example.com install-app erpnext

Anda dapat segera memulai aplikasi untuk memeriksa apakah aplikasi berhasil diinstal.

bench start

Namun, Anda harus menghentikan eksekusi dan melanjutkan untuk mengatur aplikasi untuk penggunaan produksi.

Setup Supervisor dan Nginx

Secara default, aplikasi ERPNext mendengarkan pada port 8000, bukan port HTTP standar 80. Juga, menjalankan server web bawaan untuk penggunaan produksi tidak disarankan karena kami akan mengekspos server ke dunia. Anda harus menggunakan server web produksi sebagai proxy terbalik seperti Apache atau Nginx. Kami akan menggunakan Nginx sebagai proxy terbalik karena dapat dikonfigurasi secara otomatis menggunakan Bench. Bench dapat secara otomatis membuat dan menginstal konfigurasi sesuai dengan pengaturan ERPNext.

Meskipun kita dapat memulai aplikasi menggunakan perintah 'bangku mulai', eksekusi ERPNext akan berhenti segera setelah Anda menutup terminal. Untuk mengatasi masalah ini, Anda harus menggunakan Supervisor, yang sangat membantu dalam menjalankan aplikasi secara terus-menerus di lingkungan produksi. Supervisor adalah sistem kontrol proses yang memungkinkan Anda memantau dan mengontrol sejumlah proses pada sistem operasi Linux. Setelah Supervisor dikonfigurasikan, itu akan secara otomatis memulai aplikasi pada saat boot maupun pada kegagalan. Bench dapat secara otomatis mengonfigurasi Supervisor untuk aplikasi ERPNext.

Instal Pengawas.

sudo apt -y install supervisor

Mulai Supervisor dan aktifkan mulai secara otomatis saat boot.

sudo systemctl start supervisor
sudo systemctl enable supervisor

Setup Bench untuk penggunaan produksi.

 sudo bench setup production bench

Perintah di atas mungkin meminta Anda sebelum mengganti file konfigurasi default Supervisor yang ada dengan yang baru. Pilih yuntuk melanjutkan. Bench menambahkan sejumlah proses ke file konfigurasi Supervisor. Perintah di atas juga akan menanyakan apakah Anda ingin mengganti konfigurasi Nginx saat ini dengan yang baru. Masuk yuntuk melanjutkan. Setelah Bench selesai menginstal konfigurasi, berikan pengguna lain untuk mengeksekusi file di direktori home Anda dari pengguna Bench.

chmod o+x /opt/bench/

Anda sekarang dapat mengakses situs pada http://erp.example.com.

Anda dapat memeriksa status proses dengan menjalankan.

sudo supervisorctl status all

Anda akan melihat output berikut.

bench@vultr:~/erpnext$ sudo supervisorctl status all
erpnext-redis:erpnext-redis-cache                 RUNNING   pid 13852, uptime 0:00:54
erpnext-redis:erpnext-redis-queue                 RUNNING   pid 13851, uptime 0:00:54
erpnext-redis:erpnext-redis-socketio              RUNNING   pid 13853, uptime 0:00:54
erpnext-web:erpnext-frappe-web                    RUNNING   pid 13856, uptime 0:00:54
erpnext-web:erpnext-node-socketio                 RUNNING   pid 13855, uptime 0:00:54
erpnext-workers:erpnext-frappe-default-worker-0   RUNNING   pid 13862, uptime 0:00:54
erpnext-workers:erpnext-frappe-long-worker-0      RUNNING   pid 13870, uptime 0:00:54
erpnext-workers:erpnext-frappe-schedule           RUNNING   pid 13869, uptime 0:00:54
erpnext-workers:erpnext-frappe-short-worker-0     RUNNING   pid 13875, uptime 0:00:54

Untuk menghentikan semua proses ERPNext.

sudo supervisorctl stop all

Untuk memulai semua proses ERPNext.

sudo supervisorctl start all

Menyiapkan SSL menggunakan Let's Encrypt

Let's Encrypt memberikan sertifikat SSL gratis kepada pengguna. SSL dapat diinstal secara manual atau otomatis melalui Bench. Bench dapat secara otomatis menginstal klien Let's Encrypt dan mendapatkan sertifikat. Selain itu, secara otomatis memperbarui konfigurasi Nginx untuk menggunakan sertifikat.

Nama domain yang Anda gunakan untuk mendapatkan sertifikat dari Let's Encrypt CA harus diarahkan ke server. Klien memverifikasi otoritas domain sebelum menerbitkan sertifikat .

Aktifkan DNS multi-tenancy untuk aplikasi ERPNext.

bench config dns_multitenant on

Jalankan Bench untuk menyiapkan Let's Encrypt di situs Anda.

sudo bench setup lets-encrypt erp.example.com

Selama eksekusi skrip, klien Let's Encrypt akan meminta Anda untuk menghentikan sementara server web Nginx. Ini akan secara otomatis menginstal paket yang diperlukan dan klien Let's Encrypt. Klien akan meminta Anda untuk alamat email Anda. Anda juga harus menerima syarat dan ketentuan. Setelah sertifikat dibuat, Bench juga akan menghasilkan konfigurasi baru untuk Nginx yang menggunakan sertifikat SSL. Anda akan ditanya sebelum mengganti konfigurasi yang ada. Bench juga membuat crontabentri untuk secara otomatis memperbarui sertifikat setiap bulan.

Akhirnya, aktifkan penjadwal untuk secara otomatis menjalankan pekerjaan yang dijadwalkan.

bench enable-scheduler

Anda akan melihat output ini.

bench@vultr:~/erpnext$ bench enable-scheduler
Enabled for erp.example.com

Kesimpulan

Setelah proses selesai, Anda dapat mengakses aplikasi Anda di https://erp.example.com. Login dengan nama pengguna Administratordan kata sandi yang Anda tetapkan selama instalasi. Anda akan dibawa ke meja di mana Anda harus memberikan informasi untuk mengatur ERPNext ERP sesuai dengan perusahaan Anda. Anda sekarang dapat menggunakan aplikasi untuk mengelola perusahaan Anda.

Selamat, Anda memiliki aplikasi ERPNext yang berfungsi penuh diinstal pada server Ubuntu 17.04 Anda.



Leave a Comment

Cara Memasang Graylog Server pada CentOS 7

Cara Memasang Graylog Server pada CentOS 7

Menggunakan Sistem yang Berbeda? Graylog server adalah perangkat lunak manajemen log sumber terbuka siap pakai perusahaan. Ia mengumpulkan log dari berbagai sumber dan menganalisis

Cara Memasang Anchor CMS pada Fedora 26 LAMP VPS

Cara Memasang Anchor CMS pada Fedora 26 LAMP VPS

Menggunakan Sistem yang Berbeda? Anchor CMS adalah Content Engine System (CMS) Blog Engine yang super-sederhana dan sangat ringan, gratis, dan terbuka

Cara Memasang GitBucket di Ubuntu 16.04

Cara Memasang GitBucket di Ubuntu 16.04

Panduan ini mencakup instalasi dasar dan pengaturan GitBucket untuk instance Vultr yang menjalankan Ubuntu 16.04, dan mengasumsikan bahwa Anda menjalankan perintah sebagai

Cara Memasang Directus 6.4 CMS pada Fedora 26 LAMP VPS

Cara Memasang Directus 6.4 CMS pada Fedora 26 LAMP VPS

Menggunakan Sistem yang Berbeda? Directus 6.4 CMS adalah Headless Content Management System (CMS) yang kuat dan fleksibel, gratis dan open source yang menyediakan pengembang

Cara Memasang Mattermost 5.2 di Ubuntu 16.04

Cara Memasang Mattermost 5.2 di Ubuntu 16.04

Menggunakan Sistem yang Berbeda? Mattermost adalah sumber terbuka, alternatif yang di-host-sendiri ke layanan pesan Slack SAAS. Dengan kata lain, dengan Mattermost, Anda ca

Menyiapkan Server TeamTalk di Linux

Menyiapkan Server TeamTalk di Linux

TeamTalk adalah sistem konferensi yang memungkinkan pengguna untuk memiliki percakapan audio / video berkualitas tinggi, obrolan teks, transfer file, dan berbagi layar. Itu saya

Cara Memasang Manajer File Terminal Ranger di Linux

Cara Memasang Manajer File Terminal Ranger di Linux

Ranger adalah manajer file berbasis baris perintah dengan binding kunci VI. Ini memberikan antarmuka kutukan minimalis dan bagus dengan tampilan pada hierarki direktori

Cara Memasang Redmine di Ubuntu 16.04

Cara Memasang Redmine di Ubuntu 16.04

Menggunakan Sistem yang Berbeda? Redmine adalah alat manajemen proyek berbasis web gratis dan open source. Itu ditulis dalam Ruby on Rails dan mendukung banyak database

Cara Membangun Brotli Dari Sumber di Ubuntu 18.04 LTS

Cara Membangun Brotli Dari Sumber di Ubuntu 18.04 LTS

Menggunakan Sistem yang Berbeda? Brotli adalah metode kompresi baru dengan rasio kompresi yang lebih baik daripada GZIP. Kode sumbernya dihosting secara publik di Githu ini

Cara Memasang Thelia 2.3 pada Debian 9

Cara Memasang Thelia 2.3 pada Debian 9

Menggunakan Sistem yang Berbeda? Thelia adalah alat sumber terbuka untuk membuat situs web e-bisnis dan mengelola konten online yang ditulis dalam PHP. Kode sumber thelia i

Menginstal pfSense di Server Cloud Vultr

Menginstal pfSense di Server Cloud Vultr

pfSense adalah alat yang ideal untuk administrator sistem yang ingin menambahkan beragam fitur ke jaringan mereka. Ini terutama merupakan open-sourc

Cara Memasang Chamilo 1.11.8 pada CentOS 7

Cara Memasang Chamilo 1.11.8 pada CentOS 7

Menggunakan Sistem yang Berbeda? Chamilo adalah sistem manajemen pembelajaran (LMS) gratis dan open source yang banyak digunakan untuk pendidikan online dan kolaborasi tim

Instal Nginx, Wordpress, dan Mari Mengenkripsi dalam Menit dengan EasyEngine di Debian 8 atau Ubuntu 16.04

Instal Nginx, Wordpress, dan Mari Mengenkripsi dalam Menit dengan EasyEngine di Debian 8 atau Ubuntu 16.04

EasyEngine (ee) adalah alat Python yang memungkinkan Anda untuk mengelola situs Wordpress di Nginx dengan mudah dan otomatis. Menggunakan EasyEngine, Anda tidak perlu dea

Cara Memasang dan Mengkonfigurasi CyberPanel di Ubuntu 18.04 LTS

Cara Memasang dan Mengkonfigurasi CyberPanel di Ubuntu 18.04 LTS

Menggunakan Sistem yang Berbeda? Pendahuluan CyberPanel adalah salah satu panel kontrol pertama di pasar yang bersifat open source dan menggunakan OpenLiteSpeed. Apa ini

Menginstal Komunitas Odoo 9 di CentOS 7

Menginstal Komunitas Odoo 9 di CentOS 7

Odoo, sebelumnya dikenal sebagai OpenERP, adalah platform bisnis ERP open source yang terkenal. Perusahaan dengan ukuran berapa pun dapat mengambil manfaat dari Odoo, berkat lisnya yang berlimpah

Menyiapkan ClamFS dan ClamAV di Ubuntu

Menyiapkan ClamFS dan ClamAV di Ubuntu

ClamAV adalah paket antivirus sumber terbuka dan gratis. Saat merencanakan strategi keamanan untuk server Anda, Anda mungkin ingin mempertimbangkan untuk menjalankan antivirus untuk melindungi

Cara Memasang CMS CMS 2.0 pada CentOS 7 LAMP VPS

Cara Memasang CMS CMS 2.0 pada CentOS 7 LAMP VPS

Menggunakan Sistem yang Berbeda? Couch CMS adalah Content Management System (CMS) sederhana dan fleksibel, gratis dan open source yang memungkinkan desainer web untuk mendesain

Cara Memasang NextCloud 9 pada CentOS 7

Cara Memasang NextCloud 9 pada CentOS 7

NextCloud, seperti namanya, adalah alternatif yang menjanjikan dari solusi hosting file sumber terbuka lainnya OwnCloud. Dalam artikel ini, saya akan menunjukkan kepada Anda ho

Menginstal Netdata di CentOS 7

Menginstal Netdata di CentOS 7

Menggunakan Sistem yang Berbeda? Netdata adalah bintang yang naik di bidang pemantauan metrik sistem waktu-nyata. Dibandingkan dengan alat lain dengan jenis yang sama, Netdata:

Cara Menginstal ERPNext Open Source ERP pada CentOS 7

Cara Menginstal ERPNext Open Source ERP pada CentOS 7

Menggunakan Sistem yang Berbeda? ERP atau Enterprise Resource Planning adalah rangkaian aplikasi perusahaan yang digunakan untuk mengelola proses bisnis inti. ERPNext adalah gratis

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

6 Hal yang Sangat Menggila dari Nintendo Switch

6 Hal yang Sangat Menggila dari Nintendo Switch

Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.

Janji Teknologi Yang Masih Belum Ditepati

Janji Teknologi Yang Masih Belum Ditepati

Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.

Pembaruan Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Masalah Daripada Menyelesaikan

Pembaruan Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Masalah Daripada Menyelesaikan

Baru-baru ini Apple merilis macOS Catalina 10.15.4 pembaruan suplemen untuk memperbaiki masalah tetapi tampaknya pembaruan menyebabkan lebih banyak masalah yang mengarah ke bricking mesin mac. Baca artikel ini untuk mempelajari lebih lanjut