نحوه نصب ERPNext منبع باز ERP در CentOS 7

ERP یا برنامه ریزی منابع سازمانی یک مجموعه برنامه سازمانی است که برای مدیریت فرایندهای اصلی تجارت مورد استفاده قرار می گیرد. ERPNext برنامه ERP خود میزبان آزاد و منبع باز است که در پایتون نوشته شده است. از Node.js برای قسمت جلویی و MariaDB برای ذخیره داده های خود استفاده می کند. ERPNext یک رابط وب با کاربرد آسان ارائه می دهد که به مشاغل اجازه می دهد کارهای روزانه را مدیریت کنند. این شامل ماژول های حسابداری ، CRM ، HRM ، ساخت ، POS ، مدیریت پروژه ، خرید ، مدیریت فروش ، مدیریت انبار و موارد دیگر می باشد. ERPNext می تواند برای مدیریت صنایع مختلف مانند ارائه دهندگان خدمات ، تولید ، خرده فروشی و مدارس استفاده شود.

در این آموزش ERPNext را روی CentOS 7 نصب خواهیم کرد.

پیش نیازها

برای این آموزش از ما به erp.example.comعنوان نام دامنه اشاره شده به سرور استفاده خواهیم کرد. لطفاً مطمئن شوید که همه erp.example.comموارد را با نام دامنه واقعی خود جایگزین کنید.

سیستم پایه خود را با استفاده از راهنمای " چگونه به روز کنیم CentOS 7 " به روز کنید . پس از به روزرسانی سیستم ، اقدام به نصب پایتون کنید.

ابزارهای توسعه را نصب کنید

ERPNext برای کار به نسخه پایتون 2.7 نیاز دارد. Python 2.7 بطور پیش فرض در تمام موارد سرور CentOS نصب شده است. می توانید نسخه نصب شده پایتون را با اجرای آن بررسی کنید:

python -V

شما باید خروجی مشابه را بدست آورید.

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

گرچه نسخه نصب شده پایتون جدیدترین نیست ، اما بدون دردسر کار می کند. تغییر نسخه پیش فرض پایتون ممکن است YUM را خراب کند.

بسته ها را در Development toolsگروه مورد نیاز برای تهیه فایل های نصب نصب کنید.

sudo yum groupinstall -y "Development tools"

چند وابستگی دیگر را نصب کنید:

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

pipابزار Python را نصب کنید . Pip مدیر وابستگی بسته های پایتون است.

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

دستور فوق Pip را روی سیستم شما نصب می کند. برای اطمینان از آخرین نسخه pipو setuptoolsاجرای آن:

sudo pip install --upgrade pip setuptools

Ansible را با استفاده از Pip نصب کنید. Ansable خودکار تهیه نرم افزار ، مدیریت پیکربندی و استقرار برنامه ها است.

sudo pip install ansible

سرور MariaDB را نصب کنید

MariaDB یک چنگال از سرور پایگاه داده MySQL است. با اجرای برنامه MariaDB نصب کنید.

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

موتور ذخیره سازی Barracuda برای ایجاد پایگاه های داده ERPNext مورد نیاز است ، از این رو برای استفاده از موتور ذخیره سازی Barracuda باید پیکربندی MariaDB را انجام دهید. پرونده پیش فرض پیکربندی MariaDB را ویرایش کنید my.cnf.

sudo nano /etc/my.cnf

خطوط زیر را زیر symbolic-links=0خط اضافه کنید.

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

MariaDB را شروع کنید و آن را فعال کنید تا به طور خودکار در زمان بوت شروع شود.

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

قبل از پیکربندی پایگاه داده ، باید MariaDB را ایمن کنید. می توانید با اجرای mysql_secure_installationاسکریپت آن را ایمن کنید :

sudo mysql_secure_installation

از شما گذرواژه اصلی rootDD MariaDB خواسته می شود. به طور پیش فرض ، هیچ رمز عبور اصلی روی MariaDB تنظیم نشده است. برای ادامه ، کلید "Enter" را فشار دهید. یک رمز عبور قوی برای کاربر اصلی سرور MariaDB خود تنظیم کنید و به همه سؤالات دیگری که پرسیده می شود "Y" پاسخ دهید. سؤالاتی که پرسیده می شود ، خود توضیح است.

Nginx ، Nodejs و Redis را نصب کنید

از آنجا که مخزن EPEL بطور پیش فرض در کلیه نمونه های Vultr CentOS 7 نصب شده است ، می توانید مستقیماً Redis و Nginx را نصب کنید. اما برای نصب آخرین نسخه Node.js ، باید مخزن Nodesource را به سیستم خود اضافه کنید.

مخزن Nodesource را برای Node.js 8.x اضافه کنید.

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

Nginx ، Nodejs و Redis را نصب کنید:

sudo yum -y install nginx nodejs redis

Nginx را شروع کنید و آن را فعال کنید تا در زمان راه اندازی با اجرای آن شروع شود:

sudo systemctl start nginx
sudo systemctl enable nginx

Redis را شروع کرده و آن را فعال کنید تا در زمان بوت شدن با اجرای آن شروع شود:

sudo systemctl start redis
sudo systemctl enable redis

PDF PDF را نصب کنید

این wkhtmltopdfبرنامه یک ابزار خط فرمان است که با استفاده از موتور ارائه دهنده QT Webkit ، HTML را به PDF تبدیل می کند. وابستگی های مورد نیاز را نصب کنید:

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

آخرین نسخه را بارگیری کنید wkhtmltopdf.

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

با اجرای بایگانی استخراج کنید:

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

دستور فوق بایگانی را به استخراج می کند /opt/wkhtmltox. درست softlink به طوری که wkhtmltopdfو wkhtmltoimageمی توان سطح جهان به عنوان یک دستور اجرا.

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

اکنون می توانید wkhtmltopdf -Vدستورالعمل را اجرا کنید تا بررسی کنید که آیا این در حال کار است ، خواهید دید:

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

در این مرحله ، همه وابستگی های لازم را نصب کرده ایم. اکنون می توانید Bench را نصب کنید.

نیمکت را نصب کنید

Benchیک ابزار خط فرمان است که توسط Frappe برای نصب و مدیریت برنامه ERPNext در یک سیستم مبتنی بر یونیکس برای اهداف توسعه و تولید تولید شده است. نیمکت همچنین می تواند Nginx و پیکربندی ناظر را ایجاد و مدیریت کند.

برای اجرای فرایندهای بنچ در محیط ایزوله ، یک کاربر جدید ایجاد کنید.

sudo adduser bench -d /opt/bench

رمزعبور کاربر را تغییر دهید.

sudo passwd bench

ارائه sudoمجوز به benchکاربران.

sudo usermod -aG wheel bench

به عنوان benchکاربر تازه ایجاد شده وارد شوید:

sudo su - bench

مخزن بنچ را کلون کنید /opt/bench:

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

بنچ را با استفاده از نصب کنید pip.

sudo pip install -e bench-repo

پس از نصب بنچ ، ERPNext را با استفاده از Bench نصب کنید.

ERPNext را با استفاده از Bench نصب کنید

یک دایرکتوری نیمکت را با فریم نصب شده در ابتدا شروع کنید. برای مرتب نگه داشتن همه چیز ، ما در زیر /opt/benchفهرست کار خواهیم کرد . نیمکت همچنین یکبار در روز پشتیبان گیری های منظم و به روزرسانی های خودکار را تنظیم می کند.

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

یک سایت جدید Frappe ایجاد کنید:

bench new-site erp.example.com

دستور فوق شما را برای رمزعبور ریشه MySQL فوراً می کند. رمز عبوری را که قبلاً برای کاربر ریشه MySQL تعیین کرده اید تهیه کنید. همچنین از شما می خواهد یک رمز ورود جدید برای حساب سرپرست تنظیم کنید. بعداً برای ورود به داشبورد سرپرست به این رمز عبور نیاز خواهید داشت.

فایل های نصب ERPNext را از مخزن راه دور git با استفاده از Bench بارگیری کنید.

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

ERPNext را در سایت تازه ایجاد شده خود نصب کنید:

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

ERPNext روی سرور شما نصب شده است. می توانید بلافاصله برنامه را شروع کنید تا بررسی کنید آیا برنامه با موفقیت شروع شده است:

bench start

با این حال ، شما باید اجرای این کار را متوقف کرده و مراحل بعدی را برای تنظیم برنامه استفاده از تولید ادامه دهید.

سرپرست راه اندازی و Nginx

به طور پیش فرض ، برنامه ERPNext به پورت 8000 گوش می دهد ، نه به پورت استاندارد HTTP 80. همچنین اجرای سرور داخلی برای استفاده در تولید ، توصیه نمی شود زیرا ما سرور را در معرض دید جهانی قرار خواهیم داد. از این رو ، شما باید از یک وب سرور تولیدی به عنوان پراکسی معکوس مانند Apache یا Nginx استفاده کنید. در این آموزش از Nginx به عنوان یک پروکسی معکوس استفاده خواهیم کرد زیرا می توان آن را به صورت اتوماتیک با استفاده از Bench تنظیم کرد. بنچ می تواند به طور خودکار تنظیمات را مطابق با تنظیم ERPNext تولید و نصب کند.

اگرچه می توانیم با استفاده از دستور فوق برنامه را شروع کنیم ، به محض بستن ترمینال ، اجرای ERPNext متوقف می شود. برای رفع این مشکل ، توصیه می کنم از Supervisor استفاده کنید که برای اجرای مداوم برنامه در یک محیط تولید بسیار مفید است. Supervisor یک سیستم کنترل فرآیند است که به شما امکان می دهد تعدادی از فرایندها را روی سیستم عامل های لینوکس کنترل و کنترل کنید. پس از پیکربندی Supervisor ، به طور خودکار برنامه را در زمان بوت و همچنین خرابی ها شروع می کند. نیمکت می تواند به طور خودکار Supervisor را برای برنامه ERPNext پیکربندی کند.

نصب سرپرست:

sudo yum -y install supervisor

Supervisor را شروع کنید و آن را فعال کنید تا به طور خودکار در زمان بوت شروع شود:

sudo systemctl start supervisord
sudo systemctl enable supervisord

میز تنظیم برای استفاده:

 sudo bench setup production bench

دستور فوق ممکن است قبل از اینکه فایل پیکربندی پیش فرض Supervisor موجود را با یک نسخه جدید جایگزین کنید ، شما را فوراً می کند. yبرای ادامه انتخاب کنید نیمکت تعدادی پروسه را به پرونده پیکربندی Supervisor اضافه می کند. دستور فوق همچنین از شما سؤال می کند که آیا می خواهید پیکربندی فعلی Nginx را با یک دستور جدید جایگزین کنید. yبرای ادامه کار وارد شوید هنگامی که Bench نصب پیکربندی را به پایان رساند ، سایر کاربران را برای اجرای پرونده ها در فهرست خانه شما کاربر Bench ارائه دهید.

chmod o+x /opt/bench/

اگر فایروال را در سرور خود اجرا می کنید ، برای تنظیم یک استثناء برای سرویس HTTP ، باید فایروال را پیکربندی کنید. اجازه دهید پروکسی معکوس Nginx از خارج از شبکه متصل شود.

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

اکنون می توانید به سایت دسترسی داشته باشید http://erp.example.com.

با اجرای برنامه می توانید وضعیت پردازش ها را بررسی کنید:

sudo supervisorctl status all

باید خروجی زیر را مشاهده کنید:

[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

برای متوقف کردن همه مراحل ERPNext ، از موارد زیر استفاده کنید:

sudo supervisorctl stop all

برای شروع کلیه مراحل ERPNext ، از موارد زیر استفاده کنید:

sudo supervisorctl start all

تنظیم SSL با استفاده از Let Encrypt

بیایید رمزگذاری گواهینامه های SSL رایگان را به کاربران ارائه می دهد. SSL را می توان به صورت دستی یا خودکار از طریق Bench نصب کرد. بنچ می تواند به طور خودکار مشتری Let Encrypt را نصب کرده و گواهینامه ها را بدست آورد. علاوه بر این ، به طور خودکار پیکربندی Nginx را برای استفاده از گواهینامه ها به روز می کند.

نام دامنه ای که شما برای به دست آوردن گواهینامه ها از Let Let Encrypt CA استفاده می کنید باید به سمت سرور مشخص شود. مشتری قبل از صدور گواهینامه ، اعتبار دامنه را تأیید می کند.

چند اجاره DNS را برای برنامه ERPNext فعال کنید.

bench config dns_multitenant on

بنچ را اجرا کنید تا بیایید در سایت خود رمزگذاری کنیم:

sudo bench setup lets-encrypt erp.example.com

در حین اجرای اسکریپت ، مشتری Let Encrypt از شما می خواهد که به طور موقت سرور وب Nginx را متوقف کنید. به طور خودکار بسته های مورد نیاز و Let's Encrypt مشتری را نصب می کند. مشتری آدرس ایمیل شما را فوراً می کند. شما همچنین باید شرایط و ضوابط را بپذیرید. پس از تولید گواهینامه ها ، Bench همچنین پیکربندی جدیدی را برای Nginx تولید می کند که از گواهینامه های SSL استفاده می کند. قبل از تعویض پیکربندی موجود از شما سؤال خواهد شد. بنچ همچنین crontabورودی را برای تازه کردن خودکار گواهینامه ها در هر ماه ایجاد می کند.

در آخر ، برنامه ریز را قادر سازید تا به طور خودکار کارهای برنامه ریزی شده را انجام دهد:

bench enable-scheduler

باید ببینی:

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

بسته بندی کردن

پس از اتمام مراحل ، می توانید به برنامه خود دسترسی داشته باشید https://erp.example.com. با نام کاربری Administratorو رمز عبوری که در حین نصب تنظیم کرده اید وارد شوید. شما به میز کاری منتقل می شوید که برای تهیه ERPNext ERP مطابق شرکت خود ، باید اطلاعاتی را تهیه کنید. اکنون می توانید از این برنامه برای مدیریت شرکت خود استفاده کنید.

تبریک می گویم ، شما یک برنامه ERPNext کاملاً در حال کار روی سرور CentOS 7 خود نصب کرده اید.

یک نظر بگذارید

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

اشتراک NFS را در Debian تنظیم کنید

اشتراک NFS را در Debian تنظیم کنید

NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.

نحوه نصب Matomo Analytics در Fedora 28

نحوه نصب Matomo Analytics در Fedora 28

با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o

یک سرور TeamTalk را در لینوکس تنظیم کنید

یک سرور TeamTalk را در لینوکس تنظیم کنید

TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th

نحوه نصب انجمن NodeBB در FreeBSD 12

نحوه نصب انجمن NodeBB در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB

نحوه نصب Ranger Terminal File Manager در لینوکس

نحوه نصب Ranger Terminal File Manager در لینوکس

رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد

نصب و راه اندازی ZNC در اوبونتو

نصب و راه اندازی ZNC در اوبونتو

ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.