Ubuntu 17.04 Üzerinde ERPNext Açık Kaynak ERP Kurulumu

ERP veya Kurumsal Kaynak Planlaması, temel iş süreçlerini yönetmek için kullanılan bir kurumsal uygulama paketidir. ERPNext, Python'da yazılmış ücretsiz ve açık kaynaklı, kendi kendine barındırılan bir ERP uygulamasıdır. Ön uç için Node.js ve verilerini depolamak için MariaDB kullanır. ERPNext işletmelerin günlük görevleri yönetmesine olanak sağlayan kullanımı kolay bir web arayüzü sağlar. Muhasebe, CRM, HRM, üretim, POS, proje yönetimi, satın alma, satış yönetimi, depo yönetimi ve daha fazlası için modüller içerir. ERPNext, servis sağlayıcılar, imalat, perakende ve okullar gibi farklı endüstrileri yönetmek için kullanılabilir.

Ön şartlar

Not: Bu eğitimde, erp.example.comsunucuya işaret eden alan adı olarak kullanılacaktır . Lütfen tüm oluşumlarını erp.example.comgerçek alan adınızla değiştirdiğinizden emin olun .

Başlamadan önce sunucunuzun güncel olduğundan emin olun.

sudo apt update
sudo apt -y upgrade

Geliştirme Araçlarını Yükleyin

ERPNext çalışmak için Python sürüm 2.7'ye ihtiyaç duyar. Python 2.7'yi yükleyin.

sudo apt -y install python-minimal

Sürümünü doğrulayabilmeniz gerekir.

python -V

Aşağıdaki çıktıyı göreceksiniz.

user@vultr:~$ python -V
Python 2.7.13

Birkaç bağımlılık daha yükleyin.

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

Python'un piparacını yükleyin . Pip, Python paketleri için bağımlılık yöneticisidir.

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

Eğer en son sürümüne sahip olduğundan emin olun pipve setuptools.

sudo pip install --upgrade pip setuptools

Pip kullanarak Ansible'ı kurun. Ansible, yazılım sağlama, yapılandırma yönetimi ve uygulama dağıtımını otomatikleştirir.

sudo pip install ansible

MariaDB Sunucusunu Yükleyin

MariaDB deposunu sisteme ekleyin.

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'

MariaDB'yi yükleyin.

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

Sorulduğunda MariaDB kök kullanıcısı için güçlü bir parola sağlayın.

ERPNext veritabanlarının oluşturulması için Barracuda depolama motoru gereklidir, bu nedenle MariaDB'yi Barracuda depolama motorunu kullanacak şekilde yapılandırmanız gerekir. Varsayılan MariaDB yapılandırma dosyasını düzenleyin my.cnf.

sudo nano /etc/mysql/my.cnf

[mysqld]Satırın altına aşağıdaki satırları ekleyin .

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

Ayrıca, satırın altına aşağıdaki satırı ekleyin [mysql].

default-character-set = utf8mb4

MariaDB'yi yeniden başlatın ve önyükleme zamanında otomatik olarak başlamasını sağlayın.

sudo systemctl restart mariadb
sudo systemctl enable mariadb

Veritabanını yapılandırmadan önce MariaDB'yi güvence altına almanız gerekir. mysql_secure_installationKomut dosyasını çalıştırarak güvenli hale getirebilirsiniz .

sudo mysql_secure_installation

Geçerli MariaDB kök parolasını girmeniz istenecektir. Kurulum sırasında belirlediğiniz şifreyi girin. MariaDB sunucunuzun kök kullanıcısının mevcut şifresini değiştirmek isteyip istemediğiniz sorulacaktır. Kurulum sırasında güçlü bir parola sağladığınız için yeni bir parola belirlemeyi atlayabilirsiniz. Sorulan tüm diğer sorulara "Y" yanıtını verin.

Nginx, Node.js ve Redis'i yükleyin

Node.js 8.x için Nodesource deposunu ekleyin.

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

Nginx, Node.js ve Redis'i yükleyin.

sudo apt -y install nginx nodejs redis-server

Nginx'i başlatın ve önyükleme zamanında başlamasını sağlayın.

sudo systemctl start nginx
sudo systemctl enable nginx

Redis'i başlatın ve önyükleme zamanında başlamasını sağlayın.

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

PDF Dönüştürücüyü Yükle

wkhtmltopdfProgram QT Webkit render motorunu kullanarak PDF içine bir komut satırı aracı dönüştüren HTML. Gerekli bağımlılıkları yükleyin.

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

Uygulamasının en son sürümünü indirin wkhtmltopdf.

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

Arşivi çıkartın.

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

Yukarıdaki komut arşivi ayıklayacaktır /opt/wkhtmltox. Böylece sembolik bağ oluşturun wkhtmltopdfve wkhtmltoimagekomut olarak küresel çalıştırılabilir.

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

Artık wkhtmltopdf -Vçalışıp çalışmadığını kontrol etmek için koşabilirsiniz , bunu göreceksiniz.

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

Bu noktada, gerekli tüm bağımlılıklar kurulu. Şimdi Tezgahı kurmaya devam edebilirsiniz.

Tezgahı Yükle

Benchhem geliştirme hem de üretim amaçları için ERPNext uygulamasını Unix tabanlı bir sisteme kurmak ve yönetmek için Frappe tarafından sağlanan bir komut satırı yardımcı programıdır. Bench ayrıca Nginx ve süpervizör yapılandırmalarını da oluşturabilir ve yönetebilir.

İzole edilmiş ortamda Tezgah işlemlerini çalıştırmak için yeni bir kullanıcı oluşturun.

sudo adduser bench --home /opt/bench

Kullanıcıya sudoizinler verin bench.

sudo usermod -aG sudo bench

Yeni oluşturulan benchkullanıcı olarak giriş yapın.

sudo su - bench

Tezgah deposunu klonlayın /opt/bench.

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

Tezgahı kullanarak kurun pip.

sudo pip install -e bench-repo

Tezgah kurulduktan sonra, Tezgahı kullanarak ERPNext kurulumuna devam edin.

Tezgahı kullanarak ERPNext kurulumu

Frappe çerçevesi kurulu bir tezgah dizini başlatın. Her şeyi düzenli tutmak için /opt/benchdizinin altında çalışacağız . Bench ayrıca günde bir kez düzenli yedeklemeler ve otomatik güncellemeler ayarlayacaktır.

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

Yeni bir Frappe sitesi oluşturun.

bench new-site erp.example.com

Yukarıdaki komut MySQL kök parolasını girmenizi ister. Daha önce MySQL kök kullanıcısı için belirlediğiniz şifreyi girin. Ayrıca yönetici hesabı için yeni bir şifre belirlemenizi ister. Daha sonra yönetici kontrol paneline giriş yapmak için bu şifreye ihtiyacınız olacaktır .

Bench kullanarak uzak git deposundan ERPNext kurulum dosyalarını indirin.

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

ERPNext'i yeni oluşturulan sitenize yükleyin.

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

Uygulamanın başarıyla yüklenip yüklenmediğini kontrol etmek için uygulamayı hemen başlatabilirsiniz.

bench start

Ancak, yürütmeyi durdurmalı ve uygulamayı üretim kullanımı için kurmaya devam etmelisiniz.

Kurulum Süpervizörü ve Nginx

Varsayılan olarak, ERPNext uygulaması 8000standart HTTP bağlantı noktasını değil bağlantı noktasını dinler 80. Ayrıca, sunucuyu dünyaya tanıtacağımız için yerleşik web sunucusunun üretim kullanımı için kullanılması önerilmez. Bir üretim web sunucusunu Apache veya Nginx gibi ters proxy olarak kullanmalısınız. Tezgah kullanılarak otomatik olarak yapılandırılabileceğinden, Nginx'i ters proxy olarak kullanacağız. Tezgah, ERPNext kurulumuna göre konfigürasyonu otomatik olarak oluşturabilir ve kurabilir.

Uygulamayı 'bench start' komutunu kullanarak başlatabilsek de, ERPNext'in çalıştırılması terminali kapatır kapatmaz duracaktır. Bu sorunun üstesinden gelmek için, uygulamayı sürekli olarak bir üretim ortamında çalıştırmakta çok yardımcı olan Süpervizör'ü kullanmalısınız. Supervisor, Linux işletim sistemlerindeki bir dizi işlemi izlemenizi ve kontrol etmenizi sağlayan bir süreç kontrol sistemidir. Süpervizör yapılandırıldıktan sonra, uygulama açılışta ve hatalarda otomatik olarak başlatılır. Tezgah, ERPNext uygulaması için Süpervizörü otomatik olarak yapılandırabilir.

Süpervizörü kurun.

sudo apt -y install supervisor

Süpervizörü başlatın ve önyükleme zamanında otomatik olarak başlamasını sağlayın.

sudo systemctl start supervisor
sudo systemctl enable supervisor

Üretim kullanımı için tezgah kurulumu.

 sudo bench setup production bench

Yukarıdaki komut, mevcut Yönetici varsayılan yapılandırma dosyasını yenisiyle değiştirmeden önce sizi uyarabilir. Devam yetmeyi seçin . Tezgah, Süpervizör yapılandırma dosyasına bir dizi işlem ekler. Yukarıdaki komut ayrıca geçerli Nginx yapılandırmasını yenisiyle değiştirmek isteyip istemediğinizi de soracaktır. Devam yetmek için girin . Bench yapılandırmayı kurmayı tamamladıktan sonra, diğer kullanıcılara Bench kullanıcısının ana dizininizdeki dosyaları yürütmelerini sağlayın.

chmod o+x /opt/bench/

Artık siteye adresinden erişebilirsiniz http://erp.example.com.

İşlemlerin durumunu çalıştırarak kontrol edebilirsiniz.

sudo supervisorctl status all

Aşağıdaki çıktıyı görmelisiniz.

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

Tüm ERPNext işlemlerini durdurmak için.

sudo supervisorctl stop all

Tüm ERPNext işlemlerini başlatmak için.

sudo supervisorctl start all

Let's Encrypt kullanarak SSL kurma

Let's Encrypt kullanıcılara ücretsiz SSL sertifikaları sağlar. SSL, Tezgah üzerinden manuel veya otomatik olarak kurulabilir. Bench, Let's Encrypt istemcisini otomatik olarak kurabilir ve sertifikaları alabilir. Ayrıca, sertifikaları kullanmak için Nginx yapılandırmasını otomatik olarak güncelleştirir.

Let's Encrypt CA'dan sertifika almak için kullandığınız etki alanı adı sunucuya yönlendirilmelidir. İstemci, sertifikaları vermeden önce etki alanı yetkilisini doğrular .

ERPNext uygulaması için DNS çoklu kiracılığını etkinleştirin.

bench config dns_multitenant on

Sitenizde Şifrelenelim'i ayarlamak için Bench'i çalıştırın.

sudo bench setup lets-encrypt erp.example.com

Komut dosyasının yürütülmesi sırasında, Let's Encrypt istemcisi sizden Nginx web sunucusunu geçici olarak durdurmanızı isteyecektir. Gerekli paketleri ve Let's Encrypt istemcisini otomatik olarak yükleyecektir. İstemci sizden e-posta adresinizi ister. Ayrıca şartlar ve koşulları da kabul etmeniz gerekir. Sertifikalar oluşturulduktan sonra Bench, Nginx için SSL sertifikalarını kullanan yeni yapılandırmayı da üretecek. Mevcut yapılandırmayı değiştirmeden önce sizden istenecektir. Bench ayrıca crontabsertifikaları her ay otomatik olarak yenilemek için bir giriş oluşturur .

Son olarak, zamanlayıcıyı zamanlanan işleri otomatik olarak çalıştıracak şekilde etkinleştirin.

bench enable-scheduler

Bu çıktıyı görmelisiniz.

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

Sonuç

İşlem bittiğinde, uygulamanıza adresinden erişebilirsiniz https://erp.example.com. AdministratorYükleme sırasında belirlediğiniz kullanıcı adı ve parola ile oturum açın. ERPNext ERP'yi şirketinize göre ayarlamak için bilgi vermeniz gereken masaya yönlendirileceksiniz. Artık uygulamayı şirketinizi yönetmek için kullanabilirsiniz.

Tebrikler, Ubuntu 17.04 sunucunuzda tam olarak çalışan bir ERPNext uygulamanız var.

Yorum bırak

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7 üzerinde LibreNMS kullanarak ağ cihazlarınızı etkili bir şekilde izleyin. Ağ izleme için gerekli adımları ve yapılandırmaları öğrenin.

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive sunucusu kurmak için gerekli adımlar. Gerekli araçlar ve yükleme süreci hakkında bilgi.

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

OpenNMS, çok sayıda cihazı izlemek ve yönetmek için kullanılabilen bir açık kaynak ağ yönetim platformudur. Ubuntu 16.04 LTS üzerinde OpenNMS kurulumu için tüm adımları keşfedin.

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Farklı Bir Sistem mi Kullanıyorsunuz? LibreNMS tam özellikli bir açık kaynak ağ izleme sistemidir.

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.