GNU/Linux >> Linux の 問題 >  >> Ubuntu

Apache/Nginxを使用してUbuntu20.04にSuiteCRMをインストールする方法

このチュートリアルでは、 SuiteCRMをインストールする方法を説明します。 Ubuntu20.04でApacheまたはNginxWebサーバーを使用します。 SuiteCRMは、無料のオープンソースの顧客関係管理ソフトウェアソリューションであり、顧客とビジネスの360度のビューを提供します。人気のSugarCRMのフォークです SugarCRMが2014年にオープンソースコミュニティエディションのリリースを停止したためです。

SuiteCRMの機能

  • カレンダー/リマインダーシステム
  • ドキュメントの保存
  • メールマーケティング
  • 内部チャットの統合
  • リード資格
  • マーケティングの自動化
  • モバイルアクセス
  • 割り当て/見積もり
  • セグメンテーション
  • ソーシャルメディアの統合
  • タスク管理
  • テリトリー管理
  • 営業支援システム、マーケティングキャンペーン、カスタマーサポート、コラボレーション、モバイルCRM、ソーシャルCRM、レポート。
  • プラグインをインストールしてSuiteCRMの機能を拡張します。
  • SuiteCRMは、Gmail、Mandrill、Sendgrid、AmazonSESなどのサードパーティのSMTPリレーサービスと簡単に統合できます。独自のメールサーバーを使用することもできます。
  • Mautic、Gmail、Facebook、Twitter、GoToMeeting、MailChimp、Zoom、Quickbooks、Avaya、DocuSignなどの多くの人気のあるサードパーティアプリとシームレスに統合できます。
  • 複数のユーザーアカウントとロールをサポートします。
  • その他

Ubuntu20.04サーバーにSuiteCRMをインストールするための前提条件

SuiteCRMはPHPで記述されており、MySQL/MariaDBデータベースサーバーに依存しています。したがって、LAMPスタックまたはLEMPスタックを設定する必要があります。 Apacheをご希望の場合 Webサーバー、次にLAMPスタックを設定します。

  • Ubuntu20.04にLAMPスタックをインストールする方法

Nginxをご希望の場合 Webサーバー、次にLEMPスタックを設定します。

  • Ubuntu20.04にLEMPスタックをインストールする方法

ドメイン名も必要です。私はNameCheapからドメイン名を登録しました。これは、価格が低く、whoisのプライバシー保護が一生無料になるためです。さらに面倒なことはせずに、Ubuntu20.04サーバーにSuiteCRMをインストールしましょう。

ステップ1:SuiteCRMをUbuntu20.04サーバーにダウンロードする

サーバーで次のコマンドを実行して、最新の安定バージョンをダウンロードします。

wget https://suitecrm.com/files/162/SuiteCRM-7.11/525/SuiteCRM-7.11.18.zip

unzipをインストールします ユーティリティを使用して、/var/www/に解凍します。 ディレクトリ。

sudo apt install unzip

sudo mkdir -p /var/www/

sudo unzip SuiteCRM-7.11.18.zip -d /var/www/

/var/www/SuiteCRM-7.11.18/に保存されます ディレクトリ。わかりやすくするために名前を変更します。

sudo mv /var/www/SuiteCRM-7.11.18/ /var/www/suitecrm

次に、次のコマンドを実行して、正しい権限を設定します。

cd /var/www/suitecrm

sudo chown -R www-data:www-data /var/www/suitecrm/

sudo chmod -R 755 .

sudo chmod -R 775 cache custom modules themes data upload

sudo chmod 775 config_override.php 2>/dev/null

ステップ2:SuiteCRM用のMariaDBデータベースとユーザーを作成する

MariaDBコンソールにログインします。

sudo mysql -u root

次に、次のコマンドを使用して、SuiteCRMの新しいデータベースを作成します。このチュートリアルでは、suitecrmという名前を付けています。 、データベースには任意の名前を使用できます。

CREATE DATABASE suitecrm;

次のコマンドは、データベースユーザーとパスワードを作成すると同時に、新しいデータベースのすべてのアクセス許可を新しいユーザーに付与して、後でSuiteCRMがデータベースに書き込むことができるようにします。赤いテキストをお好みのデータベース名、ユーザー名、パスワードに置き換えます。

GRANT ALL ON suitecrm.* TO 'suitecrm'@'localhost' IDENTIFIED BY 'password';

特権テーブルをフラッシュして、MariaDBコンソールを終了します。

FLUSH PRIVILEGES;

EXIT;

ステップ3:必須および推奨のPHPモジュールをインストールします。

次のコマンドを実行して、SuiteCRMで必要または推奨されるPHPモジュールをインストールします

sudo apt install php-imagick php7.4-fpm php7.4-mysql php7.4-common php7.4-gd php7.4-imap php7.4-json php7.4-curl php7.4-zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-intl php7.4-gmp

Apache Webサーバーを使用する場合は、ApacheのPHPモジュールを無効にする必要があります。

sudo a2dismod php7.4

また、ApacheでプリフォークMPMモジュールを無効にする必要があります。

sudo a2dismod mpm_prefork

mod_phpであるかどうかに関係なく、ApacheでPHP-FPMを使用するには、次のコマンドを実行して3つのモジュールを有効にする必要があります。 サーバーにインストールされています。

sudo a2enmod mpm_event proxy_fcgi setenvif

次に、Apacheを再起動します。

sudo systemctl restart apache2

ステップ4:SuiteCRM用のApache仮想ホストまたはNginx構成ファイルを作成する

Apache

Apache Webサーバーを使用する場合は、SuiteCRMの仮想ホストを作成します。

sudo nano /etc/apache2/sites-available/suitecrm.conf

次のテキストをファイルに入れます。 suitecrm.example.comを置き換えます 実際のドメイン名を使用して、DNSAレコードを作成することを忘れないでください。

<VirtualHost *:80>
  ServerName suitecrm.example.com
  DocumentRoot /var/www/suitecrm/

  ErrorLog ${APACHE_LOG_DIR}/suitecrm_error.log
  CustomLog ${APACHE_LOG_DIR}/suitecrm_access.log combined

  <Directory />
    Options FollowSymLinks
    AllowOverride All
  </Directory>

  <Directory /var/www/suitecrm/>
    Options FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
  </Directory>

Include /etc/apache2/conf-available/php7.4-fpm.conf

</VirtualHost>

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

sudo a2ensite suitecrm.conf

変更を有効にするためにApacheをリロードします。

sudo systemctl reload apache2

これで、http://suitecrm.example.com/install.phpでSuiteCRMWebベースのインストールウィザードが表示されるはずです。 。

Nginx

Nginx Webサーバーを使用する場合は、SuiteCRMの仮想ホストを作成します。

sudo nano /etc/nginx/conf.d/suitecrm.conf

次のテキストをファイルに入れます。 suitecrm.example.comを置き換えます 実際のドメイン名を使用して、DNSAレコードを作成することを忘れないでください。

server {
   listen 80;
   listen [::]:80;
   server_name suitecrm.example.com;

   root /var/www/suitecrm;
   error_log /var/log/nginx/suitecrm.error;
   access_log /var/log/nginx/suitecrm.access;
   client_max_body_size 20M;

   index index.php index.html index.htm index.nginx-debian.html;

   location / {
     # try to serve file directly, fallback to app.php
     try_files $uri /index.php$is_args$args;
   }

   location ~ \.php$ {
     include snippets/fastcgi-php.conf;
     fastcgi_pass unix:/run/php/php7.4-fpm.sock;
     #Note: If you install SuiteCRM on iRedMail server, you should use the TCP socket instead. 
     #fastcgi_pass 127.0.0.1:9999
   }

   location ~* ^/index.php {
     # try_files $uri =404;
     fastcgi_split_path_info ^(.+\.php)(/.+)$;
     # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini

     fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
     #Note: If you install SuiteCRM on iRedMail server, you should use the TCP socket instead.
     #fastcgi_pass 127.0.0.1:9999
     fastcgi_index index.php;
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
     include fastcgi_params;

     fastcgi_buffer_size 128k;
     fastcgi_buffers 256 16k;
     fastcgi_busy_buffers_size 256k;
     fastcgi_temp_file_write_size 256k;
   }

    # Don't log favicon
    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }

    # Don't log robots
    location = /robots.txt  {
        access_log off;
        log_not_found off;
    }

    # Deny all attempts to access hidden files/folders such as .htaccess, .htpasswd, .DS_Store (Mac), etc...
    location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
    }

     # A long browser cache lifetime can speed up repeat visits to your page
  location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ {
       access_log        off;
       log_not_found     off;
       expires           360d;
  }
}

ファイルを保存して閉じます。次に、Nginx構成をテストします。

sudo nginx -t

テストが成功した場合は、変更を有効にするためにNginxをリロードします。

sudo systemctl reload nginx

これで、http://suitecrm.example.com/install.phpでSuiteCRMWebベースのインストールウィザードが表示されるはずです。 。

ステップ5:HTTPSを有効にする

HTTPトラフィックを暗号化するには、Let’sEncryptから発行された無料のTLS証明書をインストールしてHTTPSを有効にします。次のコマンドを実行して、Let’s Encryptクライアント(certbot)をUbuntu20.04サーバーにインストールします。

sudo apt install certbot

Nginxを使用する場合 、次に、CertbotNginxプラグインもインストールする必要があります。

sudo apt install python3-certbot-nginx

次に、次のコマンドを実行してTLS証明書を取得してインストールします。

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d suitecrm.example.com

Apacheを使用する場合 、CertbotApacheプラグインをインストールします。

sudo apt install python3-certbot-apache

そして、このコマンドを実行してTLS証明書を取得してインストールします。

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d suitecrm.example.com

どこ

  • --nginx :nginxプラグインを使用してください。
  • --apache :Apacheプラグインを使用してください。
  • --agree-tos :利用規約に同意します。
  • --redirect :301リダイレクトでHTTPSを強制します。
  • --hsts :すべてのHTTP応答にStrict-Transport-Securityヘッダーを追加します。ドメインに常にTLSを使用するようにブラウザを強制します。 SSL/TLSストリッピングから防御します。
  • --staple-ocsp :OCSPステープリングを有効にします。有効なOCSP応答は、TLS中にサーバーが提供する証明書にホチキス止めされます。

これで、証明書が取得され、自動的にインストールされます。

ステップ6:アップロードファイルのサイズ制限を増やす

PHPは、アップロードファイルのサイズに制限を設定します。アップロードのデフォルトの最大ファイルサイズは2MBです。アップロードサイズを増やすには、PHP構成ファイルを編集します。

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

次の行を見つけます(行846)。

upload_max_filesize = 2M

以下のように値を変更してください。 20MB以上に設定することをお勧めします。

upload_max_filesize = 20M

ファイルを保存して閉じます。または、次のコマンドを実行して、ファイルを手動で開かずに値を変更することもできます。

sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 20M/g' /etc/php/7.4/fpm/php.ini

次に、PHP-FPMを再起動します。

sudo systemctl restart php7.4-fpm

また、Apache/Nginxを再起動します。

sudo systemctl restart apache2

または

sudo systemctl restart nginx

ステップ7:WebブラウザーでのSuiteCRMのインストールを完了する

次に、ブラウザのアドレスバーに、SuiteCRMのドメイン名を入力して、Webインストールウィザードにアクセスします。

https://suitecrm.your-domain.com/install.php

まず、GNUAGPLライセンスに同意します。

次に、サーバー環境をチェックします。すべて問題がなければ、次へをクリックします 。

次に、手順2で作成したMariaDB / MySQLデータベースの詳細を入力します。また、管理者ユーザーのパスワードを設定する必要があります。このパスワードは、Webインターフェイスへのログインに使用されます。 URLをhttps://suitecrm.your-domain.comに変更します メールアドレスを入力してください。

more options セクションでは、差出人名や差出人アドレスの設定など、電子メール設定を構成できます。

SuiteCRMがメールサーバーにインストールされている場合は、SMTPサーバーとして127.0.0.1を使用し、SMTPポートとしてポート25を使用できるため、SuiteCRMは独自のメールサーバーを使用してメールを送信します。

SuiteCRMとメールサーバーが異なるホストで実行されていて、SuiteCRMがメールサーバー経由でメールを送信するようにしたい場合は、Otherを選択する必要があります。 メーラー輸送として。次に

  • メールサーバーのホスト名を入力してください
  • ポート587を選択
  • TLS暗号化を選択します。
  • メールサーバーのメールアドレスのログインクレデンシャルを入力します。

[次へ]ボタンをクリックすると、SuiteCRMがインストールされます。

ステップ8:HTTP2を有効にしてパフォーマンスを向上させる

HTTP2プロトコルを有効にして、SuiteCRMのページ読み込みパフォーマンスを向上させることができます。

Apache

まず、HTTP2モジュールを有効にする必要があります。

sudo a2enmod http2

次に、SSL仮想ホストファイルを開きます。

sudo nano /etc/apache2/sites-enabled/suitecrm-le-ssl.conf

<VirtualHost *:443>を開いた後に次のディレクティブを配置します タグ。

Protocols h2 http/1.1

ファイルを保存して閉じます。次に、変更を有効にするためにApacheを再起動します。

sudo systemctl restart apache2

Nginx

Nginx仮想ホストでHTTP2プロトコルを有効にするには、次の行を見つけます。

listen 443 ssl; # managed by Certbot

http2を追加するだけです sslの後 。

listen 443 ssl http2; # managed by Certbot

ファイルを保存して閉じます。次に、Nginxをリロードします。

sudo systemctl reload nginx

ステップ9:cronジョブを追加する

SuiteCRMは、適切に機能するためにCronジョブに依存しています。 www-dataユーザーのcrontabファイルを編集します。 (rootユーザーのcrontabファイルにSuiteCRMコマンドを追加しないでください。)

sudo -u www-data crontab -e

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

######  SuiteCRM Cron Job #######
* * * * *  php7.4 -f /var/www/suitecrm/cron.php > /dev/null 2>&1
>

ファイルを保存して閉じます。

Mauticと統合する方法

Mauticは、MailChimpのような商用電子メールサービスプロバイダーに代わる無料のオープンソースです。 MauticにはSugarCRMプラグインがあり、SuiteCRMはSugarCRM 6.xに基づいているため、SugarCRMプラグインを使用してMauticと統合できます。

まず、SuiteCRM Webインターフェイスに移動し、右上隅のドロップダウン矢印をクリックして管理モジュールにアクセスする必要があります。

次に、下にスクロールして[OAuthキー]を選択します。

新しいOAuthキーを作成します。キーにmauticのような名前を付けます 。 matuic-suitecrmのようなものを入力してください Consumer key 分野。次に、Consumer Secretにランダムな文字を入力します 分野。変更を保存します。

次に、MauticのSettingsに移動します ->Plugins -> SugarCRM 。 SuiteCRM URL、クライアントキー(コンシューマーキー)、およびクライアントシークレット(コンシューマーシークレット)を入力します。次に、SuiteCRM管理者のユーザー名とパスワードを入力します。 6.x/communityバージョンを選択します。 [アプリの承認]ボタンをクリックします。

承認されると、公開ステータスをNoから変更できます Yesへ 。アプリの認証中にエラーが発生した場合は、MauticサブドメインとSuiteCRMサブドメインのDNSレコードが両方ともインターネットに伝達されていることを確認してください。


Ubuntu
  1. Ubuntu18.04にApacheをインストールする方法

  2. Ubuntu20.04にApacheをインストールする方法

  3. Ubuntu14.04にNginxでElggをインストールする方法

  1. Ubuntu16.04にNginxをインストールする方法

  2. Ubuntu18.04にApacheを使用してJoomlaをインストールする方法

  3. Ubuntu16.04にNginxを使用してSuiteCRMをインストールする方法

  1. Ubuntu18.04LTSにNginxでosTicketをインストールする方法

  2. Ubuntu 18.04 /Ubuntu16.04にNginxを使用してWordPress5.xをインストールする方法

  3. Apacheを使用してUbuntu20.04にNextCloudをインストールする方法