Cara Memasang ERPN Sumber Terbuka ERP di CentOS 7

ERP atau Perancangan Sumber Perusahaan adalah rangkaian aplikasi perusahaan yang digunakan untuk menguruskan proses perniagaan teras. ERPNext adalah aplikasi ERP yang dihoskan sendiri sumber terbuka dan terbuka 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 sehari-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.

Dalam tutorial ini, kami akan memasang ERPNext pada CentOS 7.

Prasyarat

  • Contoh server Vultr CentOS 7.
  • Pengguna sudo .

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.

Kemas kini sistem asas anda menggunakan panduan " Cara Mengemas kini CentOS 7 ". Setelah sistem anda diperbaharui, teruskan memasang Python.

Pasang Alat Pembangunan

ERPNext memerlukan Python versi 2.7 untuk berfungsi. Python 2.7 dipasang secara lalai dalam semua keadaan pelayan CentOS. Anda boleh memeriksa apakah versi Python yang dipasang dengan menjalankan:

python -V

Anda harus mendapat output yang serupa.

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

Walaupun versi Python yang dipasang bukan yang terbaru, ia berfungsi tanpa halangan. Mengubah versi lalai Python boleh mematahkan YUM.

Pasang pakej dalam Development toolskumpulan yang diperlukan untuk menyusun fail pemasang.

sudo yum groupinstall -y "Development tools"

Pasang beberapa lagi kebergantungan:

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

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

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

Perintah di atas akan memasang Pip ke sistem anda. Untuk memastikan bahawa anda mempunyai versi terbaru pipdan setuptools, jalankan:

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

MariaDB adalah garpu pelayan pangkalan data MySQL. Pasang MariaDB dengan menjalankan.

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

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

Mulakan MariaDB dan aktifkan secara automatik pada waktu boot.

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

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

sudo mysql_secure_installation

Anda akan diminta kata laluan root MariaDB semasa. Secara lalai, tidak ada kata laluan root yang ditetapkan pada MariaDB. Tekan kekunci "Enter" untuk meneruskan. Tetapkan kata laluan yang kuat untuk pengguna root pelayan MariaDB anda dan jawab "Y" untuk semua soalan lain yang ditanyakan. Soalan yang diajukan adalah jelas.

Pasang Nginx, Nodejs dan Redis

Oleh kerana repositori EPEL dipasang secara lalai dalam semua keadaan Vultr CentOS 7, anda boleh memasang Redis dan Nginx secara langsung. Tetapi untuk memasang Node.js versi terbaru, anda perlu menambahkan repositori Nodesource ke dalam sistem anda.

Tambahkan repositori Nodesource untuk Node.js 8.x.

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

Pasang Nginx, Nodejs dan Redis:

sudo yum -y install nginx nodejs redis

Mulakan Nginx dan aktifkan pada waktu boot dengan menjalankan:

sudo systemctl start nginx
sudo systemctl enable nginx

Mulakan Redis dan aktifkan pada waktu boot dengan menjalankan:

sudo systemctl start redis
sudo systemctl enable redis

Pasang Penukar PDF

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

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

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

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 menjalankan wkhtmltopdf -Vperintah untuk memeriksa sama ada ia berfungsi, anda akan melihat:

[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 boleh membuat dan mengurus konfigurasi Nginx dan penyelia.

Buat pengguna baru untuk menjalankan proses Bench di persekitaran terpencil.

sudo adduser bench -d /opt/bench

Tukar kata laluan pengguna.

sudo passwd bench

Berikan sudokebenaran kepada benchpengguna.

sudo usermod -aG wheel bench

Log masuk sebagai pengguna yang baru dibuat bench:

sudo su - bench

Klon repositori Bench dalam /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

ERPNext dipasang pada pelayan anda. Anda boleh memulakan aplikasi dengan segera untuk memeriksa apakah aplikasi berjaya dimulakan:

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 pada port 8000, bukan ke port HTTP standard 80. Juga, menjalankan pelayan web bawaan untuk penggunaan pengeluaran tidak digalakkan kerana kami akan mendedahkan pelayan ke seluruh dunia. Oleh itu, anda harus menggunakan pelayan web pengeluaran sebagai proksi terbalik seperti Apache atau Nginx. Dalam tutorial ini, 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 di atas, pelaksanaan ERPNext akan berhenti sebaik sahaja anda menutup terminal. Untuk mengatasi masalah ini, saya sarankan untuk menggunakan Penyelia yang sangat membantu dalam menjalankan aplikasi secara berterusan dalam persekitaran pengeluaran. 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 yum -y install supervisor

Mulakan Penyelia dan aktifkan secara automatik pada waktu boot:

sudo systemctl start supervisord
sudo systemctl enable supervisord

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/

Sekiranya anda menjalankan firewall di pelayan anda, anda perlu mengkonfigurasi firewall untuk menetapkan pengecualian untuk perkhidmatan HTTP. Benarkan Nginx proksi terbalik untuk berhubung dari luar rangkaian.

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

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

Anda boleh menyemak status proses dengan menjalankan:

sudo supervisorctl status all

Anda harus 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 memulakan semua proses ERPNext, gunakan:

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

Awak patut lihat:

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

Mengakhiri

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