วิธีการติดตั้ง OroCRM บน Ubuntu 16.04

OroCRM เป็นแอปพลิเคชัน Customer Relationship Manager (CRM) ที่ให้บริการฟรีและโอเพนซอร์สที่สร้างขึ้นบน OroPlatform OroPlatform เป็นซอฟต์แวร์แพลตฟอร์มแอปพลิเคชันทางธุรกิจแบบโอเพ่นซอร์สที่ปรับแต่งได้อย่างสมบูรณ์ OroPlatform ให้คุณสมบัติทั้งหมดที่จำเป็นสำหรับการสร้างแอปพลิเคชันที่กำหนดเอง OroCRM สร้างขึ้นโดยใช้กรอบ PHP Symfony และเก็บข้อมูลไว้ในเซิร์ฟเวอร์ฐานข้อมูล MySQL / MariaDB มันเป็นแอพพลิเคชั่น CRM ระดับองค์กรที่ให้คุณสมบัติมากมาย นอกจากนี้ยังทำงานร่วมกับแอปพลิเคชันบุคคลที่สามจำนวนมากเช่น Magento Store, MailChimp, Zendesk และอีกมากมาย มันเป็นหลายภาษาและมีส่วนต่อประสานผู้ใช้ที่ตอบสนองอย่างเต็มที่ซึ่งให้ความสามารถในการจัดการกับอุปกรณ์มือถือด้วยเช่นกัน

ข้อกำหนดเบื้องต้น

ในบทช่วยสอนนี้เราจะใช้crm.example.comเป็นชื่อโดเมนที่ชี้ไปยังเซิร์ฟเวอร์ แทนที่ทั้งหมดcrm.example.comด้วยชื่อโดเมนจริงของคุณ

ปรับปรุงระบบฐานของคุณใช้คู่มือวิธีการปรับปรุง Ubuntu 16.04 เมื่อระบบของคุณอัปเดตแล้วให้ดำเนินการติดตั้งการอ้างอิงที่ต้องการ

ติดตั้ง Nginx และ PHP 7

OroCRM สามารถติดตั้งบนเว็บเซิร์ฟเวอร์การผลิตใดก็ได้ที่รองรับ PHP OroCRM รองรับ PHP ทุกเวอร์ชันมากกว่า 7.0 ในบทช่วยสอนนี้เราจะใช้ Nginx กับ PHP-FPM และ PHP 7.1

ติดตั้ง Nginx

sudo apt -y install nginx

เริ่ม Nginx และเปิดใช้งานให้เริ่มการบูทโดยอัตโนมัติ

sudo systemctl start nginx
sudo systemctl enable nginx

PHP 7.1 ไม่พร้อมใช้งานในที่aptเก็บเริ่มต้น ก่อนอื่นให้เพิ่มที่เก็บ PPA สำหรับ PHP

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

ติดตั้ง PHP 7.1 พร้อมกับโมดูล PHP ที่ OroCRM ต้องการ

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

แก้ไขไฟล์คอนฟิกูเรชัน PHP ที่โหลด

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

ค้นหาบรรทัดต่อไปนี้ ยกเลิกหมายเหตุและทำการเปลี่ยนแปลงตามที่แสดง

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

cgi.fix_pathinfo=0

เริ่ม PHP-FPM และเปิดใช้งานเมื่อเริ่มต้นระบบ

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

ติดตั้ง MariaDB

MariaDB เป็นโอเพ่นซอร์สของ MySQL เพิ่มที่เก็บ MariaDB 10.2

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

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

เริ่ม MariaDB และเปิดใช้งานการเริ่มโดยอัตโนมัติเมื่อบูท

sudo systemctl start mariadb
sudo systemctl enable mariadb

สร้างฐานข้อมูลสำหรับ OroCRM

ล็อกอินเข้าสู่เชลล์ MySQL ในฐานะผู้ใช้รูทโดยรัน

mysql -u root -p

ระบุรหัสผ่านสำหรับผู้ใช้รูท MariaDB เพื่อเข้าสู่ระบบ

รันเคียวรีต่อไปนี้เพื่อสร้างฐานข้อมูลและผู้ใช้ฐานข้อมูลสำหรับการติดตั้ง OroCRM

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;

คุณสามารถแทนที่ชื่อฐานข้อมูลoro_dataและชื่อผู้ใช้oro_userตามที่คุณต้องการ อย่าลืมเปลี่ยนStrongPasswordเป็นรหัสผ่านที่รัดกุมมาก

ติดตั้ง Node.js และนักแต่งเพลง

OroCRM ต้องใช้งาน JavaScript Node.js Node.js จะถูกใช้โดย OroCRM เพื่อรวบรวม JavaScript ซึ่งใช้ในการสร้างส่วนต่อประสานผู้ใช้ของแอปพลิเคชัน ที่เก็บเริ่มต้นของ Ubuntu มี Node.js รุ่นที่ล้าสมัยดังนั้นคุณจะต้องเพิ่มที่เก็บ Nodesource ในระบบของคุณเพื่อรับรุ่นล่าสุด

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

ติดตั้ง Node.js และ Git

sudo apt -y install nodejs git

Git จะถูกใช้เพื่อโคลนที่เก็บ OroCRM จากอินเทอร์เน็ต คุณจะต้องติดตั้งนักแต่งเพลงด้วย นักแต่งเพลงเป็นเครื่องมือจัดการการอ้างอิงสำหรับแอปพลิเคชัน PHP เนื่องจาก OroCRM เขียนขึ้นในกรอบงาน Symfony คุณจะต้องมี Composer เพื่อติดตั้งการพึ่งพาและแอปพลิเคชัน

ติดตั้งนักแต่งเพลง

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

ย้ายนักแต่งเพลงไปยัง/usr/binไดเรกทอรีเพื่อให้สามารถดำเนินการได้จากทุกที่ในระบบ

sudo mv composer.phar /usr/bin/composer

ให้สิทธิ์ดำเนินการแก่ผู้แต่ง

sudo chmod +x /usr/bin/composer

ติดตั้ง OroCRM

มีหลายวิธีในการดาวน์โหลด OroCRM บนเซิร์ฟเวอร์ของคุณ วิธีที่เหมาะสมที่สุดในการรับเวอร์ชันล่าสุดคือการโคลนที่เก็บข้อมูลผ่าน Git

โคลนที่เก็บ OroCRM

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

คัดลอกparametersไฟล์ตัวอย่างไปยังparametersไฟล์เริ่มต้นที่OroCRM ใช้

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

ก่อนที่คุณจะสามารถดำเนินการต่อไปคุณจะต้องอัปเดตparameters.ymlไฟล์เพื่อให้ข้อมูลฐานข้อมูลและอีเมล

sudo nano app/config/parameters.yml

ค้นหาบรรทัดต่อไปนี้

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

อัพเดตการกำหนดค่าข้างต้นตามฐานข้อมูลที่คุณสร้างขึ้นเพื่อเก็บข้อมูล OroCRM ในกรณีของเราควรมีลักษณะเช่นนี้

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

หากคุณมีเซิร์ฟเวอร์ SMTP พร้อมและคุณต้องการใช้คุณสมบัติการส่งอีเมลทันทีคุณสามารถอัปเดตการตั้งค่าการส่งจดหมายตามที่แสดง

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

หากคุณยังไม่พร้อมเซิร์ฟเวอร์เมลคุณสามารถข้ามไปได้ทันทีโดยปล่อยค่าที่มีอยู่ คุณสามารถเปลี่ยนการกำหนดค่าอีเมลผ่านแผงควบคุมได้ตลอดเวลา

ตั้งสตริงสุ่มโดยการแทนที่secret ThisTokenIsNotSoSecretChangeItจำเป็นต้องใช้สตริงแบบสุ่มเพื่อเข้ารหัสข้อมูลเซสชัน สตริงตัวอย่างจะมีลักษณะเช่นนี้

secret:            uxvpXHhDxCFc9yU1hV1fMwjSoyVUzGh4WBMBBBa3XEgrRUF5OuB2h8iNl9JRDqcd

คุณสามารถสร้างสตริงแบบสุ่มโดยใช้pwgenยูทิลิตี้ ติดตั้งโดยการเรียกใช้pwgen เพื่อสร้างสตริงแบบสุ่มเรียกใช้sudo apt -y install pwgenpwgen -s 64 1

บันทึกไฟล์และออกจากตัวแก้ไข ติดตั้งการพึ่งพา PHP ที่ต้องการผ่านผู้แต่ง

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

การใช้--no-devจะช่วยให้มั่นใจว่านักแต่งเพลงจะติดตั้งการพึ่งพาที่จำเป็นสำหรับการเรียกใช้เว็บเซิร์ฟเวอร์ในโหมดการผลิตเท่านั้น สคริปต์จะใช้เวลาสักครู่ในการดาวน์โหลดและติดตั้งการพึ่งพา PHP ที่จำเป็น

ติดตั้งแอปพลิเคชัน

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

สิ่งนี้จะสร้างเว็บแคชและเขียนฐานข้อมูล --env=prodพารามิเตอร์ให้บริการในการติดตั้งโปรแกรมประยุกต์ในโหมดการผลิต การติดตั้งจะดำเนินการต่อหากการติดตั้งและกำหนดค่าการพึ่งพาที่จำเป็นทั้งหมด

ระหว่างการติดตั้งคุณจะถูกถามคำถามสองสามข้อสำหรับการตั้งค่าบัญชีผู้ดูแลระบบ คำถามมีดังนี้

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

ให้ข้อมูล โหลดข้อมูลตัวอย่างเพื่อประเมินผลิตภัณฑ์ก่อนใช้สำหรับการผลิต

อุ่นเครื่องแคชเอกสาร API:

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

การกำหนดค่า Nginx, ไฟร์วอลล์และการอนุญาต

สร้างไฟล์บล็อกเซิร์ฟเวอร์ Nginx เพื่อให้บริการแอปพลิเคชันแก่ผู้ใช้

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

เติมไฟล์

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.comชื่อโดเมนจริงของคุณ การกำหนดค่าข้างต้นยังรวมถึงการกำหนดค่าที่จำเป็นสำหรับการบีบอัด GZip และการแคชเบราว์เซอร์ การบีบอัด Gzip บีบอัดข้อมูลก่อนส่งไปยังเบราว์เซอร์ การเปิดใช้งานการแคชเบราว์เซอร์จะจัดเก็บทรัพยากรสแตติกไปยังเว็บแคชของคอมพิวเตอร์ไคลเอนต์ ครั้งต่อไปที่ผู้ใช้เข้าถึงเว็บไซต์เนื้อหาสแตติกส่วนใหญ่จะถูกโหลดจากเว็บแคชของผู้ใช้ วิธีการทั้งสองนี้จะเพิ่มความเร็วของแอปพลิเคชั่นอย่างมาก

เปิดใช้งานไซต์

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

ตรวจสอบไฟล์การกำหนดค่า Nginx สำหรับข้อผิดพลาดใด ๆ

sudo nginx -t

ผลลัพธ์ควรมีลักษณะดังต่อไปนี้

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

จัดเตรียมความเป็นเจ้าของไฟล์ OroCRM ให้กับผู้ใช้ Nginx

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

รีสตาร์ท Nginx เพื่อใช้การกำหนดค่าใหม่

sudo systemctl restart nginx

http://crm.example.comขณะนี้คุณสามารถเข้าถึงโปรแกรมที่ เข้าสู่ระบบโดยใช้ผู้ดูแลระบบusernameและpasswordคุณได้ตั้งค่าระหว่างการติดตั้ง

ตั้งค่างานที่กำหนดเวลาไว้และงานเบื้องหลัง

ในการรันงานที่กำหนดเวลาไว้โดยอัตโนมัติคุณสามารถเพิ่มรายการงาน Cron crontabเปิด

sudo crontab -e

เพิ่มบรรทัดต่อไปนี้ลงในไฟล์

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

สิ่งนี้จะรันงาน cron ทุกนาทีเพื่อให้งานที่กำหนดเวลาไว้เช่นคิวอีเมลถูกประมวลผลเร็วที่สุด

คุณจะต้องตั้งค่า Supervisor เพื่อเรียกใช้บริการ Message Queue จำเป็นต้องมีกระบวนการอย่างน้อยหนึ่งกระบวนการที่กำลังทำงานอยู่ตลอดเวลาเพื่อให้ผู้บริโภคสามารถประมวลผลข้อความได้ ผู้บริโภคตามปกติสามารถขัดจังหวะกระบวนการข้อความได้หลายวิธี เพื่อให้แน่ใจว่าบริการทำงานอย่างต่อเนื่องเราจะใช้บริการหัวหน้างาน เราจะกำหนดค่าหัวหน้างานให้ทำงานสี่กระบวนการพร้อมกัน หากกระบวนการใดกระบวนการหนึ่งในสี่หยุดลงไม่ว่าด้วยเหตุผลใดก็ตามหัวหน้างานจะพยายามเริ่มต้นใหม่อีกครั้ง

ติดตั้ง Supervisor

sudo apt -y install supervisor

สร้างไฟล์กำหนดค่าใหม่ของหัวหน้างาน

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

เพิ่มบรรทัดต่อไปนี้ลงในไฟล์

[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

เริ่มต้นและเปิดใช้งานหัวหน้างานเพื่อเริ่มต้นโดยอัตโนมัติในเวลาบูต

sudo systemctl restart supervisor
sudo systemctl enable supervisor

คุณสามารถดูสถานะของกระบวนการได้โดยเรียกใช้สิ่งต่อไปนี้

sudo supervisorctl status

คุณควรเห็นว่ากระบวนการกำลังทำงานอยู่

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 บนเซิร์ฟเวอร์ของคุณแล้ว ตอนนี้คุณสามารถใช้แอปพลิเคชันเพื่อจัดการงานประจำขององค์กรของคุณ ต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ OroCRM คุณสามารถเยี่ยมชมของเว็บไซต์อย่างเป็นทางการ



Leave a Comment

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true

ภาวะเอกฐานทางเทคโนโลยี: อนาคตอันห่างไกลของอารยธรรมมนุษย์?

ภาวะเอกฐานทางเทคโนโลยี: อนาคตอันห่างไกลของอารยธรรมมนุษย์?

ในขณะที่วิทยาศาสตร์มีวิวัฒนาการไปอย่างรวดเร็ว โดยรับช่วงต่อความพยายามของเราอย่างมาก ความเสี่ยงในการทำให้ตัวเองตกอยู่ในภาวะภาวะเอกฐานที่อธิบายไม่ได้ก็เพิ่มขึ้นเช่นกัน อ่านว่าภาวะเอกฐานอาจมีความหมายสำหรับเราอย่างไร

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ผลกระทบของปัญญาประดิษฐ์ในการดูแลสุขภาพ 2021

ผลกระทบของปัญญาประดิษฐ์ในการดูแลสุขภาพ 2021

AI ในการดูแลสุขภาพได้ก้าวกระโดดอย่างมากจากทศวรรษที่ผ่านมา ดังนั้นอนาคตของ AI ในการดูแลสุขภาพจึงยังคงเติบโตทุกวัน