Parakushtet
Instaloni Nginx dhe PHP 7
Instaloni MariaDB
Instaloni Node.js dhe Composer
Instaloni OroCRM
Konfigurimi i Nginx, Firewall dhe Lejet
Konfiguro detyrat e planifikuara dhe punët në sfond
OroCRM është një aplikacion falas dhe me burim të hapur të Menaxherit të Marrëdhënieve me Klientin (CRM) i ndërtuar në OroPlatform. OroPlatform është softuer i platformës së aplikimit të biznesit me burim të hapur plotësisht të personalizueshëm. OroPlatform ju ofron të gjitha veçoritë që kërkohen për të krijuar një aplikacion të personalizuar. OroCRM është ndërtuar duke përdorur kornizën PHP Symfony dhe ruan të dhënat e saj në serverin e bazës së të dhënave MySQL/MariaDB. Është një aplikacion CRM i gatshëm për ndërmarrje që ofron shumë veçori. Ai gjithashtu integrohet me shumë aplikacione të palëve të treta si Magento Store, MailChimp, Zendesk dhe shumë të tjera. Ai është shumëgjuhësh dhe ka një ndërfaqe përdoruesi plotësisht të përgjegjshme, e cila ju ofron mundësinë për ta menaxhuar atë duke përdorur gjithashtu pajisje celulare.
Parakushtet
Në këtë tutorial, ne do të përdorim crm.example.comsi emrin e domenit të treguar te serveri. Zëvendësoni të gjitha dukuritë e crm.example.comme emrin tuaj aktual të domenit.
Përditësoni sistemin tuaj bazë duke përdorur udhëzuesin Si të përditësoni Ubuntu 16.04 . Pasi sistemi juaj të jetë përditësuar, vazhdoni të instaloni varësitë e kërkuara.
Instaloni Nginx dhe PHP 7
OroCRM mund të instalohet në çdo web server prodhimi që mbështet PHP. OroCRM mbështet të gjitha versionet e PHP më të mëdha se 7.0. Në këtë tutorial, ne do të përdorim Nginx me PHP-FPM dhe PHP 7.1.
Instaloni Nginx.
sudo apt -y install nginx
Nisni Nginx dhe aktivizoni që të fillojë automatikisht në nisje.
sudo systemctl start nginx
sudo systemctl enable nginx
PHP 7.1 nuk është i disponueshëm në aptdepon e paracaktuar . Së pari, shtoni depon e PPA për PHP.
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
Instaloni PHP 7.1 së bashku me modulet PHP të kërkuara nga 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
Redaktoni skedarin e konfigurimit të ngarkuar PHP.
sudo nano /etc/php/7.1/cli/php.ini
Gjeni rreshtat e mëposhtëm. Zhkomentoni dhe bëni ndryshime siç tregohet.
date.timezone = Asia/Kolkata
;Replace "Asia/Kolkata" with your appropriate timezone
cgi.fix_pathinfo=0
Nisni PHP-FPM dhe aktivizoni që të fillojë në nisje.
sudo systemctl start php7.1-fpm
sudo systemctl enable php7.1-fpm
Instaloni MariaDB
MariaDB është një fork me burim të hapur të MySQL. Shto depo 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'
Instaloni MariaDB.
sudo apt -y update
sudo apt -y install mariadb-server
Nisni MariaDB dhe aktivizoni që të fillojë automatikisht në nisje.
sudo systemctl start mariadb
sudo systemctl enable mariadb
Krijoni bazën e të dhënave për OroCRM
Hyni në guaskën MySQL si përdorues rrënjë duke ekzekutuar.
mysql -u root -p
Jepni fjalëkalimin që përdoruesi rrënjë MariaDB të identifikohet.
Drejtoni pyetjet e mëposhtme për të krijuar një bazë të dhënash dhe një përdorues të bazës së të dhënave për instalimin e 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;
Ju mund të zëvendësoni emrin e bazës së të dhënave oro_datadhe emrin e përdoruesit oro_usersipas zgjedhjes suaj. Sigurohuni që të ndryshoni StrongPasswordnë një fjalëkalim shumë të fortë.
Instaloni Node.js dhe Composer
OroCRM kërkon gjithashtu funksionimin e Node.js JavaScript. Node.js do të përdoret nga OroCRM për të përpiluar JavaScript, i cili përdoret për të ndërtuar ndërfaqen e përdoruesit të aplikacionit. Depoja e parazgjedhur e Ubuntu përmban një version të vjetëruar të Node.js, kështu që do t'ju duhet të shtoni depon e Nodesource në sistemin tuaj për të marrë versionin më të fundit.
sudo curl --silent --location https://deb.nodesource.com/setup_8.x | sudo bash -
Instaloni Node.js dhe Git.
sudo apt -y install nodejs git
Git do të përdoret për të klonuar depon e OroCRM nga interneti. Do t'ju duhet gjithashtu të instaloni Composer. Kompozitori është një mjet i menaxherit të varësisë për aplikacionet PHP. Për shkak se OroCRM është shkruar në kornizën Symfony, do t'ju duhet Composer për të instaluar varësitë dhe aplikacionin.
Instaloni Composer.
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
Zhvendosni Composer në /usr/bindirektori në mënyrë që të mund të ekzekutohet nga kudo në sistem.
sudo mv composer.phar /usr/bin/composer
Jepini kompozitorit lejen e ekzekutimit.
sudo chmod +x /usr/bin/composer
Instaloni OroCRM
Ka shumë mënyra për të shkarkuar OroCRM në serverin tuaj. Mënyra më e përshtatshme për të marrë versionin më të përditësuar është të klononi depon përmes Git.
Klononi depon e OroCRM.
cd /usr/share/nginx/
sudo git clone -b 2.4 https://github.com/oroinc/crm-application.git orocrm
Kopjoni parametersskedarin e shembullit në skedarin e paracaktuar të parameterspërdorur nga OroCRM.
cd orocrm
sudo cp app/config/parameters.yml.dist app/config/parameters.yml
Përpara se të vazhdoni më tej, do t'ju duhet të përditësoni parameters.ymlskedarin për të siguruar informacionin e bazës së të dhënave dhe email-it.
sudo nano app/config/parameters.yml
Gjeni rreshtat e mëposhtëm.
database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: ~
database_name: oro_crm
database_user: root
database_password: ~
Përditësoni konfigurimin e mësipërm sipas bazës së të dhënave që keni krijuar për të ruajtur të dhënat OroCRM. Në rastin tonë, duhet të duket kështu.
database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: 3306
database_name: oro_data
database_user: oro_user
database_password: StrongPassword
Nëse keni gati një server SMTP dhe dëshironi të përdorni menjëherë veçoritë e dërgimit të emailit, mund të përditësoni cilësimet e postuesit siç tregohet.
mailer_transport: smtp
mailer_host: mail.example.com
mailer_port: 456
mailer_encryption: ssl
mailer_user: mails@example.com
mailer_password: EMailPassword
Nëse nuk keni një server të postës gati, mund ta kaloni atë për momentin duke lënë vlerat ekzistuese. Ju gjithmonë mund të ndryshoni konfigurimin e emailit përmes panelit të kontrollit.
Set a random string in secret by replacing ThisTokenIsNotSoSecretChangeIt. A random string is required to encode the session data. An example string will look like this.
secret: uxvpXHhDxCFc9yU1hV1fMwjSoyVUzGh4WBMBBBa3XEgrRUF5OuB2h8iNl9JRDqcd
You can generate a random string using the pwgen utility. Install pwgen by running sudo apt -y install pwgen. To generate a random string, run pwgen -s 64 1.
Save the file and exit from the editor. Install the required PHP dependencies through composer.
sudo composer install --prefer-dist --no-dev
Using --no-dev will ensure that Composer only installs the dependencies required to run the web server in production mode. The script will take a few minutes to download and install the required PHP dependencies.
Install the application.
sudo php app/console oro:install --env=prod
This will build the web cache and write the database. The --env=prod parameter is provided to install the application in production mode. The installation will only proceed if all the required dependencies are installed and configured.
During the installation, you will be asked a few questions for setting up the administrator account. The questions are as follows.
Administration setup.
Application URL (http://localhost): http://crm.example.com
Organization name (OroCRM): My Org
Username (admin): admin
Email: mail@example.com
First name: John
Last name: Doe
Password:
Load sample data (y/n): y
Provide the information. Load the sample data to evaluate the product before using it for production.
Warm up the API documentation cache:
sudo php app/console oro:api:doc:cache:clear
Configuring Nginx, Firewall and Permissions
Create an Nginx server block file to serve the application to the users.
sudo nano /etc/nginx/sites-available/orocrm
Populate the file.
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;
}
Sigurohuni që ta ndryshoni në emrin crm.example.comtuaj aktual të domenit. Konfigurimi i mësipërm përfshin gjithashtu konfigurimin e kërkuar për kompresimin e GZip dhe ruajtjen në memorien e shfletuesit. Kompresimi Gzip kompreson të dhënat përpara se t'i dërgojë në shfletues. Aktivizimi i cache-it të shfletuesit ruan burimet statike në cache-in e internetit të kompjuterit të klientit. Herën tjetër që përdoruesi hyn në sajt, pjesa më e madhe e përmbajtjes statike ngarkohet nga memoria e internetit e vetë përdoruesit. Këto dy metoda rrisin shpejtësinë e aplikimit në mënyrë dramatike.
Aktivizo faqen.
sudo ln -s /etc/nginx/sites-available/orocrm /etc/nginx/sites-enabled/orocrm
Kontrolloni skedarin e konfigurimit Nginx për ndonjë gabim.
sudo nginx -t
Prodhimi duhet të duket si më poshtë.
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
Jepni pronësinë e skedarëve OroCRM përdoruesit Nginx.
sudo chown -R www-data:www-data /usr/share/nginx/orocrm
Rinisni Nginx për të aplikuar konfigurimin e ri.
sudo systemctl restart nginx
Tani mund të përdorni aplikacionin në http://crm.example.com. Identifikohu duke përdorur administratorin usernamedhe e passwordke vendosur gjatë instalimit.
Konfiguro detyrat e planifikuara dhe punët në sfond
Për të ekzekutuar automatikisht detyrat e planifikuara, mund të shtoni një hyrje pune në Cron. Hape crontab.
sudo crontab -e
Shtoni rreshtin e mëposhtëm në skedar.
*/1 * * * * /usr/bin/php /usr/share/nginx/orocrm/app/console oro:cron --env=prod > /dev/null
Kjo do të ekzekutojë punën cron çdo minutë në mënyrë që detyrat e planifikuara, të tilla si radhët e postës elektronike, të përpunohen sa më shpejt.
Do t'ju duhet gjithashtu të konfiguroni Mbikëqyrësin për të ekzekutuar shërbimin e radhës së mesazheve. Kërkohet që të paktën një proces të funksionojë gjatë gjithë kohës që një konsumator të përpunojë mesazhet. Një konsumator normalisht mund të ndërpresë procesin e mesazhit në shumë mënyra. Për t'u siguruar që shërbimi funksionon vazhdimisht, ne do të përdorim shërbimin Mbikëqyrës. Ne do të konfigurojmë Supervizorin që të ekzekutojë katër procese paralelisht. Nëse ndonjë nga katër proceset ndalet për ndonjë arsye, Mbikëqyrësi do të përpiqet ta rifillojë atë.
Instaloni Supervisor.
sudo apt -y install supervisor
Krijo një skedar të ri konfigurimi të Mbikëqyrësit.
sudo nano /etc/supervisor/conf.d/orocrm.conf
Shtoni linjat e mëposhtme në skedar.
[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
Nisni dhe aktivizoni Supervisor që të fillojë automatikisht në kohën e nisjes.
sudo systemctl restart supervisor
sudo systemctl enable supervisor
Ju mund të shikoni statusin e proceseve duke ekzekutuar sa vijon.
sudo supervisorctl status
Ju duhet të shihni që proceset po funksionojnë.
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 tani është instaluar në serverin tuaj. Tani mund ta përdorni aplikacionin për të menaxhuar detyrat rutinë të organizatës suaj. Për të mësuar më shumë rreth OroCRM, mund të vizitoni faqen e saj zyrtare të internetit .