Oct 7, 2017

ERPNext For Production

ERPNext, sangat menjanjikan sebagai salah satu aplikasi ERP yang mendapatkan banyak perhatian. Berikut panduan menginstall ERPNext diatas system operasi Ubuntu 16.04 amd64. Instalasi ERPNext tergantung pada situasi mesin saat ini, apabila PC sudah diinstall ubuntu 16.04 dengan repository standar, situasinya sedikit berbeda dibanding dengan "Fresh Install" pada ubuntu 16.04 yang masih "kosong". Sedikit perbedaan hanya pada versi dependensi. Secara umum fungsi dan kapabilitas tidak berbeda sama sekali. Pemilihan versi dependensi mungkin lebih banyak dipengaruhi faktor selera, karena pada dasarnya tokh aplikasi berfungsi normal dan dapat dipergunakan dengan baik. Demikian pula pemilihan distro linux dan versi distro. Ubuntu 16.04 merupakan versi LTS, dan secara resmi mendapat dukungan Canonical s/d tahun 2021. Pengguna ubuntu sangat luas sehingga lebih mudah dan cepat dalam menemukan bantuan.

Instalasi Ubuntu 16.04
Meskipun PC akan diinstall Ubuntu desktop, untuk instalasi pertama kali ada baiknya diinstall base system saja, atau dikenal dengan command-line mode, hal ini penting untuk menghindari diinstallnya paket aplikasi lain dengan versi yang tidak diharapkan. Untuk ERPNext, secara umum paket yang dibutuhkan :
  • Python 2.7
  • MariaDB ( disarankan versi 10.1 atau 10.2 stable )
  • Redis server ( disarankan versi 4.0.x stable )
  • WKHTMLtoPDF dengan QT Patch
  • supervisor
  • Nginx webserver ( disarankan versi 1.13 stable )

Setelah selesai menginstall ubuntu 16.04 basic system, sebaiknya memperbaiki repository, dimana tidak memilih repository standar.
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install build-essential python-minimal curl git-core software-properties-common dirmngr libssl-dev
Install repository MariaDB 10.1 sesuai dengan SITUS MARIADB FOUNDATION
Install repository Redis-server untuk ubuntu 16.04
Install WKHTMLtoPDF dengan QT Pathced
Install Repository NGINX stable via PPA
lakukan update dan upgrade
$ sudo apt-get update && sudo apt-get upgrade
$ sudo apt-get install mariadb-server mariadb-client libmariadbclient-dev nginx redis-server supervisor python-pip nodejs
Setelah semua terinstall, server siap diinstal ERPNext, khusus untuk Mariadb server membutuhkan sedikit tambahan konfigurasi pada file /etc/mysql/my.cnf pastekan file 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

Intalasi ERPNext dan Opsi
  1. User login ubuntu 16.04 juga dapat digunakan tanpa harus menambah user. Meskipun bisa saja anda menyimpan folder ERPNext di path manapun, ada baiknya menyimpan folder ERPNext di /home/user .
  2. Apabila system yang akan diinstall hanya untuk kebutuhan lokal, misal 1 pc laptop/desktop untuk sebuah toko, ada baiknya menambahkan 1 (satu) non system user khusus untuk ERPNext diluar user untuk Login sehari-hari. Ide ini ada baiknya juga dilakukan pada server dengan banyak aplikasi selain ERPNext, dengan menambahkan 1 user untuk ERPNext akan memudahkan dalam mengadministrasi, trouble shouting, maintenance ERPNext. Dalam banyak Tutorial disarankan menggunakan user dengan username frappe : $ sudo adduser frappe
    $ sudo usermod -aG sudo frappe
  3. Log in dengan user frappe $ sudo su frappe
    $ cd
    $ git clone https://github.com/frappe/bench bench
    Tunggu hingga selesai dan muncul folder bench
    $ sudo -H pip install -e bench
    >
  4. Sampai disini, maka bench sudah terinstall dengan baik
  5. Install bench untuk production ( masih login dengan user frappe ): $ bench init xxx-bench
    pilih nama yang mudah diingat, sependek mungkin untuk mudah mengingatnya
    $ cd xxx-bench
    $ bench get-app erpnext https://github.com/frappe/erpnext
  6. Sampai disini bench, frappe platform dan ERPNext system sudah terinstall dengan baik, lanjutkan dengan mengaktifkan nginx web server, mariadb database dan supervisor
  7. Tetap login dengan user frappe : $ sudo systemctl enable nginx
    $ sudo systemctl enable mariadb $ sudo systemctl enable supervisor
  8. login ke mysql shell : $ mysql -u root -p
    ubuntu biasanya meminta user memberikan root password ketika pertama kali menginstall Mariadb
    MariaDB [(none)]> CREATE DATABASE erpnext;
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON erpnext.* TO 'root'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
    MariaDB [(none)]> \q;
  9. buat site dan install ERPNext : $ bench new-site namasite.local --db-name erpnext --mariadb-root-username root --mariadb-root-password password --install-app erpnext --verbose --force
    Apabila tidak terjadi sesuatu ERPNext akan diinstal pada situs
    $ bench setup procfile
    $ bench setup nginx
    $ bench setup supervisor
    command $ sudo bench setup production frappe <-- nama login username pada dasarnya hanya mengubah port webserver nginx untuk ERPNext dari default ( port 80 ) ke Port 8000
  10. Semua bench command, bench setup nginx dan bench setup supervisor pada dasarnya membuat symlink dari .../xxx-bench/config/nginx.conf ke /etc/nginx/conf.d/xxx-bench-nginx.conf dan .../xxx-bench/config/supervisor.conf ke /etc/supervisor/conf.d/xxx-bench.conf ini penting dipahami untuk melakukan check dan trouble shouting ketika ada masalah dengan ERPNext system
Redis Server
Ada baiknya membaca Artikel Tentang Redis Server PerformanceTips, satu-satunya keraguan adalah melakukan tindakan NON AKTIF secara permanen pada system linux kernel Transparent Huge Page ( THP ), karena teknologi THP ini membantu sangat banyak dalam menjaga performance OS secara keseluruhan.

Oct 3, 2017

ERPnext

ERPNext, menjadi satu dari sekian banyak aplikasi ERP untuk organisasi kecil sampai sedang, dengan mempertimbangkan masalah efisiensi biaya. Support ERPNext saat ini sepenuhnya tergantung pada Komunitas, diskusi di forum ERPNext sangat membantu dalam Trouble Shouting. Banyak sekali pengguna dari berbagai kalangan dan tingkat keahlian saling berbagi, saling membantu. Itulah kenikmatan memanfaatkan Software Open Source.
ERPNext sangat sesuai dimanfaatkan untuk membantu mengoperasikan, Coffeeshop, Toko Kelontong, Toko Besi, Warung Makan, Puskesmas, Klinik, Rumah Sakit, Organisasi Nirlaba, Sekolah, Perguruan Tinggi dan Berbagai jenis Industri lain. Sifat portabilitas dan fleksibilitas ERPNext sebagai aplikasi berbasis web, sangat bermanfaat dan berdaya guna karena bagus dioperasikan secara OFFLINE maupun ONLINE.  
Kebutuhan Hardware.
Motherboard sekelas Pentium 4, RAM 1 GB dengan media penyimpanan 160 GB yang saat ini sudah seperti sampah, masih bisa dimanfaatkan untuk ERPNext guna membantu mengelola Toko Besi, Warung Makan, Coffeeshop kecil dan menengah secara lokal atau offline. Mengelola inventory, akunting, stok dan Proses penjualan dengan modul POS. Berikut printernya, diperkirakan investasi yang dibutuhkan sekitar Rp 3.000.000,- satu nilai yang sangat Terjangkau.

Kebutuhan Software.
Saat ini ERPNext banyak diinstall pada system operasi Ubuntu Linux 16.04 amd64, ini bisa saja berupa Desktop untuk mode Lokal/Offline. Penulis sendiri karena alasan tertentu memilih Gentoo Linux sebagai distro sehari-hari. 2 unit server diinstall Gentoo Server dan 1 unit menggunakan ubuntu server 16.04.

Dell Poweredge T410
Server Dell Poweredge T410 dengan harga bekas saat ini pada kisaran Rp 6.500.000,- dengan RAM 2X2 GB dan 4x8 GB nilai buku server menjadi sekitar Rp 8.500.000,- saat ini diinstall ubuntu server 16.04 dengan media penyimpan SATA Hard-disk 2 TB dan 160 GB. akan diakses 20 client dengan koneksi intranet dan internet. Aplikasi terpasang, ERPNext multitenant, NextCloud sebagai media penyimpan awan, diharapkan mampu mendukung operasi tiga outlet dalam jangka waktu 7 tahun.

Instalasi
Referensi

  1. Frappe Bench Github
  2. Manual Install Ubuntu 16.xx dan Debian 8-9
  3. Manual Install Frappe/Bench
  4. Manual Install ERPNext
Catatan Penting.
  • Instal Basic Ubuntu Server, Tanpa Database, Tanpa Webserver, karena penulis tidak memanfaatkan aplikasi yang ada pada repository standar ubuntu 16.04 dengan berbagai pertimbangan.
  • Redis-server : standar ubuntu 16.04 repository menyajikan Redis-Server versi 3.6 Penulis memilih versi stabil terbaru Redis-Server 4.0.1 
  • Mariadb-server : standar ubuntu 16.04 repository menyajikan versi 10.0 penulis memilih versi 10.1 
  • Nginx server : standar ubuntu 16.04 repository menyajikan versi 1.10 penulis memilih versi 1.13
  • Nodejs : standar ubuntu 16.04 repository menyajikan versi 6, penulis memilih versi 7
  • Semaksimal mungkin menginstal dengan Package Manager, kecuali tidak dimungkinkan. Karena instalasi dengan Package Manager akan lebih mudah dihandle dalam trouble shouting.
Mode Instalasi
ERPNext menyediakan instalasi otomatis untuk ubuntu 16.04. Instalasi otomatis tidak disarankan untuk Production Server. Banyak hal tidak bisa benar-benar dikontrol dan diketahui pada mode instalasi otomatis. Apabila proses instalasi gagal di tengah jalan, agak repot menangani kelanjutannya. 

selamat mencoba

Real Multilib Userland on Linux

Read multilib requirement on Android rom building and other stuff. About two years absent from getting rid with android rom. I have time to...