このチュートリアルでは、 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レコードが両方ともインターネットに伝達されていることを確認してください。