So installieren Sie OroCRM unter CentOS 7

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 usw. integrieren. Es ist mehrsprachig und verfügt über eine vollständig ansprechende Benutzeroberfläche, mit der 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 CentOS 7 . 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 yum -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 ist im Standard-YUM-Repository nicht verfügbar, aber wir können das Remi-Repository verwenden, um die neuesten Builds von PHP 7 abzurufen und zu installieren. Fügen Sie zunächst das Remi-Repository hinzu und aktivieren Sie es.

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

Installieren Sie die neueste Version von PHP 7 zusammen mit den von OroCRM benötigten PHP-Modulen.

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

Bearbeiten Sie die Standard-PHP-Konfigurationsdatei.

sudo nano /etc/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

memory_limit = 512M
cgi.fix_pathinfo=0

Bearbeiten Sie die PHP-FPM-Konfigurationsdatei.

sudo nano /etc/php-fpm.d/www.conf

Standardmäßig ist PHP-FPM so konfiguriert, dass es mit Apache ausgeführt wird und den Port überwacht 9000. Wir müssen den Benutzer und die Gruppe sowie die Unix-Socket-Datei ändern, auf der sie ausgeführt wird. Suchen Sie die folgenden Zeilen und nehmen Sie die erforderlichen Änderungen wie gezeigt vor.

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

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

sudo systemctl start php-fpm
sudo systemctl enable php-fpm

Stellen Sie dem Nginx-Benutzer den Besitz der PHP-FPM-Socket-Datei zur Verfügung.

sudo chown nginx:nginx /var/run/php-fpm/php-fpm.sock

Installieren Sie MariaDB

MariaDB ist eine Open Source-Version von MySQL. Installieren Sie MariaDB.

sudo yum -y install mariadb mariadb-server

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

sudo systemctl start mariadb
sudo systemctl enable mariadb

Die Standardinstallation von MariaDB enthält einige Testdatenbanken und anonyme Benutzer. Bevor Sie die Datenbank konfigurieren, müssen Sie zuerst den MariaDB-Server sichern. Sie können es sichern, indem Sie das mysql_secure_installationSkript ausführen.

sudo mysql_secure_installation

Sie werden nach dem aktuellen MariaDB-Root-Passwort gefragt. Standardmäßig gibt es in einer neuen MariaDB-Installation kein Root-Passwort. Drücken Sie die EnterTaste, um fortzufahren. Legen Sie ein sicheres Kennwort für den Root-Benutzer Ihres MariaDB-Servers fest und beantworten Sie Yalle anderen gestellten Fragen. Die gestellten Fragen sind selbsterklärend.

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 CentOS 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://rpm.nodesource.com/setup_8.x | sudo bash -

Installieren Sie Node.js und Git.

sudo yum -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
php -r "unlink('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.3 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 . Installieren Sie das pwgenDienstprogramm, indem Sie es ausführen sudo yum -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 der 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 Organization
Username (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/conf.d/orocrm.conf

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

Stellen Sie sicher, dass Sie das crm.example.commit Ihrem 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.

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

sudo nginx -t

Die Ausgabe sollte wie folgt aussehen.

[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

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

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

Starten Sie Nginx neu, um die neue Konfiguration anzuwenden.

sudo systemctl restart nginx

Wenn Sie eine Firewall auf Ihrem Server ausführen, müssen Sie die Firewall so konfigurieren, dass eine Ausnahme für den HTTP-Dienst festgelegt wird. Ermöglichen Sie Nginx, eine Verbindung von außerhalb des Netzwerks herzustellen.

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
sudo firewall-cmd --reload

Sie können jetzt unter auf die Anwendung zugreifen http://crm.example.com. Melden Sie sich mit dem Administrator-Benutzernamen und dem Kennwort an, die Sie während der Installation festgelegt haben.

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 der Supervisor, ihn erneut zu starten.

Installieren Sie Supervisor.

sudo yum -y install supervisor

Bearbeiten Sie die Supervisor-Konfigurationsdatei.

sudo nano /etc/supervisord.conf

Fügen Sie am Ende 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=nginx
redirect_stderr=true

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

sudo systemctl start supervisord
sudo systemctl enable supervisord

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 ~]$ 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 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.