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 etj. Është shumëgjuhësh dhe ka një ndërfaqe përdoruesi plotësisht reaguese, 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 CentOS 7 . 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 yum -y install nginx
Nisni Nginx dhe aktivizoni që të fillojë automatikisht në nisje.
sudo systemctl start nginx
sudo systemctl enable nginx
PHP 7 nuk është i disponueshëm në depon e paracaktuar YUM, por ne mund të përdorim depo Remi për të marrë dhe instaluar ndërtimet më të fundit të PHP 7. Së pari, shtoni dhe aktivizoni depo 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
Instaloni versionin më të fundit të PHP 7 së bashku me modulet PHP të kërkuara nga 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
Redaktoni skedarin e paracaktuar të konfigurimit PHP.
sudo nano /etc/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
memory_limit = 512M
cgi.fix_pathinfo=0
Redaktoni skedarin e konfigurimit PHP-FPM.
sudo nano /etc/php-fpm.d/www.conf
Si parazgjedhje, PHP-FPM është konfiguruar për të ekzekutuar me Apache dhe për të dëgjuar portin 9000. Do të na duhet të ndryshojmë përdoruesin dhe grupin, si dhe skedarin e folesë Unix në të cilin do të ekzekutohet. Gjeni rreshtat e mëposhtëm dhe bëni ndryshimet e nevojshme siç tregohet.
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
Nisni PHP-FPM dhe aktivizoni që të fillojë në nisje.
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
Jepni pronësinë e skedarit të folesë PHP-FPM për përdoruesit Nginx.
sudo chown nginx:nginx /var/run/php-fpm/php-fpm.sock
Instaloni MariaDB
MariaDB është një fork me burim të hapur të MySQL. Instaloni MariaDB.
sudo yum -y install mariadb mariadb-server
Nisni MariaDB dhe aktivizoni që të fillojë automatikisht në nisje.
sudo systemctl start mariadb
sudo systemctl enable mariadb
Instalimi i parazgjedhur i MariaDB vjen me disa baza të dhënash testimi dhe përdorues anonimë. Përpara se të konfiguroni bazën e të dhënave, do t'ju duhet së pari të siguroni serverin MariaDB. Mund ta siguroni duke ekzekutuar mysql_secure_installationskriptin.
sudo mysql_secure_installation
Do t'ju kërkohet fjalëkalimi aktual rrënjësor i MariaDB. Si parazgjedhje, nuk ka asnjë fjalëkalim rrënjësor në një instalim të ri të MariaDB. Shtypni Entertastin për të vazhduar. Vendosni një fjalëkalim të fortë për përdoruesin rrënjë të serverit tuaj MariaDB dhe përgjigjuni Ytë gjitha pyetjeve të tjera të bëra. Pyetjet e bëra janë vetë-shpjeguese.
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 CentOS 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://rpm.nodesource.com/setup_8.x | sudo bash -
Instaloni Node.js dhe Git.
sudo yum -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
php -r "unlink('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.3 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
If you have an SMTP server ready and you wish to use email sending features immediately, you can update the mailer settings as shown.
mailer_transport: smtp
mailer_host: mail.example.com
mailer_port: 456
mailer_encryption: ssl
mailer_user: mails@example.com
mailer_password: EMailPassword
If you do not have a mail server ready, you can skip it for now by leaving the existing values. You can always change email configuration through the dashboard.
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 utility by running sudo yum -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 the 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 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 Organization
Username (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
Krijoni një skedar blloku të serverit Nginx për t'i shërbyer aplikacionit përdoruesve.
sudo nano /etc/nginx/conf.d/orocrm.conf
Plotësoni skedarin.
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;
}
Sigurohuni që ta ndryshoni crm.example.comme emrin tuaj 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.
Kontrolloni skedarin e konfigurimit Nginx për ndonjë gabim.
sudo nginx -t
Prodhimi duhet të duket si më poshtë.
[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
Jepni pronësinë e skedarëve OrOCRM përdoruesit Nginx.
sudo chown -R nginx:nginx /usr/share/nginx/orocrm
Rinisni Nginx për të aplikuar konfigurimin e ri.
sudo systemctl restart nginx
Nëse po ekzekutoni një mur zjarri në serverin tuaj, do t'ju duhet të konfiguroni murin e zjarrit për të vendosur një përjashtim për shërbimin HTTP. Lejo Nginx të lidhet nga jashtë rrjetit.
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
sudo firewall-cmd --reload
Tani mund të përdorni aplikacionin në http://crm.example.com. Hyni duke përdorur emrin e përdoruesit dhe fjalëkalimin e administratorit që keni 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 yum -y install supervisor
Redaktoni skedarin e konfigurimit të Mbikëqyrësit.
sudo nano /etc/supervisord.conf
Shtoni rreshtat e mëposhtëm në fund të skedarit.
[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
Nisni dhe aktivizoni Supervisor që të fillojë automatikisht në kohën e nisjes.
sudo systemctl start supervisord
sudo systemctl enable supervisord
Ju mund të shikoni statusin e proceseve duke ekzekutuar sa vijon.
sudo supervisorctl status
Ju duhet të shihni që proceset po funksionojnë.
[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 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 .