Ubuntu 16.04にOroCRMをインストールする方法

OroCRMは、OroPlatform上に構築された無料のオープンソースのCustomer Relationship Manager(CRM)アプリケーションです。OroPlatformは、完全にカスタマイズ可能なオープンソースのビジネスアプリケーションプラットフォームソフトウェアです。OroPlatformは、カスタマイズされたアプリケーションの作成に必要なすべての機能を提供します。OroCRMは、PHP Symfonyフレームワークを使用して構築され、そのデータをMySQL / MariaDBデータベースサーバーに格納します。エンタープライズ向けのCRMアプリケーションであり、多くの機能を提供します。また、Magento Store、MailChimp、Zendeskなど、多くのサードパーティアプリケーションと統合します。それは多言語であり、完全に応答性の高いユーザーインターフェイスを備えており、モバイルデバイスを使用してそれを管理する機能も提供します。

前提条件

このチュートリアルではcrm.example.com、サーバーを指すドメイン名としてを使用します。すべてのcrm.example.comを実際のドメイン名に置き換えます。

How to Update Ubuntu 16.04のガイドを使用してベースシステムを更新します。システムが更新されたら、必要な依存関係のインストールに進みます。

NginxとPHP 7をインストールする

OroCRMは、PHPをサポートするすべての本番ウェブサーバーにインストールできます。OroCRMは、7.0以降のすべてのバージョンのPHPをサポートしています。このチュートリアルでは、PHP-FPMおよびPHP 7.1でNginxを使用します。

Nginxをインストールします。

sudo apt -y install nginx

Nginxを起動し、起動時に自動的に起動するようにします。

sudo systemctl start nginx
sudo systemctl enable nginx

PHP 7.1は、デフォルトのaptリポジトリでは使用できません。まず、PHPのPPAリポジトリを追加します。

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

OroCRMで必要なPHPモジュールとともにPHP 7.1をインストールします。

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

ロードされたPHP構成ファイルを編集します。

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

次の行を見つけます。図のように、コメントを外して変更を加えます。

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

cgi.fix_pathinfo=0

PHP-FPMを起動し、起動時に起動できるようにします。

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

MariaDBをインストールする

MariaDBはMySQLのオープンソースフォークです。MariaDB 10.2リポジトリを追加します。

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'

MariaDBをインストールします。

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

MariaDBを起動し、起動時に自動的に起動するように有効にします。

sudo systemctl start mariadb
sudo systemctl enable mariadb

OroCRMのデータベースを作成する

実行して、rootユーザーとしてMySQLシェルにログインします。

mysql -u root -p

MariaDB rootユーザーがログインするためのパスワードを入力します。

次のクエリを実行して、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;

選択に応じて、データベース名oro_dataとユーザー名を置き換えることができoro_userます。StrongPassword非常に強力なパスワードに変更してください。

Node.jsとComposerをインストールする

OroCRMには、Node.js JavaScriptランタイムも必要です。Node.jsは、アプリケーションのユーザーインターフェイスを構築するために使用されるJavaScriptをコンパイルするためにOroCRMによって使用されます。Ubuntuのデフォルトリポジトリには古いバージョンのNode.jsが含まれているため、最新バージョンを取得するには、システムにNodesourceリポジトリを追加する必要があります。

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

Node.jsとGitをインストールします。

sudo apt -y install nodejs git

Gitは、インターネットからOroCRMリポジトリを複製するために使用されます。Composerもインストールする必要があります。Composerは、PHPアプリケーション用の依存関係マネージャーツールです。OroCRMはSymfonyフレームワークで記述されているため、依存関係とアプリケーションをインストールするにはComposerが必要です。

Composerをインストールします。

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

Composerを/usr/binディレクトリに移動して、システムのどこからでも実行できるようにします。

sudo mv composer.phar /usr/bin/composer

Composerに実行権限を付与します。

sudo chmod +x /usr/bin/composer

OroCRMをインストールする

サーバーにOroCRMをダウンロードするには多くの方法があります。最新のバージョンを取得する最も適切な方法は、Gitを使用してリポジトリのクローンを作成することです。

OroCRMリポジトリのクローンを作成します。

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

サンプルparametersファイルを、parametersOroCRMで使用されるデフォルトファイルにコピーします。

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

さらに先に進む前に、parameters.ymlファイルを更新してデータベースと電子メール情報を提供する必要があります。

sudo nano app/config/parameters.yml

次の行を見つけます。

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

OroCRMデータを格納するために作成したデータベースに従って、上記の構成を更新します。私たちの場合は、次のようになります。

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

SMTPサーバーの準備ができており、電子メール送信機能をすぐに使用したい場合は、図のようにメーラー設定を更新できます。

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

メールサーバーの準備ができていない場合は、既存の値をそのままにして、今はスキップできます。ダッシュボードからいつでもメール設定を変更できます。

secret置き換えて、ランダムな文字列を設定しますThisTokenIsNotSoSecretChangeIt。セッションデータをエンコードするには、ランダムな文字列が必要です。文字列の例は次のようになります。

secret:            uxvpXHhDxCFc9yU1hV1fMwjSoyVUzGh4WBMBBBa3XEgrRUF5OuB2h8iNl9JRDqcd

pwgenユーティリティを使用してランダムな文字列を生成できます。をpwgen実行してインストールしますsudo apt -y install pwgen。ランダムな文字列を生成するには、を実行しpwgen -s 64 1ます。

ファイルを保存して、エディターを終了します。composerを介して必要なPHP依存関係をインストールします。

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

を使用--no-devすると、ComposerはWebサーバーを本番モードで実行するために必要な依存関係のみをインストールします。スクリプトは、必要なPHP依存関係をダウンロードしてインストールするのに数分かかります。

アプリケーションをインストールします。

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

これにより、Webキャッシュが構築され、データベースに書き込まれます。この--env=prodパラメーターは、アプリケーションを実動モードでインストールするために提供されています。インストールは、必要な依存関係がすべてインストールおよび構成されている場合にのみ続行されます。

インストール中に、管理者アカウントを設定するためのいくつかの質問が表示されます。質問は以下の通りです。

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

情報を提供します。生産に使用する前に、サンプルデータをロードして製品を評価します。

APIドキュメントキャッシュをウォームアップします。

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

Nginx、ファイアウォール、権限の構成

Nginxサーバーブロックファイルを作成して、アプリケーションをユーザーに提供します。

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

ファイルに入力します。

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

crm.example.com実際のドメイン名に変更してください。上記の設定には、GZip圧縮とブラウザキャッシングに必要な設定も含まれています。Gzip圧縮は、ブラウザーに送信する前にデータを圧縮します。ブラウザーのキャッシュを有効にすると、静的リソースがクライアントコンピューターのWebキャッシュに保存されます。次にユーザーがサイトにアクセスするとき、静的コンテンツのほとんどはユーザー自身のWebキャッシュから読み込まれます。これらの2つの方法により、アプリケーションの速度が劇的に向上します。

サイトを有効にします。

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

Nginx構成ファイルにエラーがないか確認します。

sudo nginx -t

出力は次のようになります。

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

NginxユーザーにOroCRMファイルの所有権を提供します。

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

Nginxを再起動して、新しい構成を適用します。

sudo systemctl restart nginx

これで、アプリケーションにアクセスできますhttp://crm.example.com。管理者usernameを使用してログインし、passwordインストール中に設定しました。

スケジュールされたタスクとバックグラウンドジョブのセットアップ

スケジュールされたタスクを自動的に実行するには、cronジョブエントリを追加できます。を開きcrontabます。

sudo crontab -e

次の行をファイルに追加します。

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

これにより、毎分cronジョブが実行されるため、電子メールキューなどのスケジュールされたタスクが最も早く処理されます。

Message Queueサービスを実行するには、Supervisorもセットアップする必要があります。コンシューマーがメッセージを処理するには、常に少なくとも1つのプロセスが実行されている必要があります。コンシューマは通常、さまざまな方法でメッセージプロセスを中断できます。サービスが継続的に実行されていることを確認するために、スーパーバイザーサービスを使用します。4つのプロセスを並行して実行するようにスーパーバイザーを構成します。4つのプロセスのいずれかが何らかの理由で停止した場合、Supervisorはそれを再度開始しようとします。

スーパーバイザをインストールします。

sudo apt -y install supervisor

新しいスーパーバイザ構成ファイルを作成します。

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

次の行をファイルに追加します。

[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

スーパーバイザを起動して有効にし、起動時に自動的に起動するようにします。

sudo systemctl restart supervisor
sudo systemctl enable supervisor

次のコマンドを実行すると、プロセスのステータスを表示できます。

sudo supervisorctl status

プロセスが実行されていることがわかります。

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がサーバーにインストールされました。これで、アプリケーションを使用して、組織の日常的なタスクを管理できます。OroCRMの詳細については、公式ウェブサイトをご覧ください



ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。

macOS Catalina 10.15.4サプリメントの更新により、解決するよりも多くの問題が発生しています

macOS Catalina 10.15.4サプリメントの更新により、解決するよりも多くの問題が発生しています

最近、Appleは問題を修正するための補足アップデートであるmacOS Catalina 10.15.4をリリースしましたが、このアップデートにより、Macマシンのブリックにつながる問題がさらに発生しているようです。詳細については、この記事をお読みください

原子力が必ずしも悪ではないことを証明する5つの例

原子力が必ずしも悪ではないことを証明する5つの例

原子力は、過去の出来事のために私たちが決して尊重しないことを常に軽蔑していますが、それは必ずしも悪ではありません。詳細については、投稿をお読みください。

AIはどのようにしてプロセス自動化を次のレベルに引き上げることができますか?

AIはどのようにしてプロセス自動化を次のレベルに引き上げることができますか?

これを読んで、人工知能が小規模企業の間でどのように人気を博しているか、そして人工知能がどのように成長し、競合他社に優位に立つ可能性を高めているかを理解してください。

ジャーナリングファイルシステムとは何ですか、そしてそれはどのように機能しますか?

ジャーナリングファイルシステムとは何ですか、そしてそれはどのように機能しますか?

私たちのコンピューターは、ジャーナリングファイルシステムと呼ばれる組織化された方法ですべてのデータを保存します。これは、検索を押すとすぐにコンピューターがファイルを検索して表示できるようにする効率的な方法です。https://wethegeek.com/?p = 94116&preview = true

ビッグデータは人工知能をどのように変えていますか?

ビッグデータは人工知能をどのように変えていますか?

ビッグデータと人工知能は流行語ですが、それらがどのように相互に関連しているか知っていますか?さて、この記事を最後まで読んで、同じことを知ってください。

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartは、PHP、jQuery、およびHTML 5で記述された無料のオープンソースのショッピングカートプラットフォームです。シンプルで軽量、使いやすいeコマースソフトウォー

DebianでNFS共有をセットアップする

DebianでNFS共有をセットアップする

NFSはネットワークベースのファイルシステムであり、コンピューターはコンピューターネットワークを介してファイルにアクセスできます。このガイドでは、NFを介してフォルダーを公開する方法について説明します

Fedora 28にMatomo Analyticsをインストールする方法

Fedora 28にMatomo Analyticsをインストールする方法

別のシステムを使用していますか?Matomo(旧Piwik)は、Google Analyticsのオープンな代替手段であるオープンソースの分析プラットフォームです。Matomoのソースはoでホストされています

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

HTTPライブストリーミング(HLS)は、Apple Inc.によって実装された非常に堅牢なストリーミングビデオプロトコルです。HLSは、ファイアウォール、プロキシ、