So installieren Sie OroCRM unter Ubuntu 16.04

OroCRM ist eine kostenlose Open Source-Anwendung für Customer Relationship Manager (CRM), die auf OroPlatform basiert. OroPlatform ist eine vollständig anpassbare Open-Source-Software für Geschäftsanwendungsplattformen. OroPlatform bietet Ihnen alle Funktionen, die zum Erstellen einer benutzerdefinierten Anwendung erforderlich sind. OroCRM wird mit dem PHP Symfony Framework erstellt und speichert seine Daten auf dem MySQL / MariaDB-Datenbankserver. Es ist eine unternehmensfähige CRM-Anwendung, die unzählige Funktionen bietet. Es lässt sich auch in viele Anwendungen von Drittanbietern wie Magento Store, MailChimp, Zendesk und viele mehr integrieren. Es ist mehrsprachig und verfügt über eine vollständig ansprechende Benutzeroberfläche, über die Sie es auch mit mobilen Geräten verwalten können.

Voraussetzungen

In diesem Tutorial wird crm.example.comder Domänenname verwendet, der auf den Server verweist. Ersetzen Sie alle Vorkommen von crm.example.comdurch Ihren tatsächlichen Domainnamen.

Aktualisieren Sie Ihr Basissystem mithilfe der Anleitung zum Aktualisieren von Ubuntu 16.04 . Installieren Sie nach der Aktualisierung Ihres Systems die erforderlichen Abhängigkeiten.

Installieren Sie Nginx und PHP 7

OroCRM kann auf jedem Produktionswebserver installiert werden, der PHP unterstützt. OroCRM unterstützt alle Versionen von PHP größer als 7.0. In diesem Tutorial werden wir Nginx mit PHP-FPM und PHP 7.1 verwenden.

Installieren Sie Nginx.

sudo apt -y install nginx

Starten Sie Nginx und aktivieren Sie es, um beim Booten automatisch zu starten.

sudo systemctl start nginx
sudo systemctl enable nginx

PHP 7.1 ist im Standard- aptRepository nicht verfügbar . Fügen Sie zunächst das PPA-Repository für PHP hinzu.

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php

Installieren Sie PHP 7.1 zusammen mit den von OroCRM benötigten PHP-Modulen.

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

Bearbeiten Sie die geladene PHP-Konfigurationsdatei.

sudo nano /etc/php/7.1/cli/php.ini

Suchen Sie die folgenden Zeilen. Kommentar entfernen und Änderungen wie gezeigt vornehmen.

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

cgi.fix_pathinfo=0

Starten Sie PHP-FPM und aktivieren Sie es, um beim Booten zu starten.

sudo systemctl start php7.1-fpm
sudo systemctl enable php7.1-fpm

Installieren Sie MariaDB

MariaDB ist eine Open Source-Version von MySQL. Fügen Sie das MariaDB 10.2-Repository hinzu.

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'

Installieren Sie MariaDB.

sudo apt -y update
sudo apt -y install mariadb-server

Starten Sie MariaDB und aktivieren Sie es, um beim Booten automatisch zu starten.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Erstellen Sie die Datenbank für OroCRM

Melden Sie sich bei der MySQL-Shell als Root-Benutzer an, indem Sie ausführen.

mysql -u root -p

Geben Sie das Kennwort für den MariaDB-Root-Benutzer ein, um sich anzumelden.

Führen Sie die folgenden Abfragen aus, um eine Datenbank und einen Datenbankbenutzer für die OroCRM-Installation zu erstellen.

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;

Sie können den Datenbanknamen oro_dataund den Benutzernamen oro_usernach Ihrer Wahl ersetzen . Stellen Sie sicher, dass Sie StrongPasswordein sehr sicheres Passwort verwenden.

Installieren Sie Node.js und Composer

OroCRM erfordert auch die JavaScript-Laufzeit von Node.js. Node.js wird von OroCRM zum Kompilieren des JavaScript verwendet, mit dem die Benutzeroberfläche der Anwendung erstellt wird. Das Standard-Repository von Ubuntu enthält eine veraltete Version von Node.js. Daher müssen Sie das Nodesource-Repository zu Ihrem System hinzufügen, um die neueste Version zu erhalten.

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

Installieren Sie Node.js und Git.

sudo apt -y install nodejs git

Git wird verwendet, um das OroCRM-Repository aus dem Internet zu klonen. Sie müssen auch Composer installieren. Composer ist ein Abhängigkeitsmanager-Tool für PHP-Anwendungen. Da OroCRM im Symfony-Framework geschrieben ist, benötigen Sie Composer, um die Abhängigkeiten und die Anwendung zu installieren.

Installieren Sie Composer.

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php

Verschieben Sie Composer in das /usr/binVerzeichnis, damit es von überall im System ausgeführt werden kann.

sudo mv composer.phar /usr/bin/composer

Geben Sie dem Composer die Ausführungsberechtigung.

sudo chmod +x /usr/bin/composer

Installieren Sie OroCRM

Es gibt viele Möglichkeiten, OroCRM auf Ihren Server herunterzuladen. Der am besten geeignete Weg, um die aktuellste Version zu erhalten, besteht darin, das Repository über Git zu klonen.

Klonen Sie das OroCRM-Repository.

cd /usr/share/nginx/
sudo git clone -b 2.4 https://github.com/oroinc/crm-application.git orocrm

Kopieren Sie die Beispieldatei parametersin die parametersvon OroCRM verwendete Standarddatei.

cd orocrm
sudo cp app/config/parameters.yml.dist  app/config/parameters.yml

Bevor Sie fortfahren können, müssen Sie die parameters.ymlDatei aktualisieren , um Datenbank- und E-Mail-Informationen bereitzustellen.

sudo nano app/config/parameters.yml

Suchen Sie die folgenden Zeilen.

database_driver:   pdo_mysql
database_host:     127.0.0.1
database_port:     ~
database_name:     oro_crm
database_user:     root
database_password: ~

Aktualisieren Sie die obige Konfiguration entsprechend der Datenbank, die Sie zum Speichern von OroCRM-Daten erstellt haben. In unserem Fall sollte es so aussehen.

database_driver:   pdo_mysql
database_host:     127.0.0.1
database_port:     3306
database_name:     oro_data
database_user:     oro_user
database_password: StrongPassword

Wenn Sie einen SMTP-Server bereit haben und die E-Mail-Sendefunktionen sofort verwenden möchten, können Sie die Mailer-Einstellungen wie gezeigt aktualisieren.

mailer_transport:  smtp
mailer_host:       mail.example.com
mailer_port:       456
mailer_encryption: ssl
mailer_user:       [email protected]
mailer_password:   EMailPassword

Wenn Sie keinen Mailserver bereit haben, können Sie ihn vorerst überspringen, indem Sie die vorhandenen Werte beibehalten. Sie können die E-Mail-Konfiguration jederzeit über das Dashboard ändern.

Setzen Sie eine zufällige Zeichenfolge secretdurch Ersetzen ein ThisTokenIsNotSoSecretChangeIt. Zum Codieren der Sitzungsdaten ist eine zufällige Zeichenfolge erforderlich. Eine Beispielzeichenfolge sieht folgendermaßen aus.

secret:            uxvpXHhDxCFc9yU1hV1fMwjSoyVUzGh4WBMBBBa3XEgrRUF5OuB2h8iNl9JRDqcd

Mit dem pwgenDienstprogramm können Sie eine zufällige Zeichenfolge generieren . Installation pwgendurch Ausführen sudo apt -y install pwgen. Führen Sie aus, um eine zufällige Zeichenfolge zu generieren pwgen -s 64 1.

Speichern Sie die Datei und beenden Sie den Editor. Installieren Sie die erforderlichen PHP-Abhängigkeiten über Composer.

sudo composer install --prefer-dist --no-dev

Durch --no-devdie Verwendung wird sichergestellt, dass Composer nur die Abhängigkeiten installiert, die zum Ausführen des Webservers im Produktionsmodus erforderlich sind. Das Skript benötigt einige Minuten, um die erforderlichen PHP-Abhängigkeiten herunterzuladen und zu installieren.

Installieren Sie die Anwendung.

sudo php app/console oro:install --env=prod

Dadurch wird der Webcache erstellt und die Datenbank geschrieben. Der --env=prodParameter wird bereitgestellt, um die Anwendung im Produktionsmodus zu installieren. Die Installation wird nur fortgesetzt, wenn alle erforderlichen Abhängigkeiten installiert und konfiguriert sind.

Während der Installation werden Ihnen einige Fragen zum Einrichten des Administratorkontos gestellt. Die Fragen sind wie folgt.

Administration setup.
Application URL (http://localhost): http://crm.example.com
Organization name (OroCRM): My Org
Username (admin): admin
Email: [email protected]
First name: John
Last name: Doe
Password:
Load sample data (y/n): y

Geben Sie die Informationen an. Laden Sie die Probendaten, um das Produkt zu bewerten, bevor Sie es für die Produktion verwenden.

Erwärmen Sie den API-Dokumentationscache:

sudo php app/console oro:api:doc:cache:clear

Konfigurieren von Nginx, Firewall und Berechtigungen

Erstellen Sie eine Nginx-Serverblockdatei, um die Anwendung den Benutzern bereitzustellen.

sudo nano /etc/nginx/sites-available/orocrm

Füllen Sie die Datei.

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;
}

Stellen Sie sicher, dass Sie den crm.example.comin Ihren tatsächlichen Domainnamen ändern . Die obige Konfiguration enthält auch die Konfiguration, die für die GZip-Komprimierung und das Browser-Caching erforderlich ist. Die Gzip-Komprimierung komprimiert die Daten, bevor sie an den Browser gesendet werden. Durch Aktivieren des Browser-Caching werden die statischen Ressourcen im Web-Cache des Client-Computers gespeichert. Wenn der Benutzer das nächste Mal auf die Site zugreift, wird der größte Teil des statischen Inhalts aus dem eigenen Webcache des Benutzers geladen. Diese beiden Methoden erhöhen die Geschwindigkeit der Anwendung erheblich.

Aktivieren Sie die Site.

sudo ln -s /etc/nginx/sites-available/orocrm /etc/nginx/sites-enabled/orocrm

Überprüfen Sie die Nginx-Konfigurationsdatei auf Fehler.

sudo nginx -t

Die Ausgabe sollte wie folgt aussehen.

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

Stellen Sie dem Nginx-Benutzer den Besitz der OroCRM-Dateien zur Verfügung.

sudo chown -R www-data:www-data /usr/share/nginx/orocrm

Starten Sie Nginx neu, um die neue Konfiguration anzuwenden.

sudo systemctl restart nginx

Sie können jetzt unter auf die Anwendung zugreifen http://crm.example.com. Melden Sie sich mit dem Administrator an usernameund passwordSie haben dies während der Installation festgelegt.

Einrichten geplanter Aufgaben und Hintergrundjobs

Um die geplanten Aufgaben automatisch auszuführen, können Sie einen Cron-Auftragseintrag hinzufügen. Öffnen crontab.

sudo crontab -e

Fügen Sie der Datei die folgende Zeile hinzu.

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

Dadurch wird der Cron-Job jede Minute ausgeführt, sodass die geplanten Aufgaben wie E-Mail-Warteschlangen frühestens verarbeitet werden.

Sie müssen auch Supervisor einrichten, um den Message Queue-Dienst auszuführen. Es ist erforderlich, dass immer mindestens ein Prozess ausgeführt wird, damit ein Verbraucher die Nachrichten verarbeiten kann. Ein Verbraucher kann den Nachrichtenprozess normalerweise auf viele Arten unterbrechen. Um sicherzustellen, dass der Dienst kontinuierlich ausgeführt wird, verwenden wir den Supervisor-Dienst. Wir werden Supervisor so konfigurieren, dass vier Prozesse parallel ausgeführt werden. Wenn einer der vier Prozesse aus irgendeinem Grund gestoppt wird, versucht Supervisor, ihn erneut zu starten.

Installieren Sie Supervisor.

sudo apt -y install supervisor

Erstellen Sie eine neue Supervisor-Konfigurationsdatei.

sudo nano /etc/supervisor/conf.d/orocrm.conf

Fügen Sie der Datei die folgenden Zeilen hinzu.

[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

Starten Sie und aktivieren Sie Supervisor, um beim Booten automatisch zu starten.

sudo systemctl restart supervisor
sudo systemctl enable supervisor

Sie können den Status der Prozesse anzeigen, indem Sie Folgendes ausführen.

sudo supervisorctl status

Sie sollten sehen, dass die Prozesse ausgeführt werden.

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 ist jetzt auf Ihrem Server installiert. Mit der Anwendung können Sie jetzt die Routineaufgaben Ihrer Organisation verwalten. Um mehr über OroCRM zu erfahren, können Sie die offizielle Website besuchen .



Leave a Comment

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Ransomware-Angriffe nehmen zu, aber kann KI helfen, den neuesten Computervirus zu bekämpfen? Ist KI die Antwort? Lesen Sie hier, ob KI boone oder bane ist

ReactOS: Ist das die Zukunft von Windows?

ReactOS: Ist das die Zukunft von Windows?

ReactOS, ein quelloffenes und kostenloses Betriebssystem, ist hier mit der neuesten Version. Kann es den Anforderungen moderner Windows-Benutzer genügen und Microsoft zu Fall bringen? Lassen Sie uns mehr über dieses alte, aber neuere Betriebssystem erfahren.

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Whatsapp hat endlich die Desktop-App für Mac- und Windows-Benutzer auf den Markt gebracht. Jetzt können Sie ganz einfach von Windows oder Mac auf WhatsApp zugreifen. Verfügbar für Windows 8+ und Mac OS 10.9+

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Lesen Sie dies, um zu erfahren, wie Künstliche Intelligenz bei kleinen Unternehmen beliebt wird und wie sie die Wahrscheinlichkeit erhöht, sie wachsen zu lassen und ihren Konkurrenten einen Vorsprung zu verschaffen.

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

Vor kurzem hat Apple macOS Catalina 10.15.4 als Ergänzungsupdate veröffentlicht, um Probleme zu beheben, aber es scheint, dass das Update mehr Probleme verursacht, die zum Bricking von Mac-Computern führen. Lesen Sie diesen Artikel, um mehr zu erfahren

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Unser Computer speichert alle Daten in einer organisierten Weise, die als Journaling-Dateisystem bekannt ist. Es ist eine effiziente Methode, die es dem Computer ermöglicht, Dateien zu suchen und anzuzeigen, sobald Sie auf die Suche klicken.https://wethegeek.com/?p=94116&preview=true

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Da sich die Wissenschaft schnell weiterentwickelt und einen Großteil unserer Bemühungen übernimmt, steigt auch das Risiko, uns einer unerklärlichen Singularität auszusetzen. Lesen Sie, was Singularität für uns bedeuten könnte.

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

KI im Gesundheitswesen hat in den letzten Jahrzehnten große Fortschritte gemacht. Somit wächst die Zukunft der KI im Gesundheitswesen immer noch von Tag zu Tag.