Cara Menginstal ERPNext Open Source ERP pada CentOS 7

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.

Dalam tutorial ini, kita akan menginstal ERPNext pada CentOS 7.

Prasyarat

Untuk tutorial ini, kita akan menggunakan erp.example.comnama domain yang menunjuk ke server. Pastikan untuk mengganti semua kemunculan erp.example.comdengan nama domain Anda yang sebenarnya.

Perbarui sistem basis Anda menggunakan panduan " Cara Memperbarui CentOS 7 ". Setelah sistem Anda diperbarui, lanjutkan untuk menginstal Python.

Instal Alat Pengembangan

ERPNext membutuhkan Python versi 2.7 untuk berfungsi. Python 2.7 diinstal secara default di semua instance server CentOS. Anda dapat memeriksa apakah versi Python yang diinstal dengan menjalankan:

python -V

Anda harus mendapatkan hasil yang serupa.

[user@vultr ~]$ python -V
Python 2.7.5

Meskipun versi yang terinstal dari Python bukan yang terbaru, ia bekerja tanpa hambatan. Mengubah versi default Python dapat merusak YUM.

Instal paket dalam Development toolsgrup yang diperlukan untuk mengkompilasi file installer.

sudo yum groupinstall -y "Development tools"

Instal beberapa dependensi lagi:

sudo yum install -y redhat-lsb-core git python-setuptools python-devel openssl-devel libffi-devel

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

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

Perintah di atas akan menginstal Pip ke sistem Anda. Untuk memastikan bahwa Anda memiliki versi terbaru pipdan setuptools, jalankan:

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

MariaDB adalah fork dari server database MySQL. Instal MariaDB dengan menjalankan.

sudo yum -y install mariadb mariadb-server mysql-devel

Mesin penyimpanan Barracuda diperlukan untuk pembuatan basis data ERPNext, maka Anda perlu mengonfigurasi MariaDB untuk menggunakan mesin penyimpanan Barracuda. Edit file konfigurasi MariaDB default my.cnf.

sudo nano /etc/my.cnf

Tambahkan baris berikut di bawah symbolic-links=0garis.

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

Mulai MariaDB dan aktifkan untuk memulai secara otomatis saat boot.

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

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. Secara default, tidak ada kata sandi root yang ditetapkan pada MariaDB. Tekan tombol "Enter" untuk melanjutkan. Tetapkan kata sandi yang kuat untuk pengguna root dari server MariaDB Anda dan jawab "Y" untuk semua pertanyaan lain yang ditanyakan. Pertanyaan yang diajukan cukup jelas.

Instal Nginx, Nodejs dan Redis

Karena repositori EPEL diinstal secara default di semua instance Vultr CentOS 7, Anda dapat langsung menginstal Redis dan Nginx. Tetapi untuk menginstal versi terbaru Node.js, Anda perlu menambahkan repositori Nodesource ke sistem Anda.

Tambahkan repositori Nodesource untuk Node.js 8.x.

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

Instal Nginx, Nodejs dan Redis:

sudo yum -y install nginx nodejs redis

Mulai Nginx dan aktifkan untuk memulai saat boot dengan menjalankan:

sudo systemctl start nginx
sudo systemctl enable nginx

Mulai Redis dan aktifkan untuk memulai saat boot dengan menjalankan:

sudo systemctl start redis
sudo systemctl enable redis

Instal PDF Converter

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

sudo yum -y install libXrender libXext xorg-x11-fonts-75dpi xorg-x11-fonts-Type1

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 arsip dengan menjalankan:

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 -Vperintah untuk memeriksa apakah itu berfungsi, Anda akan melihat:

[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 -d /opt/bench

Ubah kata sandi pengguna.

sudo passwd bench

Berikan sudoizin kepada benchpengguna.

sudo usermod -aG wheel bench

Masuk 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

ERPNext diinstal di server Anda. Anda dapat segera memulai aplikasi untuk memeriksa apakah aplikasi berhasil dijalankan:

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, tidak ke port HTTP standar 80. Juga, menjalankan server web bawaan untuk penggunaan produksi tidak dianjurkan karena kami akan mengekspos server ke dunia. Oleh karena itu, Anda harus menggunakan server web produksi sebagai proxy terbalik seperti Apache atau Nginx. Dalam tutorial ini, kita 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 di atas, eksekusi ERPNext akan berhenti segera setelah Anda menutup terminal. Untuk mengatasi masalah ini, saya sarankan untuk menggunakan Supervisor yang sangat membantu dalam menjalankan aplikasi secara terus menerus dalam 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 yum -y install supervisor

Mulai Supervisor dan aktifkan untuk memulai secara otomatis saat boot:

sudo systemctl start supervisord
sudo systemctl enable supervisord

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/

Jika Anda menjalankan firewall di server Anda, Anda harus mengkonfigurasi firewall untuk menetapkan pengecualian untuk layanan HTTP. Izinkan Nginx membalikkan proxy untuk tersambung dari luar jaringan.

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload

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 ~]$ sudo supervisorctl status all
erpnext-redis:erpnext-redis-cache                 RUNNING   pid 2554, uptime 1:06:58
erpnext-redis:erpnext-redis-queue                 RUNNING   pid 2553, uptime 1:06:58
erpnext-redis:erpnext-redis-socketio              RUNNING   pid 2555, uptime 1:06:58
erpnext-web:erpnext-frappe-web                    RUNNING   pid 2559, uptime 1:06:58
erpnext-web:erpnext-node-socketio                 RUNNING   pid 2556, uptime 1:06:58
erpnext-workers:erpnext-frappe-default-worker-0   RUNNING   pid 2549, uptime 1:06:58
erpnext-workers:erpnext-frappe-long-worker-0      RUNNING   pid 2551, uptime 1:06:58
erpnext-workers:erpnext-frappe-schedule           RUNNING   pid 2550, uptime 1:06:58
erpnext-workers:erpnext-frappe-short-worker-0     RUNNING   pid 2552, uptime 1:06:58

Untuk menghentikan semua proses ERPNext, gunakan:

sudo supervisorctl stop all

Untuk memulai semua proses ERPNext, gunakan:

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 Let's Encrypt client. Klien akan meminta 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 terjadwal:

bench enable-scheduler

Anda harus melihat:

[bench@vultr erpnext]$ bench enable-scheduler
Enabled for erp.example.com

Membungkus

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 CentOS 7 Anda.



Leave a Comment

Cara Memasang Panel Kontrol Hosting Mudah di Ubuntu 16.04

Cara Memasang Panel Kontrol Hosting Mudah di Ubuntu 16.04

Pelajari langkah-langkah untuk memasang Panel Kontrol Hosting Mudah (EHCP) di Ubuntu 16.04 dengan panduan ini.

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.