O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1
O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1
OroCRM este o aplicație de gestionare a relațiilor cu clienții (CRM) gratuită și deschisă, construită pe OroPlatform. OroPlatform este un software complet personalizabil pentru platforma de aplicații de afaceri open source. OroPlatform vă oferă toate funcțiile necesare pentru crearea unei aplicații personalizate. OroCRM este construit folosind cadrul PHP Symfony și stochează datele sale în serverul de baze de date MySQL / MariaDB. Este o aplicație CRM gata pentru întreprindere, care oferă tone de funcții. De asemenea, se integrează cu multe aplicații terțe, cum ar fi Magento Store, MailChimp, Zendesk etc.
În acest tutorial, vom folosi crm.example.com
ca nume de domeniu indicat către server. Înlocuiți toate aparițiile crm.example.com
cu numele de domeniu real.
Actualizați-vă sistemul de bază utilizând ghidul Cum actualizați CentOS 7 . După ce sistemul dvs. a fost actualizat, continuați să instalați dependențele necesare.
OroCRM poate fi instalat pe orice server web de producție care acceptă PHP. OroCRM acceptă toate versiunile de PHP mai mari de 7.0. În acest tutorial, vom folosi Nginx cu PHP-FPM și PHP 7.1.
Instalați Nginx.
sudo yum -y install nginx
Porniți Nginx și permiteți-l să pornească automat la pornire.
sudo systemctl start nginx
sudo systemctl enable nginx
PHP 7 nu este disponibil în depozitul YUM implicit, dar putem folosi depozitul Remi pentru a obține și instala cele mai recente versiuni ale PHP 7. Mai întâi, adăugăm și activăm depozitul 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
Instalați cea mai recentă versiune a PHP 7 împreună cu modulele PHP solicitate de 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
Editați fișierul de configurare PHP implicit.
sudo nano /etc/php.ini
Găsiți următoarele rânduri. Decomandați și faceți modificări așa cum este arătat.
date.timezone = Asia/Kolkata
;Replace "Asia/Kolkata" with your appropriate timezone
memory_limit = 512M
cgi.fix_pathinfo=0
Editați fișierul de configurare PHP-FPM.
sudo nano /etc/php-fpm.d/www.conf
În mod implicit, PHP-FPM este configurat pentru a rula cu Apache și pentru a asculta portul 9000
. Va trebui să schimbăm utilizatorul și grupul, precum și fișierul socket Unix pe care va rula. Găsiți următoarele linii și faceți modificările necesare așa cum este arătat.
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
Porniți PHP-FPM și permiteți-l să pornească de la pornire.
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
Oferiți proprietatea fișierului socket PHP-FPM utilizatorului Nginx.
sudo chown nginx:nginx /var/run/php-fpm/php-fpm.sock
MariaDB este o furcă open source a MySQL. Instalați MariaDB.
sudo yum -y install mariadb mariadb-server
Porniți MariaDB și permiteți-l să pornească automat la pornire.
sudo systemctl start mariadb
sudo systemctl enable mariadb
Instalarea implicită a MariaDB vine cu câteva baze de date de testare și utilizatori anonimi. Înainte de a configura baza de date, va trebui să securizați mai întâi serverul MariaDB. Îl puteți securiza rulând mysql_secure_installation
scriptul.
sudo mysql_secure_installation
Vi se va cere parola rădăcină MariaDB curentă. În mod implicit, nu există nicio parolă root într-o nouă instalare MariaDB. Apăsați Enter
tasta pentru a continua. Setați o parolă puternică pentru utilizatorul root al serverului dumneavoastră MariaDB și răspundeți Y
la toate celelalte întrebări adresate. Întrebările adresate sunt explicative de la sine.
Conectați-vă la shell-ul MySQL ca utilizator root rulând.
mysql -u root -p
Furnizați parola pentru utilizatorul rădăcină MariaDB pentru a se autentifica.
Rulați următoarele întrebări pentru a crea o bază de date și un utilizator de bază de date pentru instalarea 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;
Puteți înlocui numele bazei de date oro_data
și numele de utilizator în oro_user
funcție de alegerea dvs. Asigurați-vă că treceți StrongPassword
la o parolă foarte puternică.
De asemenea, OroCRM necesită timp de rulare JavaScript Node.js. Node.js va fi folosit de OroCRM pentru a compila JavaScript, care este utilizat pentru a construi interfața de utilizator a aplicației. Depozitul implicit al CentOS conține o versiune depășită a Node.js, astfel va trebui să adăugați depozitul Nodesource la sistemul dvs. pentru a obține cea mai recentă versiune.
sudo curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
Instalați Node.js și Git.
sudo yum -y install nodejs git
Git va fi folosit pentru a clona depozitul OroCRM de pe internet. Va trebui, de asemenea, să instalați Composer. Composer este un instrument de gestionare a dependenței pentru aplicațiile PHP. Deoarece OroCRM este scris în cadrul Symfony, veți avea nevoie de Composer pentru a instala dependențele și aplicația.
Instalați Composer.
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
Mutați Composer în /usr/bin
director pentru a putea fi executat de oriunde în sistem.
sudo mv composer.phar /usr/bin/composer
Oferiți permisiunea de execuție compozitorului.
sudo chmod +x /usr/bin/composer
Există mai multe moduri de a descărca OroCRM pe serverul dvs. Cea mai potrivită modalitate de a obține cea mai actualizată versiune este clonarea depozitului prin Git.
Clonați depozitul OroCRM.
cd /usr/share/nginx/
sudo git clone -b 2.3 https://github.com/oroinc/crm-application.git orocrm
Copiați parameters
fișierul de exemplu în fișierul implicit parameters
utilizat de OroCRM.
cd orocrm
sudo cp app/config/parameters.yml.dist app/config/parameters.yml
Înainte de a merge mai departe, va trebui să actualizați parameters.yml
fișierul pentru a oferi informații de bază de date și e-mail.
sudo nano app/config/parameters.yml
Găsiți următoarele rânduri.
database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: ~
database_name: oro_crm
database_user: root
database_password: ~
Actualizați configurația de mai sus în funcție de baza de date creată pentru a stoca datele OroCRM. În cazul nostru, ar trebui să arate astfel.
database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: 3306
database_name: oro_data
database_user: oro_user
database_password: StrongPassword
Dacă aveți un server SMTP gata și doriți să utilizați imediat funcțiile de trimitere prin e-mail, puteți actualiza setările mailerului așa cum se arată.
mailer_transport: smtp
mailer_host: mail.example.com
mailer_port: 456
mailer_encryption: ssl
mailer_user: [email protected]
mailer_password: EMailPassword
Dacă nu aveți un server de e-mail gata, îl puteți omite deocamdată lăsând valorile existente. Puteți modifica întotdeauna configurația e-mailului prin tabloul de bord.
Setați un șir aleatoriu secret
înlocuind ThisTokenIsNotSoSecretChangeIt
. Este necesar un șir aleatoriu pentru a codifica datele sesiunii. Un exemplu de șir va arăta astfel.
secret: uxvpXHhDxCFc9yU1hV1fMwjSoyVUzGh4WBMBBBa3XEgrRUF5OuB2h8iNl9JRDqcd
Puteți genera un șir aleatoriu folosind pwgen
utilitarul. Instalați pwgen
utilitatea rulând sudo yum -y install pwgen
. Pentru a genera un șir aleatoriu, executați pwgen -s 64 1
.
Salvați fișierul și ieșiți din editor. Instalați dependențele PHP necesare prin intermediul compozitorului.
sudo composer install --prefer-dist --no-dev
Utilizarea se --no-dev
va asigura că Compozitorul instalează doar dependențele necesare pentru a rula serverul web în modul de producție. Scriptul va dura câteva minute pentru a descărca și instala dependențele PHP necesare.
Instalați aplicația.
sudo php app/console oro:install --env=prod
Acest lucru va construi memoria cache web și va scrie baza de date. --env=prod
Parametrul este furnizat pentru a instala aplicația în modul de producție. Instalarea va continua numai dacă toate dependențele necesare sunt instalate și configurate.
În timpul instalării, vi se vor cere câteva întrebări pentru configurarea contului de administrator. Întrebările sunt următoarele.
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
Furnizați informațiile. Încărcați datele eșantionului pentru a evalua produsul înainte de al utiliza pentru producție.
Încălziți memoria cache a documentației API:
sudo php app/console oro:api:doc:cache:clear
Creați un fișier de bloc de server Nginx pentru a servi aplicația utilizatorilor.
sudo nano /etc/nginx/conf.d/orocrm.conf
Populați fișierul.
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;
}
Asigurați-vă că modificați crm.example.com
numele de domeniu real. Configurația de mai sus include, de asemenea, configurația necesară pentru compresia GZip și caching-ul browserului. Compresia Gzip comprimă datele înainte de a le trimite în browser. Activarea memorării în cache a browserului stochează resursele statice în memoria cache web a computerului client. Data viitoare când utilizatorul accesează site-ul, cea mai mare parte a conținutului static este încărcat din memoria cache web a utilizatorului. Aceste două metode cresc viteza aplicației dramatic.
Verificați dacă există erori în fișierul de configurare Nginx.
sudo nginx -t
Rezultatul ar trebui să arate după cum urmează.
[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
Furnizați proprietatea fișierelor OrOCRM utilizatorului Nginx.
sudo chown -R nginx:nginx /usr/share/nginx/orocrm
Reporniți Nginx pentru a aplica noua configurație.
sudo systemctl restart nginx
Dacă executați un firewall pe serverul dvs., va trebui să configurați firewallul pentru a seta o excepție pentru serviciul HTTP. Permiteți Nginx să se conecteze din afara rețelei.
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
sudo firewall-cmd --reload
Acum puteți accesa aplicația la http://crm.example.com
. Conectați-vă cu numele de utilizator și parola pe care le-ați configurat în timpul instalării.
Pentru a rula automat sarcinile programate puteți adăuga o intrare de lucru Cron. Deschis crontab
.
sudo crontab -e
Adăugați următoarea linie la fișier.
*/1 * * * * /usr/bin/php /usr/share/nginx/orocrm/app/console oro:cron --env=prod > /dev/null
Aceasta va rula lucrarea cron în fiecare minut, astfel încât sarcinile programate, cum ar fi cozile de e-mail să fie procesate cât mai devreme.
De asemenea, va trebui să configurați Supervizorul pentru a rula serviciul Coada de mesaje. Este necesar ca cel puțin un proces să funcționeze în permanență pentru ca un consumator să proceseze mesajele. În mod normal, un consumator poate întrerupe procesul de mesaje prin mai multe moduri. Pentru a ne asigura că serviciul funcționează continuu, vom folosi serviciul de Supervizor. Vom configura Supervizorul pentru a rula patru procese în paralel. Dacă vreunul dintre cele patru procese este oprit din orice motiv, Supervizorul va încerca să-l pornească din nou.
Instalați Supervizorul.
sudo yum -y install supervisor
Editați fișierul de configurare a Supervizorului.
sudo nano /etc/supervisord.conf
Adăugați următoarele linii la sfârșitul fișierului.
[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
Porniți și permiteți Supervizorul să pornească automat la momentul de pornire.
sudo systemctl start supervisord
sudo systemctl enable supervisord
Puteți vizualiza starea proceselor rulând următoarele.
sudo supervisorctl status
Ar trebui să vedeți că procesele se execută.
[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 este acum instalat pe serverul dvs. Acum puteți utiliza aplicația pentru a gestiona sarcinile de rutină ale organizației dvs. Pentru a afla mai multe despre OroCRM, puteți vizita site-ul său oficial .
O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1
Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.
Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.
Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.
Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.
CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?
Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.
Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!
Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.
Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe