Cara Memasang ERPN Sumber Terbuka ERP di Ubuntu 17.04

ERP atau Perancangan Sumber Perusahaan adalah rangkaian aplikasi perusahaan yang digunakan untuk menguruskan proses perniagaan teras. ERPNext adalah aplikasi ERP bebas dan sumber terbuka yang dihoskan sendiri yang ditulis dalam Python. Ia menggunakan Node.js untuk bahagian depan dan MariaDB untuk menyimpan datanya. ERPNext menyediakan antara muka web yang mudah digunakan yang membolehkan perniagaan menguruskan tugas dari hari ke hari. Ia mengandungi modul untuk perakaunan, CRM, HRM, pembuatan, POS, pengurusan projek, pembelian, pengurusan penjualan, pengurusan gudang, dan banyak lagi. ERPNext boleh digunakan untuk menguruskan industri yang berbeza seperti penyedia perkhidmatan, pembuatan, peruncitan dan sekolah.

Prasyarat

  • Contoh pelayan Vultr Ubuntu 17.04.
  • Pengguna sudo .

Catatan: Untuk tutorial ini, kami akan menggunakan erp.example.comsebagai nama domain yang ditunjuk ke pelayan. Pastikan untuk mengganti semua kejadian erp.example.comdengan nama domain sebenar anda .

Sebelum kita memulakan, pastikan pelayan anda dikemas kini.

sudo apt update
sudo apt -y upgrade

Pasang Alat Pembangunan

ERPNext memerlukan Python versi 2.7 untuk berfungsi. Pasang Python 2.7.

sudo apt -y install python-minimal

Anda seharusnya dapat mengesahkan versi.

python -V

Anda akan melihat output berikut.

user@vultr:~$ python -V
Python 2.7.13

Pasang beberapa lagi kebergantungan.

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

Pasang pipalat Python . Pip adalah pengurus pergantungan untuk pakej Python.

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

Pastikan bahawa anda mempunyai versi pipdan setuptools.

sudo pip install --upgrade pip setuptools

Pasang Ansible menggunakan Pip. Ansible mengautomasikan penyediaan perisian, pengurusan konfigurasi, dan penerapan aplikasi.

sudo pip install ansible

Pasang MariaDB Server

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'

Pasang MariaDB.

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

Berikan kata laluan yang kuat untuk pengguna root MariaDB ketika ditanya.

Enjin penyimpanan Barracuda diperlukan untuk pembuatan pangkalan data ERPNext, jadi anda perlu mengkonfigurasi MariaDB untuk menggunakan mesin penyimpanan Barracuda. Edit fail konfigurasi MariaDB lalai 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

Restart MariaDB dan aktifkannya secara automatik pada waktu boot.

sudo systemctl restart mariadb
sudo systemctl enable mariadb

Sebelum mengkonfigurasi pangkalan data, anda perlu mengamankan MariaDB. Anda boleh mendapatkannya dengan menjalankan mysql_secure_installationskrip.

sudo mysql_secure_installation

Anda akan diminta kata laluan root MariaDB semasa. Berikan kata laluan yang telah anda tetapkan semasa pemasangan. Anda akan ditanya sama ada anda ingin menukar kata laluan pengguna root sedia ada pelayan MariaDB anda. Anda boleh melangkau menetapkan kata laluan baru, kerana anda telah memberikan kata laluan yang kuat semasa pemasangan. Jawab "Y" untuk semua soalan lain yang diajukan.

Pasang 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 -

Pasang Nginx, Node.js dan Redis.

sudo apt -y install nginx nodejs redis-server

Mulakan Nginx dan aktifkan pada waktu boot.

sudo systemctl start nginx
sudo systemctl enable nginx

Mulakan Redis dan aktifkan pada waktu boot.

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

Pasang Penukar PDF

The wkhtmltopdfprogram ialah baris arahan alat yang mualaf HTML ke PDF menggunakan enjin rendering QT Webkit. Pasang kebergantungan yang diperlukan.

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

Muat turun versi terkini wkhtmltopdf.

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

Ekstrak arkib.

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

Perintah di atas akan mengeluarkan arkib ke /opt/wkhtmltox. Buat softlink sehingga wkhtmltopdfdan wkhtmltoimagedapat dilaksanakan 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 kini boleh berjalan wkhtmltopdf -Vuntuk memeriksa sama ada ia berfungsi, anda akan melihatnya.

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

Pada ketika ini, kami telah memasang semua pergantungan yang diperlukan. Anda sekarang boleh terus memasang Bench.

Pasang Bangku

Benchadalah utiliti baris perintah yang disediakan oleh Frappe untuk memasang dan mengurus aplikasi ERPNext pada sistem berasaskan Unix untuk tujuan pembangunan dan pengeluaran. Bangku juga dapat membuat dan mengurus konfigurasi Nginx dan penyelia.

Buat pengguna baru untuk menjalankan proses Bench di persekitaran terpencil.

sudo adduser bench --home /opt/bench

Berikan sudokebenaran kepada benchpengguna.

sudo usermod -aG sudo bench

Log 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

Pasang Bangku menggunakan pip.

sudo pip install -e bench-repo

Setelah Bench dipasang, teruskan pemasangan ERPNext menggunakan Bench.

Pasang ERPNext menggunakan Bench

Memulakan direktori bangku dengan rangka frappe dipasang. Untuk memastikan semuanya kemas, kami akan bekerja di bawah /opt/benchdirektori. Bangku juga akan menyediakan sandaran biasa dan kemas kini automatik sekali sehari.

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

Buat laman web Frappe baru.

bench new-site erp.example.com

Perintah di atas akan meminta kata laluan root MySQL. Berikan kata laluan yang telah anda tetapkan untuk pengguna root MySQL sebelumnya. Ia juga akan meminta anda menetapkan kata laluan baru untuk akaun pentadbir. Anda memerlukan kata laluan ini kemudian untuk log masuk ke papan pemuka pentadbir .

Muat turun fail pemasangan ERPNext dari repositori git jauh menggunakan Bench.

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

Pasang ERPNext di laman web anda yang baru dibuat.

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

Anda boleh memulakan aplikasi dengan segera untuk memeriksa apakah aplikasi berjaya dipasang.

bench start

Walau bagaimanapun, anda harus menghentikan pelaksanaannya dan melangkah lebih jauh untuk menyiapkan aplikasi untuk penggunaan produksi.

Penyelia Persediaan dan Nginx

Secara lalai, aplikasi ERPNext mendengarkan di port 8000, bukan port HTTP standard 80. Selain itu, menjalankan pelayan web bawaan untuk penggunaan pengeluaran tidak digalakkan kerana kami akan mendedahkan pelayan ke seluruh dunia. Anda harus menggunakan pelayan web pengeluaran sebagai proksi terbalik seperti Apache atau Nginx. Kami akan menggunakan Nginx sebagai proksi terbalik kerana ia dapat dikonfigurasi secara automatik menggunakan Bench. Bangku boleh menghasilkan dan memasang konfigurasi secara automatik mengikut persediaan ERPNext.

Walaupun kami dapat memulakan aplikasi menggunakan perintah 'bench start', pelaksanaan ERPNext akan berhenti sebaik sahaja anda menutup terminal. Untuk mengatasi masalah ini, anda harus menggunakan Penyelia, yang sangat membantu dalam menjalankan aplikasi secara berterusan dalam lingkungan produksi. Penyelia adalah sistem kawalan proses yang membolehkan anda memantau dan mengawal sejumlah proses pada sistem operasi Linux. Setelah Penyelia dikonfigurasi, ia akan memulakan aplikasi secara automatik pada waktu boot dan juga kegagalan. Bangku boleh mengkonfigurasi Penyelia secara automatik untuk aplikasi ERPNext.

Pasang Penyelia.

sudo apt -y install supervisor

Mulakan Penyelia dan aktifkan secara automatik pada waktu boot.

sudo systemctl start supervisor
sudo systemctl enable supervisor

Bangku Persediaan untuk kegunaan pengeluaran.

 sudo bench setup production bench

Perintah di atas mungkin meminta anda sebelum mengganti fail konfigurasi lalai Penyelia yang ada dengan yang baru. Pilih yuntuk meneruskan. Bench menambah sebilangan proses ke fail konfigurasi Penyelia. Perintah di atas juga akan menanyakan kepada anda jika anda ingin mengganti konfigurasi Nginx semasa dengan yang baru. Masukkan yuntuk meneruskan. Setelah Bench selesai memasang konfigurasi, sediakan pengguna lain untuk melaksanakan fail di direktori utama pengguna Bench anda.

chmod o+x /opt/bench/

Anda kini boleh mengakses laman web di http://erp.example.com.

Anda boleh menyemak status proses dengan menjalankan.

sudo supervisorctl status all

Anda mesti 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 memulakan semua proses ERPNext.

sudo supervisorctl start all

Menyiapkan SSL menggunakan Let's Encrypt

Let's Encrypt memberikan sijil SSL percuma kepada pengguna. SSL boleh dipasang secara manual atau automatik melalui Bench. Bangku boleh memasang klien Let's Encrypt secara automatik dan mendapatkan sijil. Selain itu, ia secara automatik mengemas kini konfigurasi Nginx untuk menggunakan sijil.

Nama domain yang anda gunakan untuk mendapatkan sijil dari Let's Encrypt CA mesti dihalakan ke arah pelayan. Pelanggan mengesahkan pihak berkuasa domain sebelum mengeluarkan sijil .

Dayakan DNS multi-tenancy untuk aplikasi ERPNext.

bench config dns_multitenant on

Jalankan Bench untuk menyediakan Let's Encrypt di laman web anda.

sudo bench setup lets-encrypt erp.example.com

Semasa pelaksanaan skrip, klien Let's Encrypt akan meminta anda menghentikan pelayan web Nginx buat sementara waktu. Secara automatik akan memasang pakej yang diperlukan dan klien Let's Encrypt. Pelanggan akan meminta alamat e-mel anda. Anda juga perlu menerima terma dan syarat. Setelah sijil dibuat, Bench juga akan menghasilkan konfigurasi baru untuk Nginx yang menggunakan sijil SSL. Anda akan diminta sebelum mengganti konfigurasi yang ada. Bangku juga membuat crontabentri untuk memperbaharui sijil secara automatik setiap bulan.

Akhirnya, aktifkan penjadual untuk menjalankan tugas yang dijadualkan secara automatik.

bench enable-scheduler

Anda mesti melihat output ini.

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

Kesimpulannya

Setelah proses selesai, anda boleh mengakses aplikasi anda di https://erp.example.com. Log masuk dengan nama pengguna Administratordan kata laluan yang telah anda tetapkan semasa pemasangan. Anda akan dibawa ke meja di mana anda perlu memberikan maklumat untuk menetapkan ERPNext ERP mengikut syarikat anda. Anda kini boleh menggunakan aplikasi untuk menguruskan syarikat anda.

Tahniah, anda telah memasang aplikasi ERPNext yang berfungsi sepenuhnya pada pelayan Ubuntu 17.04 anda.



Leave a Comment

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut