Forutsetninger
Installer Nginx og PHP 7
Installer MariaDB
Installer Node.js og Composer
Installer OroCRM
Konfigurering av Nginx, brannmur og tillatelser
Sett opp planlagte oppgaver og bakgrunnsjobber
OroCRM er en gratis og åpen kildekode Customer Relationship Manager (CRM)-applikasjon bygget på OroPlatform. OroPlatform er fullt tilpassbar åpen kildekode-programvare for forretningsapplikasjonsplattformer. OroPlatform gir deg alle funksjonene som kreves for å lage en tilpasset applikasjon. OroCRM er bygget ved hjelp av PHP Symfony-rammeverket og lagrer dataene i MySQL/MariaDB-databaseserveren. Det er en bedriftsklar CRM-applikasjon som tilbyr tonnevis av funksjoner. Den integreres også med mange tredjepartsapplikasjoner som Magento Store, MailChimp, Zendesk og mange flere. Den er flerspråklig og har et fullt responsivt brukergrensesnitt, som gir deg muligheten til å administrere det ved hjelp av mobile enheter også.
Forutsetninger
I denne opplæringen vil vi bruke crm.example.comsom domenenavnet som pekte til serveren. Erstatt alle forekomster av crm.example.commed ditt faktiske domenenavn.
Oppdater basissystemet ditt ved å bruke veiledningen Hvordan oppdatere Ubuntu 16.04 . Når systemet ditt har blitt oppdatert, fortsett å installere de nødvendige avhengighetene.
Installer Nginx og PHP 7
OroCRM kan installeres på hvilken som helst produksjonswebserver som støtter PHP. OroCRM støtter alle versjoner av PHP større enn 7.0. I denne opplæringen vil vi bruke Nginx med PHP-FPM og PHP 7.1.
Installer Nginx.
sudo apt -y install nginx
Start Nginx og aktiver den automatisk ved oppstart.
sudo systemctl start nginx
sudo systemctl enable nginx
PHP 7.1 er ikke tilgjengelig i standarddepotet apt. Først legger du til PPA-depotet for PHP.
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
Installer PHP 7.1 sammen med PHP-modulene som kreves av 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
Rediger den innlastede PHP-konfigurasjonsfilen.
sudo nano /etc/php/7.1/cli/php.ini
Finn følgende linjer. Fjern kommentarer og gjør endringer som vist.
date.timezone = Asia/Kolkata
;Replace "Asia/Kolkata" with your appropriate timezone
cgi.fix_pathinfo=0
Start PHP-FPM og la den starte ved oppstart.
sudo systemctl start php7.1-fpm
sudo systemctl enable php7.1-fpm
Installer MariaDB
MariaDB er en åpen kildekode-gaffel av MySQL. Legg til MariaDB 10.2-depot.
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'
Installer MariaDB.
sudo apt -y update
sudo apt -y install mariadb-server
Start MariaDB og la den automatisk starte ved oppstart.
sudo systemctl start mariadb
sudo systemctl enable mariadb
Opprett databasen for OroCRM
Logg på MySQL-skallet som root-bruker ved å kjøre.
mysql -u root -p
Oppgi passordet for MariaDB-rotbrukeren for å logge på.
Kjør følgende spørringer for å opprette en database og en databasebruker for OroCRM-installasjon.
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;
Du kan erstatte databasenavnet oro_dataog brukernavnet oro_useretter eget valg. Pass på å endre StrongPasswordtil et veldig sterkt passord.
Installer Node.js og Composer
OroCRM krever også Node.js JavaScript-kjøretid. Node.js vil bli brukt av OroCRM for å kompilere JavaScript, som brukes til å bygge brukergrensesnittet til applikasjonen. Standarddepotet til Ubuntu inneholder en utdatert versjon av Node.js, så du må legge til Nodesource-depotet til systemet ditt for å få den nyeste versjonen.
sudo curl --silent --location https://deb.nodesource.com/setup_8.x | sudo bash -
Installer Node.js og Git.
sudo apt -y install nodejs git
Git vil bli brukt til å klone OroCRM-depotet fra internett. Du må også installere Composer. Composer er et avhengighetsbehandlingsverktøy for PHP-applikasjoner. Fordi OroCRM er skrevet i Symfony-rammeverket, trenger du Composer for å installere avhengighetene og applikasjonen.
Installer Composer.
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
Flytt Composer til /usr/binkatalogen slik at den kan kjøres fra hvor som helst i systemet.
sudo mv composer.phar /usr/bin/composer
Gi utførelsestillatelse til komponisten.
sudo chmod +x /usr/bin/composer
Installer OroCRM
Det er mange måter å laste ned OroCRM på serveren din. Den mest hensiktsmessige måten å få den mest oppdaterte versjonen på er å klone depotet gjennom Git.
Klon OroCRM-depotet.
cd /usr/share/nginx/
sudo git clone -b 2.4 https://github.com/oroinc/crm-application.git orocrm
Kopier eksempelfilen parameterstil standardfilen parameterssom brukes av OroCRM.
cd orocrm
sudo cp app/config/parameters.yml.dist app/config/parameters.yml
Før du kan fortsette videre, må du oppdatere parameters.ymlfilen for å gi database- og e-postinformasjon.
sudo nano app/config/parameters.yml
Finn følgende linjer.
database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: ~
database_name: oro_crm
database_user: root
database_password: ~
Oppdater konfigurasjonen ovenfor i henhold til databasen du har opprettet for å lagre OroCRM-data. I vårt tilfelle skal det se slik ut.
database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: 3306
database_name: oro_data
database_user: oro_user
database_password: StrongPassword
Hvis du har en SMTP-server klar og du ønsker å bruke e-postsendingsfunksjoner umiddelbart, kan du oppdatere e-postinnstillingene som vist.
mailer_transport: smtp
mailer_host: mail.example.com
mailer_port: 456
mailer_encryption: ssl
mailer_user: mails@example.com
mailer_password: EMailPassword
Hvis du ikke har en e-postserver klar, kan du hoppe over den inntil videre ved å la de eksisterende verdiene stå. Du kan alltid endre e-postkonfigurasjon via dashbordet.
Sett inn en tilfeldig streng secretved å erstatte ThisTokenIsNotSoSecretChangeIt. En tilfeldig streng er nødvendig for å kode øktdataene. En eksempelstreng vil se slik ut.
secret: uxvpXHhDxCFc9yU1hV1fMwjSoyVUzGh4WBMBBBa3XEgrRUF5OuB2h8iNl9JRDqcd
Du kan generere en tilfeldig streng ved å bruke pwgenverktøyet. Installer pwgenved å kjøre sudo apt -y install pwgen. For å generere en tilfeldig streng, kjør pwgen -s 64 1.
Lagre filen og gå ut av redigeringsprogrammet. Installer de nødvendige PHP-avhengighetene gjennom composer.
sudo composer install --prefer-dist --no-dev
Bruk --no-devvil sikre at Composer bare installerer avhengighetene som kreves for å kjøre webserveren i produksjonsmodus. Skriptet vil ta noen minutter å laste ned og installere de nødvendige PHP-avhengighetene.
Installer applikasjonen.
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;
}
Pass på at du endrer crm.example.comtil ditt faktiske domenenavn. Konfigurasjonen ovenfor inkluderer også konfigurasjonen som kreves for GZip-komprimering og nettleserbufring. Gzip-komprimering komprimerer dataene før de sendes til nettleseren. Aktivering av nettleserbufring lagrer de statiske ressursene i nettbufferen til klientdatamaskinen. Neste gang brukeren går inn på nettstedet, lastes det meste av det statiske innholdet fra brukerens egen nettbuffer. Disse to metodene øker hastigheten på applikasjonen dramatisk.
Aktiver nettstedet.
sudo ln -s /etc/nginx/sites-available/orocrm /etc/nginx/sites-enabled/orocrm
Sjekk Nginx-konfigurasjonsfilen for eventuelle feil.
sudo nginx -t
Utgangen skal se slik ut.
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
Gi eierskapet til OroCRM-filene til Nginx-brukeren.
sudo chown -R www-data:www-data /usr/share/nginx/orocrm
Start Nginx på nytt for å bruke den nye konfigurasjonen.
sudo systemctl restart nginx
Du kan nå få tilgang til applikasjonen på http://crm.example.com. Logg inn med administratoren usernameog passworddu har satt under installasjonen.
Sett opp planlagte oppgaver og bakgrunnsjobber
For å kjøre de planlagte oppgavene automatisk kan du legge til en Cron-jobboppføring. Åpne crontab.
sudo crontab -e
Legg til følgende linje i filen.
*/1 * * * * /usr/bin/php /usr/share/nginx/orocrm/app/console oro:cron --env=prod > /dev/null
Dette vil kjøre cron-jobben hvert minutt slik at de planlagte oppgavene som e-postkøer behandles tidligst.
Du må også konfigurere Supervisor for å kjøre Message Queue-tjenesten. Det kreves at minst én prosess kjører til enhver tid for at en forbruker skal behandle meldingene. En forbruker kan normalt avbryte meldingsprosessen på mange måter. For å sikre at tjenesten kjører kontinuerlig, vil vi bruke veiledertjenesten. Vi vil konfigurere Supervisor til å kjøre fire prosesser parallelt. Hvis noen av de fire prosessene stoppes av en eller annen grunn, vil Supervisor prøve å starte den på nytt.
Installer Supervisor.
sudo apt -y install supervisor
Opprett en ny Supervisor-konfigurasjonsfil.
sudo nano /etc/supervisor/conf.d/orocrm.conf
Legg til følgende linjer i filen.
[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
Start og aktiver Supervisor for å starte automatisk ved oppstart.
sudo systemctl restart supervisor
sudo systemctl enable supervisor
Du kan se statusen til prosessene ved å kjøre følgende.
sudo supervisorctl status
Du bør se at prosessene kjører.
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 er nå installert på serveren din. Du kan nå bruke applikasjonen til å administrere rutineoppgavene til organisasjonen din. For å lære mer om OroCRM, kan du besøke dets offisielle nettsted .