نحوه نصب OroCRM در CentOS 7

OroCRM یک برنامه رایگان و منبع باز مشتری ارتباط با مشتری (CRM) است که بر روی OroPlatform ساخته شده است. OroPlatform کاملاً قابل برنامه نویسی نرم افزار پلت فرم برنامه بازرگانی منبع باز است. OroPlatform تمام ویژگی هایی را که برای ایجاد یک برنامه شخصی سازی شده مورد نیاز است ، در اختیار شما قرار می دهد. OroCRM با استفاده از چارچوب PHP Symfony ساخته شده است و داده های خود را در سرور پایگاه داده MySQL / MariaDB ذخیره می کند. این یک برنامه CRM آماده برای سازمانی است که ویژگی های زیادی را ارائه می دهد. همچنین با بسیاری از برنامه های شخص ثالث مانند فروشگاه Magento ، MailChimp ، Zendesk و غیره ادغام شده است. چند زبانه است و دارای رابط کاربری کاملاً پاسخگو است که توانایی مدیریت آن را با استفاده از دستگاه های تلفن همراه نیز فراهم می کند.

پیش نیازها

در این آموزش ، ما به crm.example.comعنوان نام دامنه به سرور اشاره می کنیم. همه وقایع را crm.example.comبا نام دامنه واقعی خود جایگزین کنید.

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

Nginx و PHP 7 را نصب کنید

OroCRM را می توان در هر وب سرور تولیدی که از PHP پشتیبانی می کند ، نصب کرد. OroCRM از تمام نسخه های PHP بزرگتر از 7.0 پشتیبانی می کند. در این آموزش از Nginx با PHP-FPM و PHP 7.1 استفاده خواهیم کرد.

Nginx را نصب کنید.

sudo yum -y install nginx

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

sudo systemctl start nginx
sudo systemctl enable nginx

PHP 7 در مخزن پیش فرض YUM موجود نیست ، اما می توانیم از مخزن Remi برای بدست آوردن و نصب آخرین ساختهای PHP 7. استفاده کنیم. ابتدا مخزن Remi را اضافه و فعال کنید.

sudo rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum -y install yum-utils
sudo yum-config-manager --enable remi-php71

آخرین نسخه PHP 7 را به همراه ماژول های PHP مورد نیاز OroCRM نصب کنید.

sudo yum -y install php php-fpm php-ctype php-curl php-fileinfo php-gd php-intl php-json php-mbstring php-mcrypt php-mysql php-pcre php-simplexml php-tokenizer php-xml php-zip php-tidy php-soap php-opcache php-posix

پرونده پیش فرض پیکربندی PHP را ویرایش کنید.

sudo nano /etc/php.ini

سطرهای زیر را پیدا کنید. بدون اظهار نظر و تغییراتی که نشان داده شده است.

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

memory_limit = 512M
cgi.fix_pathinfo=0

پرونده پیکربندی PHP-FPM را ویرایش کنید.

sudo nano /etc/php-fpm.d/www.conf

به طور پیش فرض ، PHP-FPM برای اجرای با Apache و گوش دادن به درگاه تنظیم شده است 9000. ما نیاز به تغییر کاربر و گروه و همچنین پرونده سوکت یونیکس داریم که روی آن اجرا خواهد شد. خطوط زیر را پیدا کنید و همانطور که نشان داده شده است ، تغییرات لازم را انجام دهید.

user = nginx
group = nginx

;listen = 127.0.0.1:9000
;Comment out or remove the above line and add the following line.
listen = /var/run/php-fpm/php-fpm.sock

listen.owner = nobody
listen.group = nobody

PHP-FPM را شروع کنید و آن را فعال کنید تا از بوت شروع شود.

sudo systemctl start php-fpm
sudo systemctl enable php-fpm

مالکیت فایل سوکت PHP-FPM را به کاربر Nginx ارائه دهید.

sudo chown nginx:nginx /var/run/php-fpm/php-fpm.sock

MariaDB را نصب کنید

MariaDB یک چنگال منبع آزاد از MySQL است. MariaDB را نصب کنید.

sudo yum -y install mariadb mariadb-server

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

sudo systemctl start mariadb
sudo systemctl enable mariadb

نصب پیش فرض MariaDB با چند پایگاه داده آزمایش و کاربران ناشناس همراه است. قبل از پیکربندی پایگاه داده ، ابتدا باید سرور MariaDB را ایمن کنید. با اجرای mysql_secure_installationاسکریپت می توانید آن را ایمن کنید .

sudo mysql_secure_installation

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

ایجاد پایگاه داده برای OroCRM

با اجرای برنامه به پوسته MySQL وارد شوید.

mysql -u root -p

رمز ورود را برای کاربر root 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 و Composer را نصب کنید

OroCRM همچنین به زمان اجرا جاوا اسکریپت Node.js نیاز دارد. Node.js توسط OroCRM برای کامپایل کردن جاوا اسکریپت استفاده می شود ، که برای ساخت رابط کاربری برنامه کاربرد دارد. مخزن پیش فرض CentOS شامل یک نسخه منسوخ از Node.js است ، بنابراین شما برای بدست آوردن آخرین نسخه باید مخزن Nodesource را به سیستم خود اضافه کنید.

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

Node.js و Git را نصب کنید.

sudo yum -y install nodejs git

از Git برای کلون مخزن OroCRM از اینترنت استفاده می شود. شما همچنین نیاز به نصب Composer دارید. Composer یک ابزار مدیریت وابستگی برای برنامه های PHP است. از آنجا که OroCRM در چارچوب Symfony نوشته شده است ، برای نصب وابستگی و برنامه به Composer احتیاج خواهید داشت.

آهنگساز را نصب کنید.

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('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.3 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 yum -y install pwgen. برای تولید یک رشته تصادفی ، اجرا کنید pwgen -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 Organization
Username (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/conf.d/orocrm.conf

پرونده را جمع کنید.

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:/var/run/php-fpm/php-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 داده ها را قبل از ارسال به مرورگر فشرده می کند. فعال کردن حافظه پنهان مرورگر ، منابع استاتیک را در حافظه نهان وب رایانه مشتری ذخیره می کند. دفعه بعد که کاربر به سایت دسترسی پیدا می کند ، بیشتر محتوای استاتیک از حافظه پنهان وب کاربر بارگیری می شود. این دو روش سرعت برنامه را به طرز چشمگیری افزایش می دهد.

فایل پیکربندی Nginx را برای هرگونه خطا بررسی کنید.

sudo nginx -t

خروجی باید به شکل زیر باشد.

[user@vultr ~]$ 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 nginx:nginx /usr/share/nginx/orocrm

برای اعمال تنظیمات جدید ، Nginx را مجدداً راه اندازی کنید.

sudo systemctl restart nginx

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

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

اکنون می توانید به برنامه دسترسی داشته باشید http://crm.example.com. با استفاده از نام کاربری و رمز عبوری که در حین نصب تنظیم کرده اید ، وارد سیستم شوید.

وظایف برنامه ریزی شده و کارهای پس زمینه را تنظیم کنید

برای اجرای خودکار کارهای برنامه ریزی شده می توانید یک کار شغلی Cron اضافه کنید. گسترش crontab.

sudo crontab -e

خط زیر را به پرونده اضافه کنید.

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

این کار cron هر دقیقه را انجام می دهد تا کارهای برنامه ریزی شده مانند صف های ایمیل زودتر پردازش شوند.

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

ناظر را نصب کنید.

sudo yum -y install supervisor

پرونده پیکربندی Supervisor را ویرایش کنید.

sudo nano /etc/supervisord.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=nginx
redirect_stderr=true

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

sudo systemctl start supervisord
sudo systemctl enable supervisord

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

sudo supervisorctl status

باید دید که روند کار در حال انجام است.

[user@vultr ~]$ sudo supervisorctl status
oro_message_consumer:oro_message_consumer_00   RUNNING   pid 13596, uptime 0:02:13
oro_message_consumer:oro_message_consumer_01   RUNNING   pid 13595, uptime 0:02:13
oro_message_consumer:oro_message_consumer_02   RUNNING   pid 13594, uptime 0:02:13
oro_message_consumer:oro_message_consumer_03   RUNNING   pid 13593, uptime 0:02:13

OroCRM اکنون روی سرور شما نصب شده است. اکنون می توانید از این برنامه برای مدیریت کارهای روزمره سازمان خود استفاده کنید. برای کسب اطلاعات بیشتر در مورد OroCRM ، می توانید به وب سایت رسمی آن مراجعه کنید .



Leave a Comment

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

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

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

نحوه نصب 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

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

نحوه نصب 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

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

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

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

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

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

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