ウェブサイト検索

Ubuntu 16.04 LTS で Nginx を使用して OroCRM をインストールする方法


このページでは

  1. 前提条件
  2. はじめに
  3. LEMP サーバーをインストールする
  4. OroCRM 用に MariaDB を構成する
  5. Node.js と Composer をインストールする
  6. OroCRM をインストールする
  7. OroCRM 用に Nginx を構成する
  8. OroCRM へのアクセス

OroCRM は、マルチチャネルの視点を持つ電子商取引およびマーケティング チームを完全に対象とした、オープン ソースのカスタマー リレーションシップ マネージャー (CRM) プラットフォームです。完全にカスタマイズ可能で、エンタープライズ対応の CRM アプリケーションであり、多数の機能を提供します。 PHP Symfony フレームワーク上に構築され、MySQL を使用してデータを保存します。 OroCRM には、Community Edition (CE) と Enterprise Edition (EE) の 2 つのエディションがあります。 Magento やその他のソリューションなど、他の e コマース プラットフォームと簡単に統合できます。

このチュートリアルでは、OroCRM を Ubuntu 16.04 にインストールする方法を学習します。

前提条件

  • Ubuntu 16.04 を実行しているサーバー。
  • sudo 権限を持つ root 以外のユーザー。

入門

まず、システムを最新バージョンに更新する必要があります。これは、次のコマンドで実行できます。

sudo apt-get update -y
sudo apt-get upgrade -y

システムが更新されたら、システムを再起動してすべての変更を適用します。次に、次のコマンドを使用して、必要なパッケージをシステムにインストールします。

sudo apt-get install git curl unzip wget -y

LEMP サーバーをインストールする

開始する前に、システムに LEMP (Nginx、MariaDB、および PHP7) をインストールする必要があります。

まず、次のコマンドを使用して Nginx をインストールします。

sudo apt-get install nginx -y

Nginx をインストールしたら、Nginx サービスを開始し、次のコマンドを使用して起動時に開始できるようにします。

sudo systemctl start nginx
sudo systemctl enable nginx

デフォルトでは、MariaDB と PHP の最新バージョンは Ubuntu 16.04 では利用できません。したがって、そのためのリポジトリを追加する必要があります。

まず、次のコマンドを使用して MariaDB リポジトリを追加します。

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'

次に、次のコマンドで PHP リポジトリを追加します。

sudo add-apt-repository ppa:ondrej/php

次に、次のコマンドでリポジトリを更新します。

sudo apt-get update -y

リポジトリが更新されたら、次のコマンドを実行して MariaDB と PHP7 をインストールします。

sudo apt-get install mariadb-server php7.0 php7.0-fpm php7.0-common php7.0-curl php7.0-gd php7.0-intl php7.0-json php7.0-mbstring php7.0-mcrypt php7.0-mysql php7.0-xml php7.0-xml php7.0-zip php7.0-tidy php7.0-soap php7.0-opcache -y

次に、タイムゾーンを設定し、php.ini ファイルでメモリ制限を増やす必要があります。

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

次の行を変更します。

date.timezone = Asia/Kolkata

終了したら、ファイルを保存して閉じます。

sudo nano /etc/php/7.0/fpm/php.ini

次の行を変更します。

memory_limit = 1024M

終了したら、ファイルを保存して閉じます。

次に、MariaDB と PHP-FPM サービスを開始し、次のコマンドを使用して起動時に開始できるようにします。

sudo systemctl start mysql
sudo systemctl enable mysql
sudo systemctl start php7.0-fpm
sudo systemctl enable php7.0-fpm

OroCRM 用に MariaDB を構成する

デフォルトでは、MariaDB のインストールは保護されていないため、最初に MariaDB を保護する必要があります。 mysql_secure_installation スクリプトを実行してセキュリティを確保できます。

sudo mysql_secure_installation

以下に示すように、すべての質問に答えてください。

Set root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

次に、MariaDB シェルにログインし、OroCRM 用のデータベースとユーザーを作成します。

mysql -u root -p

root パスワードを入力して Enter キーを押し、次のコマンドでデータベースとユーザーを作成します。

MariaDB [(none)]> CREATE DATABASE orodb;
MariaDB [(none)]> CREATE USER 'orouser'@'localhost' IDENTIFIED BY 'password';

次に、次のコマンドを使用して、OroCRM データベースに権限を付与します。

MariaDB [(none)]> GRANT ALL PRIVILEGES ON orodb.* TO 'orouser'@'localhost';

次に、 FLUSH PRIVILEGES コマンドを実行して、特権テーブルが MariaDB によってリロードされるようにします。

MariaDB [(none)]> FLUSH PRIVILEGES;

最後に、MariaDB シェルを終了します。

MariaDB [(none)]> EXIT

MariaDB が構成されたら、次のステップに進むことができます。

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

また、Node.js と Composer をシステムにインストールする必要があります。 Node.js は OroCRM によって JavaScript をコンパイルするために使用され、Composer は PHP の依存関係をインストールするために使用されるためです。

まず、次のコマンドを使用して Node.js リポジトリを追加します。

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

次に、次のコマンドを使用して Node.js と Composer をインストールします。

sudo apt-get install nodejs -y
sudo php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
sudo php composer-setup.php

次に、次のコマンドを使用して Composer を /usr/bin ディレクトリにコピーします。

sudo cp composer.phar /usr/bin/composer

次のコマンドを使用して、Composer に必要な権限を付与します。

sudo chmod 755 /usr/bin/composer

OroCRM をインストールする

まず、Git リポジトリから OroCRM の最新バージョンをダウンロードする必要があります。これは、次のコマンドで実行できます。

cd /var/www/html
sudo git clone -b 2.4 https://github.com/oroinc/crm-application.git orocrm

次に、ディレクトリを orocrm に変更し、次のコマンドを使用して PHP に必要な依存関係をインストールします。

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

インストール中に、データベース名、データベースのユーザー名とパスワード、データベース ホストなどのデータベースの詳細を次のように指定する必要があります。

Creating the "app/config/parameters.yml" file
Some parameters are missing. Please provide them.
database_driver (pdo_mysql): 
database_host (127.0.0.1): 
database_port (null):
database_name (oro_crm): orodb 
database_user (root): orouser
database_password (null): password
mailer_transport (smtp): 
mailer_host (127.0.0.1): 
mailer_port (null): 
mailer_encryption (null): 
mailer_user (null): 
mailer_password (null): 
websocket_bind_address (0.0.0.0): 
websocket_bind_port (8080): 
websocket_frontend_host ('*'): 
websocket_frontend_port (8080): 
websocket_backend_host ('*'): 
websocket_backend_port (8080): 
web_backend_prefix (''): 
session_handler (session.handler.native_file): 
locale (en): 
secret (ThisTokenIsNotSoSecretChangeIt): 
installed (null): 
assets_version (null): 
assets_version_strategy (time_hash): 
message_queue_transport (dbal): 
message_queue_transport_config (null): 

次に、次のコマンドを実行してアプリケーションをインストールします。

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

インストール中に、管理者アカウントの詳細を提供する必要があります。

Administration setup.
Application URL (http://localhost): 
Organization name (OroCRM): 
Username (admin): 
Email: 
First name: hitesh
Last name: jethva
Password: 
Load sample data (y/n): y

Oro Application has been successfully installed in prod mode.
Please run oro:api:doc:cache:clear command to warm-up API documentation cache
Make sure that consumer command was running oro:message-queue:consume. More info you can find here: https://www.orocrm.com/documentation/current/book/installation#activating-background-tasks.

次に、次のコマンドを使用して API ドキュメント キャッシュをウォームアップします。

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

OroCRM 用に Nginx を構成する

次に、OroCRM 用の Nginx 仮想ホスト ファイルを作成する必要があります。これは、次のコマンドで実行できます。

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

次の行を追加します。

server {
    server_name example.com;
    root  /var/www/html/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.0-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;
}

終了したらファイルを保存して閉じ、次のコマンドで Nginx 仮想ホストを有効にします。

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

次に、次のコマンドを使用して、構成エラーがないか Nginx を確認します。

sudo nginx -t

次の出力が表示されます。

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

次に、orocrm ディレクトリに必要な権限を付与し、Nginx を再起動します。

sudo chown -R www-data:www-data /var/www/html/orocrm
sudo chmod -R 777 /var/www/html/orocrm
sudo systemctl restart nginx

OroCRMにアクセス

OroCRM がインストールされたら、OroCRM Web インターフェイスにアクセスします。

Web ブラウザーを開き、URL htttp://example.com を入力すると、以下に示すように、OroCRM ログイン ページにリダイレクトされます。

管理者のユーザー名とパスワードを入力し、[ログイン] ボタンをクリックすると、次の画像のような OroCRM ダッシュボードが表示されます。

おめでとう! OroCRM が Ubuntu 16.04 サーバーにインストールされました。