Ubuntu 16.04 Üzerinde OroCRM Kurulumu

OroCRM, OroPlatform üzerine kurulmuş ücretsiz ve açık kaynaklı bir Müşteri İlişkileri Yöneticisi (CRM) uygulamasıdır. OroPlatform tamamen özelleştirilebilir açık kaynaklı bir iş uygulama platformu yazılımıdır. OroPlatform, özelleştirilmiş bir uygulama oluşturmak için gereken tüm özellikleri sağlar. OroCRM, PHP Symfony çerçevesi kullanılarak oluşturulmuştur ve verilerini MySQL / MariaDB veritabanı sunucusunda saklamaktadır. Tonlarca özellik sunan, işletmeye hazır bir CRM uygulamasıdır. Ayrıca Magento Store, MailChimp, Zendesk ve daha birçok üçüncü taraf uygulamasıyla entegre olur. Çok dilli ve tamamen duyarlı bir kullanıcı arayüzüne sahip, bu da mobil cihazları kullanarak yönetebilmenizi sağlıyor.

Ön şartlar

Bu öğreticide, crm.example.comsunucuya işaret eden etki alanı adı olarak kullanacağız . İle ilgili tüm tekrarlamaları crm.example.comgerçek alan adınızla değiştirin.

Ubuntu 16.04 Güncelleme kılavuzunu kullanarak temel sisteminizi güncelleyin . Sisteminiz güncellendiğinde, gerekli bağımlılıkları kurmaya devam edin.

Nginx ve PHP 7'yi yükleyin

OroCRM, PHP'yi destekleyen herhangi bir üretim web sunucusuna kurulabilir. OroCRM, PHP'nin 7.0'dan büyük tüm sürümlerini destekler. Bu derste Nginx'i PHP-FPM ve PHP 7.1 ile kullanacağız.

Nginx'i yükleyin.

sudo apt -y install nginx

Nginx'i başlatın ve önyüklemede otomatik olarak başlamasını sağlayın.

sudo systemctl start nginx
sudo systemctl enable nginx

PHP 7.1 varsayılan aptdepoda mevcut değildir . İlk olarak, PHP için PPA deposunu ekleyin.

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php

PHP 7.1'i OroCRM'nin gerektirdiği PHP modülleriyle birlikte yükleyin.

sudo apt update
sudo apt -y install php7.1 php7.1-fpm php7.1-common php7.1-curl php7.1-gd php7.1-intl php7.1-json php7.1-mbstring php7.1-mcrypt php7.1-mysql php7.1-xml php7.1-xml php7.1-zip php7.1-tidy php7.1-soap php7.1-opcache

Yüklenen PHP yapılandırma dosyasını düzenleyin.

sudo nano /etc/php/7.1/cli/php.ini

Aşağıdaki satırları bulun. Gösterildiği gibi açın ve değişiklikler yapın.

date.timezone = Asia/Kolkata
;Replace "Asia/Kolkata" with your appropriate timezone

cgi.fix_pathinfo=0

PHP-FPM'yi başlatın ve önyüklemede başlamasını sağlayın.

sudo systemctl start php7.1-fpm
sudo systemctl enable php7.1-fpm

MariaDB'yi yükleyin

MariaDB, MySQL'in açık kaynaklı bir çatalıdır. MariaDB 10.2 deposunu ekleyin.

sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://kartolo.sby.datautama.net.id/mariadb/repo/10.2/ubuntu xenial main'

MariaDB'yi yükleyin.

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

MariaDB'yi başlatın ve önyüklemede otomatik olarak başlamasını sağlayın.

sudo systemctl start mariadb
sudo systemctl enable mariadb

OroCRM için Veritabanı Oluşturma

MySQL kabuğuna çalıştırarak kök kullanıcı olarak oturum açın.

mysql -u root -p

MariaDB kök kullanıcısının oturum açması için şifreyi girin.

OroCRM yüklemesi için bir veritabanı ve veritabanı kullanıcısı oluşturmak üzere aşağıdaki sorguları çalıştırın.

CREATE DATABASE oro_data;
CREATE USER 'oro_user'@'localhost' IDENTIFIED BY 'StrongPassword';
GRANT ALL PRIVILEGES ON oro_data.* TO 'oro_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Veritabanı adını oro_datave kullanıcı adını istediğiniz gibi değiştirebilirsiniz oro_user. StrongPasswordÇok güçlü bir şifreyle değiştirdiğinizden emin olun .

Node.js ve Composer'ı yükleyin

OroCRM ayrıca Node.js JavaScript çalışma zamanı gerektirir. Node.js, uygulamanın kullanıcı arabirimini oluşturmak için kullanılan JavaScript'i derlemek için OroCRM tarafından kullanılacaktır. Ubuntu'nun varsayılan deposu Node.js'nin eski bir sürümünü içerir, bu nedenle en son sürümü elde etmek için Nodesource deposunu sisteminize eklemeniz gerekir.

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

Node.js ve Git'i yükleyin.

sudo apt -y install nodejs git

Git, OroCRM deposunu internetten klonlamak için kullanılacaktır. Composer'ı da kurmanız gerekir. Composer, PHP uygulamaları için bir bağımlılık yöneticisi aracıdır. OroCRM Symfony çerçevesinde yazıldığından, bağımlılıkları ve uygulamayı kurmak için Composer'a ihtiyacınız olacaktır.

Composer'ı yükleyin.

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php

Composer'ı /usr/bindizinde, sistemin herhangi bir yerinden yürütülebilecek şekilde taşıyın .

sudo mv composer.phar /usr/bin/composer

Besteciye icra izni verin.

sudo chmod +x /usr/bin/composer

OroCRM'yi yükle

OroCRM'yi sunucunuza indirmenin birçok yolu vardır. En güncel sürümü almanın en uygun yolu, depoyu Git üzerinden klonlamaktır.

OroCRM deposunu klonlayın.

cd /usr/share/nginx/
sudo git clone -b 2.4 https://github.com/oroinc/crm-application.git orocrm

Örnek parametersdosyayı parametersOroCRM tarafından kullanılan varsayılan dosyaya kopyalayın.

cd orocrm
sudo cp app/config/parameters.yml.dist  app/config/parameters.yml

Daha fazla ilerlemeden önce, parameters.ymlveritabanı ve e-posta bilgileri sağlamak için dosyayı güncellemeniz gerekir .

sudo nano app/config/parameters.yml

Aşağıdaki satırları bulun.

database_driver:   pdo_mysql
database_host:     127.0.0.1
database_port:     ~
database_name:     oro_crm
database_user:     root
database_password: ~

Yukarıdaki yapılandırmayı OroCRM verilerini depolamak için oluşturduğunuz veritabanına göre güncelleyin. Bizim durumumuzda, böyle görünmelidir.

database_driver:   pdo_mysql
database_host:     127.0.0.1
database_port:     3306
database_name:     oro_data
database_user:     oro_user
database_password: StrongPassword

Hazır bir SMTP sunucunuz varsa ve e-posta gönderme özelliklerini hemen kullanmak istiyorsanız, posta gönderme ayarlarını gösterildiği gibi güncelleyebilirsiniz.

mailer_transport:  smtp
mailer_host:       mail.example.com
mailer_port:       456
mailer_encryption: ssl
mailer_user:       [email protected]
mailer_password:   EMailPassword

Hazır bir posta sunucunuz yoksa, varolan değerleri bırakarak şimdilik atlayabilirsiniz. E-posta yapılandırmasını her zaman gösterge tablosundan değiştirebilirsiniz.

secretDeğiştirerek rastgele bir dize ayarlayın ThisTokenIsNotSoSecretChangeIt. Oturum verilerini kodlamak için rastgele bir dize gerekir. Örnek bir dize şöyle görünecektir.

secret:            uxvpXHhDxCFc9yU1hV1fMwjSoyVUzGh4WBMBBBa3XEgrRUF5OuB2h8iNl9JRDqcd

pwgenYardımcı programı kullanarak rastgele bir dize oluşturabilirsiniz . Yükleme pwgençalıştırarak sudo apt -y install pwgen. Rastgele bir dize oluşturmak için çalıştırın pwgen -s 64 1.

Dosyayı kaydedin ve editörden çıkın. Composer aracılığıyla gerekli PHP bağımlılıklarını kurun.

sudo composer install --prefer-dist --no-dev

--no-devBunu kullanmak Composer'ın yalnızca web sunucusunu üretim modunda çalıştırmak için gereken bağımlılıkları yüklemesini sağlar. Komut dosyasının gerekli PHP bağımlılıklarını indirmesi ve yüklemesi birkaç dakika sürecektir.

Uygulamayı yükleyin.

sudo php app/console oro:install --env=prod

Bu, web önbelleğini oluşturur ve veritabanını yazar. --env=prodParametre üretim modunda uygulamayı yüklemek için sağlanmıştır. Yükleme yalnızca gerekli tüm bağımlılıklar yüklendiyse ve yapılandırıldıysa devam eder.

Yükleme sırasında, yönetici hesabını ayarlamanız için birkaç soru sorulacaktır. Sorular aşağıdaki gibidir.

Administration setup.
Application URL (http://localhost): http://crm.example.com
Organization name (OroCRM): My Org
Username (admin): admin
Email: [email protected]
First name: John
Last name: Doe
Password:
Load sample data (y/n): y

Bilgileri sağlayın. Ürünü üretim için kullanmadan önce değerlendirmek için örnek verileri yükleyin.

API dokümanları önbelleğini ısıtın:

sudo php app/console oro:api:doc:cache:clear

Nginx, Güvenlik Duvarı ve İzinleri Yapılandırma

Uygulamayı kullanıcılara sunmak için bir Nginx sunucu blok dosyası oluşturun.

sudo nano /etc/nginx/sites-available/orocrm

Dosyayı doldurun.

server {
    server_name crm.example.com;
    root  /usr/share/nginx/orocrm/web;

    location / {
        # try to serve file directly, fallback to app.php
        try_files $uri /app.php$is_args$args;
    }

    location ~ ^/(app|app_dev|config|install)\.php(/|$) {
        fastcgi_pass unix:/run/php/php7.1-fpm.sock;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param HTTPS off;
    }

    # Enable Gzip compression
    gzip on;
    gzip_buffers 16 8k;
    gzip_comp_level 5;
    gzip_disable "msie6";
    gzip_min_length 1000;
    gzip_http_version 1.0;
    gzip_proxied any;
    gzip_types text/plain application/javascript application/x-javascript text/javascript text/xml text/css image/svg+xml;
    gzip_vary on;    

    # Enable browser caching
    # One week for javascript and css
     location ~* \.(?:css|js) {
       expires 1w;
       access_log off;
       add_header Cache-Control public;
     }

     # Three weeks for media: images, fonts, icons, video, audio etc.
     location ~* \.(?:jpg|jpeg|gif|png|ico|tiff|woff|eot|ttf|svg|svgz|mp4|ogg|ogv|webm|swf|flv)$ {
       expires 3w;
       access_log off;
       add_header Cache-Control public;
     }

    error_log /var/log/nginx/orocrm_error.log;
    access_log /var/log/nginx/orocrm_access.log;
}

crm.example.comAlan adını gerçek alan adınızla değiştirdiğinizden emin olun . Yukarıdaki yapılandırma ayrıca GZip sıkıştırması ve tarayıcı önbelleği için gereken yapılandırmayı içerir. Gzip sıkıştırması, verileri tarayıcıya göndermeden önce sıkıştırır. Tarayıcı önbelleğe almayı etkinleştirmek, statik kaynakları istemci bilgisayarın web önbelleğine depolar. Kullanıcı siteye bir sonraki erişiminde, statik içeriğin çoğu kullanıcının kendi web önbelleğinden yüklenir. Bu iki yöntem uygulamanın hızını önemli ölçüde artırır.

Siteyi etkinleştirin.

sudo ln -s /etc/nginx/sites-available/orocrm /etc/nginx/sites-enabled/orocrm

Nginx yapılandırma dosyasında hata olup olmadığını kontrol edin.

sudo nginx -t

Çıktı aşağıdaki gibi görünmelidir.

user@vultr:/usr/share/nginx/orocrm$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Nginx kullanıcısına OroCRM dosyalarının sahipliğini sağlayın.

sudo chown -R www-data:www-data /usr/share/nginx/orocrm

Yeni yapılandırmayı uygulamak için Nginx'i yeniden başlatın.

sudo systemctl restart nginx

Artık uygulamaya adresinden erişebilirsiniz http://crm.example.com. Yönetici kullanarak oturum açın usernameve passwordyükleme sırasında belirledik.

Zamanlanmış Görevleri ve Arka Plan İşlerini Ayarlama

Zamanlanan görevleri otomatik olarak çalıştırmak için bir Cron iş girişi ekleyebilirsiniz. Aç crontab.

sudo crontab -e

Aşağıdaki satırı dosyaya ekleyin.

*/1 * * * * /usr/bin/php /usr/share/nginx/orocrm/app/console oro:cron --env=prod > /dev/null

Bu, e-posta kuyrukları gibi zamanlanmış görevlerin en erken işlenmesi için her dakika cron işini çalıştırır.

Message Queue hizmetini çalıştırmak için Süpervizör kurmanız da gerekecektir. Bir tüketicinin mesajları işlemesi için her zaman en az bir işlemin yürütülmesi gerekir. Bir tüketici normalde mesaj sürecini birçok yolla kesebilir. Hizmetin sürekli çalıştığından emin olmak için Süpervizör hizmetini kullanacağız. Süpervizörü dört süreci paralel çalıştıracak şekilde yapılandıracağız. Dört işlemden herhangi biri herhangi bir nedenle durdurulursa, Süpervizör yeniden başlatmayı dener.

Süpervizörü kurun.

sudo apt -y install supervisor

Yeni bir Yönetici yapılandırma dosyası oluşturun.

sudo nano /etc/supervisor/conf.d/orocrm.conf

Aşağıdaki satırları dosyaya ekleyin.

[program:oro_message_consumer]
command=/usr/bin/php /usr/share/nginx/orocrm/app/console --env=prod --no-debug oro:message-queue:consume
process_name=%(program_name)s_%(process_num)02d
numprocs=4
autostart=true
autorestart=true
startsecs=0
user=www-data
redirect_stderr=true

Süpervizörün açılışta otomatik olarak başlamasını başlatın ve etkinleştirin.

sudo systemctl restart supervisor
sudo systemctl enable supervisor

Aşağıdakileri çalıştırarak işlemlerin durumunu görüntüleyebilirsiniz.

sudo supervisorctl status

İşlemlerin çalıştığını görmelisiniz.

user@vultr:/usr/share/nginx/orocrm$ sudo supervisorctl status
oro_message_consumer:oro_message_consumer_00   RUNNING   pid 20809, uptime 0:00:01
oro_message_consumer:oro_message_consumer_01   RUNNING   pid 20808, uptime 0:00:01
oro_message_consumer:oro_message_consumer_02   RUNNING   pid 20807, uptime 0:00:01
oro_message_consumer:oro_message_consumer_03   RUNNING   pid 20806, uptime 0:00:01

OroCRM artık sunucunuza yüklenmiştir. Artık uygulamayı kuruluşunuzun rutin görevlerini yönetmek için kullanabilirsiniz. OroCRM hakkında daha fazla bilgi edinmek için resmi web sitesini ziyaret edebilirsiniz .



Leave a Comment

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

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.

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.

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.

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?

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.

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun