GNU/Linux >> Linux の 問題 >  >> Debian

SuiteCRMをDebian9にインストールする方法

SugarCRMのフォークであるSuiteCRMは、ビジネス戦略、アクション、および決定を作成するために使用できるPHPプログラミング言語で記述されたエンタープライズオープンソースの顧客関係管理(CRM)プラットフォームです。

このチュートリアルでは、ビジネスに強力なオンラインプラットフォームを導入するために、Debian9に最新バージョンのSuiteCRMプラットフォームをインストールするために必要なすべての手順について説明します。 CRMアプリケーションは、Apache HTTPサーバー、PHP、MariaDBデータベースエンジンの下でDebianLinuxにデプロイされます。

要件
  • ベアメタルサーバーまたは仮想プライベートサーバーで、RAMが2Gb以上で、Debian9サーバーのインストールが最小限です。
  • ルートへのアクセス マシンコンソールを介して、またはSSHを介してリモートでアカウントを作成します。 rootアカウントに加えて、 sudoを介してroot権限を持つアカウントを使用することもできます。 コマンド。
  • 静的IPアドレスで構成された外部ネットワークインターフェース、またはこのインターフェースの静的IPアドレスをリースするように構成されたDHCPサーバー。
  • インターネットからアプリケーションにアクセスするための公開登録ドメイン名。アプリケーションがイントラネットにデプロイされている場合は、インストールプロセスを実行し、サーバーのIPアドレスを介してWebサイトにアクセスできます。
  • Webサイト登録またはその他のアプリケーション機能を使用するために、構内に構成されたメールサーバー。 GmailやYahoo!、Microsoft Exchangeなどのパブリックメールサービスを使用して、メールを送受信することもできます。
サーバーを準備する

最初のステップでは、rootアカウントまたはsudoを介して取得したroot権限を持つユーザーを使用してサーバーコンソールにログインし、以下のコマンドを使用してシステムの名前を設定します。それに応じて、この例で使用されているマシンのホスト名を置き換えてください。

hostnamectl set-hostname www.mycrm.org

システムのホスト名を変更したら、次のコマンドを発行して、マシン名が正しく適用されているかどうかを確認します。

hostnamectl
cat /etc/hostname
hostname –s
hostname –f

次に、以下のコマンドを発行して、システムリポジトリ、ソフトウェアパッケージ、およびカーネルを更新してください。

apt update
apt upgrade

最後に、更新プロセスが完了したら、以下のコマンドを実行して、ホスト名の変更とカーネルの更新を適用するためにマシンを再起動します。

systemctl reboot

マシンの再起動後、サーバーコンソールに再度ログインし、以下のコマンドを実行して、後でインターネット経由でソフトウェアをダウンロードし、zipアーカイブファイルを抽出するために使用されるwget、curl、zipなどのコマンドラインユーティリティをインストールします。

apt install wget curl zip unzip

ApacheとPHPをインストールする

SuiteCRMアプリケーションは、LAMPスタックの最上位のDebianにデプロイされます。インストールするLAMPスタックの最初のコンポーネントは、ApacheHTTPサーバーとPHP動的プログラミング言語インタープリターです。以下のコマンドを実行して、ApacheWebサーバーと必要なすべてのPHPモジュールをシステムにインストールします。

apt install apache2 libapache2-mod-php7.0 php7.0 php7.0-gd php7.0-opcache php7.0-mbstring php7.0-xml php7.0-json php7.0-zip php7.0-curl php7.0-imap

MariaDBデータベースをインストールする

DebianサーバーにインストールするLAMPソフトウェアバンドルの次のコンポーネントは、MariaDBデータベースエンジンです。 RDBMSデータベースは、ユーザー、セッション、連絡先、製品、カタログなどのさまざまなプラットフォーム構成を格納するためにアプリケーションに必要です。 MariaDBデータベースエンジンとデータベースへのアクセスに必要なPHPモジュールをインストールするには、マシンコンソールで以下のコマンドを実行します。

apt install mariadb-server php7.0-mysql mariadb-client

すべてのLAMPコンポーネントがインストールされたら、次のいずれかのコマンドを発行して、Apache WebサーバーとMariaDBデーモンが稼働し、ポート80および3306TCPでネットワーク接続をリッスンしているかどうかを確認します。

netstat –tlpn
ss- tulpn

Netstatユーティリティは、Debian9システムにはデフォルトでは存在しません。 netstatをインストールするには Debian Stretchサーバーのユーティリティについては、以下のコマンドを実行してください。

apt install net-tools

nサーバーとクライアントのブラウザ間のトラフィックを保護するHTTPSプロトコルを介してCRMWebサイトに安全にアクセスするには、以下のコマンドを発行して、ApacheTLSモジュールとSSLサイト構成ファイルも有効にしてください。

a2enmod ssl
a2ensite default-ssl.conf

次に、以下のコマンドを発行して、Apacheリライトモジュールを有効にします。 .htaccess を介してWebサーバーの構成をオンザフライで変更する場合は、書き換えモジュールが必要です。 ドメインのウェブルートに配置されたファイル。

a2enmod rewrite
systemctl restart apache2

次に、必要なルールをApache構成ファイルに配置して、リライトモジュールをアクティブにします。まず、Apacheのデフォルト設定ファイルに書き換えルールを適用します。したがって、 /etc/apache2/sites-enabled/000-default.confを開きます。 テキストエディタで編集するためのファイルを作成し、 DocumentRootの後に以下のURL書き換えルールを挿入します 次の抜粋に示すように、ステートメント。

nano /etc/apache2/sites-enabled/000-default.conf

000-default.confファイルの抜粋:

<Directory /var/www/html>
  Options +FollowSymlinks
  AllowOverride All
  Require all granted
</Directory>

000-default.confを閉じます CTRL + o、次にCtrl + xを使用して、ApacheのデフォルトSSLサイト構成ファイルを開き、次のサンプルに示すように、DocumentRootディレクティブの後に次のコード行を追加してURL書き換えルールを挿入します。

nano /etc/apache2/sites-enabled/default-ssl.conf

SSLサイト構成ファイルの抜粋:

<Directory /var/www/html>
  Options +FollowSymlinks
  AllowOverride All
  Require all granted
</Directory>

最後に、上記のすべての変更を行った後、Apacheデーモンを再起動して、これまでに構成されたすべての新しいルールを取得します。

systemctl restart apache2

ここで、リモートデスクトップマシンからHTTPプロトコルを介してドメインまたはサーバーのIPアドレスにアクセスする必要があります。デフォルトのDebianWebページがブラウザに表示されます。

http://yourdomain.tld

ファイアウォールの構成

Webページが表示されない場合は、DebianサーバーでUFWファイアウォールアプリケーションが有効になっているかどうかを確認してください。その場合は、以下のルールを挿入して、HTTPおよびHTTPSトラフィックがファイアウォールを通過できるようにする必要があります。

ufw allow 'WWW Full'

または

ufw allow 80/tcp
ufw allow 443/tcp

iptables ポート80および443のTCPインバウンドトラフィックがファイアウォールを通過できるようにするファイアウォールの生のルールを以下に説明します。

apt-get install -y iptables-persistent
iptables -I INPUT -p tcp --destination-port 80 -j ACCEPT
iptables -I INPUT -p tcp --destination-port 443 -j ACCEPT
netfilter-persistent save
systemctl restart netfilter-persistent
systemctl status netfilter-persistent
systemctl enable netfilter-persistent.service

最後に、必要なファイアウォールルールを追加した後、HTTPSプロトコルを介してドメイン名またはサーバーのIPアドレスにアクセスし、ApacheWebサーバーのデフォルトのWebページをリモートブラウザーに表示できるかどうかをテストします。 ifconfigまたはipコマンドを実行して、サーバーのIPアドレスを表示します。

http://yourdomain.tld

インストール時にApacheによって自動的に発行された自己署名証明書を使用しているため、ブラウザによって信頼されていない証明書であり、「接続が安全ではありません」という警告がブラウザに表示されます。次の画像に示すように、エラーをバイパスしてApacheのデフォルトのWebページにリダイレクトするには、信頼できない証明書を受け入れます。

MariaDBとPHPを構成する

次に、MariaDBルートアカウントの保護を開始します。 MySQLコンソールにログインし、以下のコマンドを実行して rootを更新します。 アカウントプラグイン。

mysql -h localhost
Welcome to the MariaDB monitor.  Commands end with ; or \g.

Your MariaDB connection id is 2

Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1

 

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(なし)]>mysqlを使用します;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

 

Database changed

MariaDB [mysql]> update user set plugin ='' where user ='root';

Query OK, 1 row affected (0.00 sec)

Rows matched: 1  Changed: 1  Warnings: 0

MariaDB[mysql]>フラッシュ権限;

Query OK, 0 rows affected (0.00 sec)

 

MariaDB [mysql]> exit

Bye

また、スクリプト mysql_secure_installationを実行します MariaDBデータベースをさらに保護するためにDebianストレッチリポジトリを提供しました。スクリプトは次の質問をします:MySQLルートパスワードの変更、匿名ユーザーの削除、リモートルートログインの無効化、テストデータベースの削除。以下のスクリプト出力例に示すように、すべての質問に「はい」と答えてください。

mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB

      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

 

In order to log into MariaDB to secure it, we'll need the current

password for the root user.  If you've just installed MariaDB, and

you haven't set the root password yet, the password will be blank,

so you should just press enter here.

 

Enter current password for root (enter for none):

OK, successfully used password, moving on...

 

Setting the root password ensures that nobody can log into the MariaDB

root user without the proper authorisation.

 

You already have a root password set, so you can safely answer 'n'.

Change the root password? [Y/n] y

New password:

Re-enter new password:

Password updated successfully!

Reloading privilege tables..

 ... Success!

 

By default, a MariaDB installation has an anonymous user, allowing anyone

to log into MariaDB without having to have a user account created for

them.  This is intended only for testing, and to make the installation

go a bit smoother.  You should remove them before moving into a

production environment.

 

Remove anonymous users? [Y/n] y

 ... Success!

 

Normally, root should only be allowed to connect from 'localhost'.  This

ensures that someone cannot guess at the root password from the network.

 

Disallow root login remotely? [Y/n] y

 ... Success!

 

By default, MariaDB comes with a database named 'test' that anyone can

access.  This is also intended only for testing, and should be removed

before moving into a production environment.

 

Remove test database and access to it? [Y/n] y

 - Dropping test database...

 ... Success!

 - Removing privileges on test database...

 ... Success!

 

Reloading the privilege tables will ensure that all changes made so far

will take effect immediately.

 

Reload privilege tables now? [Y/n] y

 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB

installation should now be secure.

Thanks for using MariaDB!

rootアカウントでパスワードを指定せずにMySQLコンソールにログインして、すべてのセキュリティ対策が適用されているかどうかをテストします。以下のコマンドの抜粋に示すように、rootアカウントにパスワードが指定されていない場合は、データベースへのアクセスを拒否する必要があります。

mysql -h localhost -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

次に、以下の例に示すように、rootアカウントとパスワードを使用してMySQLコンソールにログインしてみます。 MySQLコンソールにログインできるはずです。 exitと入力します MySQLデータベースを離れる。

mysql -h localhost -u root -p
Enter password:

Welcome to the MariaDB monitor.  Commands end with ; or \g.

Your MariaDB connection id is 15

Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> exit

Bye

次のステップで、 php.iniの次のPHP変数を変更します 以下に説明する構成ファイル。 /etc/php/7.0/apache2/php.iniを開きます 次の行を編集および変更するためのファイル。まず、最初のPHP構成ファイルを必ずバックアップしてください。

cp /etc/php/7.0/apache2/php.ini{,.backup}
nano /etc/php/7.0/apache2/php.ini

php.ini で次の変数を検索、編集、変更します 構成ファイル:

file_uploads = On
default_charset = UTF-8
memory_limit = 128M
post_max_size = 60M
upload_max_filesize = 60M
memory_limit = 256M
max_input_time = 60
max_execution_time = 6000
date.timezone = Europe/London

タイムゾーンを置き換えます サーバーの地理的な場所に応じて、PHP構成ファイルの変数。 PHPのタイムゾーンリストは、次のリンクhttp://php.net/manual/en/timezones.php

にあります。

ウェブサイトページの読み込み速度を上げるには、PHP7で利用可能なOPCacheプラグインを有効にします。次のOPCache行を、PHPインタープリター構成ファイルの下部の [opcache]の後に挿入します。 次の抜粋に示すように、ステートメント:

[opcache]
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

最後に、 php.iniを閉じます 構成ファイルを作成し、Apacheデーモンを再起動して、以下のコマンドを発行して変更を適用します。

systemctl restart apache2

ブラウザにすべてのPHP設定を表示するには、次のコマンドを実行して、ドメインのWebルートパスにPHP情報ファイルを作成します。

echo '<?php phpinfo(); ?>'| tee /var/www/html/info.php

次のURLにあるリモートブラウザからPHP情報スクリプトファイルにアクセスします。 日付まで下にスクロールします PHPのタイムゾーン構成およびその他の設定が正常に適用されたかどうかを確認するための設定。

https://domain.tld/info.php

SuiteCRMをインストール

SuiteCRMアプリケーションのインストールに必要なすべてのLAMP設定を構成したら、SuiteCRMの公式ダウンロードページ(https://suitecrm.com/download/)にアクセスし、以下のコマンドを発行して、システム内の最新のzipファイルアーカイブを取得します。このガイドを書いている時点で、SuiteCRMの最新リリースバージョンはSuiteCRM-7.9.9.zipファイルでした。

wget https://suitecrm.com/files/158/SuiteCRM-7.9/178/SuiteCRM-7.9.9.zip
ls

SuiteCRM zipファイルアーカイブのダウンロードが完了したら、zipアーカイブファイルを現在の作業ディレクトリに抽出し、以下のコマンドを発行して、抽出したファイルを一覧表示します。

unzip SuiteCRM-7.9.9.zip
ls
ls –al SuiteCRM-7.9.9

インストールファイルをドメインwebrootにコピーする前に、ApacheパッケージによってWebサーバードキュメントのルートパスにインストールされたデフォルトのindex.htmlファイルを削除し、以前に作成したinfo.phpファイルも削除してください。

rm /var/www/html/index.html
rm /var/www/html/info.php

SuiteCRMアプリケーションのインストールファイルは、現在の作業ディレクトリの SuiteCRM-7.9.9 /にあります。 ディレクトリ。 lsを発行します このディレクトリファイルを一覧表示するコマンド。 SuiteCRM-7.9.9 /のすべてのコンテンツをコピーします 次のコマンドを発行して、Webサーバーのドキュメントルートパスへのディレクトリを作成します。

cp -rf SuiteCRM-7.9.9/* /var/www/html/

次に、以下のコマンドを発行して、Apacheランタイムユーザー(www-data)にApacheドキュメントルートパスへの完全な書き込み権限を付与します。 lsを実行します / var / www /html/ディレクトリの下にあるインストール済みファイルの権限を一覧表示するコマンド。

chown -R www-data:www-data /var/www/html/
ls –al /var/www/html/

次に、MariaDBデータベースコンソールにログインし、SuiteCRMデータベースを作成します。次のコマンドを発行して、このデータベースの名前と、アプリケーションデータベースを管理するための強力なパスワードを持つユーザーを選択します。このチュートリアルで使用するデータベース名、ユーザー、およびパスワードは、必ず独自の設定で変更してください。

mysql –u root -p
Welcome to the MariaDB monitor.  Commands end with ; or \g.

Your MariaDB connection id is 2

Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1

 

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>データベースmycrm_dbを作成します;

Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]>mycrm_db。*のすべての権限を「password1234」で識別される「crm_user」@「localhost」に付与します;

Query OK, 0 rows affected (0.00 sec) 

MariaDB [(なし)]>フラッシュ特権;

Query OK, 0 rows affected (0.00 sec)

 

MariaDB [(none)]> exit

Bye

それでは、SuiteCRMアプリケーションのインストールプロセスを開始しましょう。ブラウザを開き、HTTPSプロトコルを介してサーバーのIPアドレスまたはドメイン名をナビゲートします。

http://yourdomain.tld

最初のインストール画面で、SuiteCRMインストーラーは使用許諾契約を表示します。 [同意する]をオンにします のチェックボックスをオンにしてライセンス契約条件に同意するには、アプリケーションをインストールするための言語を選択し、次のスクリーンショットに示すように、[次へ]ボタンをクリックしてインストールプロセスを開始します。

次のインストール画面で、SuiteCRMインストーラーはシステム環境要件を確認し、すべてのPHPおよびサーバー構成に合格するとOKメッセージを表示します。インストールプロセスを続行するには、下のスクリーンショットに示すように、[次へ]ボタンをクリックします。

次に、インストーラーはデータベース接続設定とサイト構成ページを表示します。左側のペインで、データベースタイプとしてMySQLi Extensionを使用するMySQLを選択し、SuiteCRMアプリケーションをインストールするために作成されたMySQLデータベース名、データベースサーバーのホストアドレス、データベースのユーザー名、およびSuiteCRMデータベースにアクセスするために必要なパスワードを入力します。また、「SuiteCRMデータベースユーザー/」で「管理者ユーザーと同じ」を選択します。右側面で、アプリケーション管理者のユーザー名を追加し、管理者アカウントに強力なパスワードを設定します。 SuiteCRMインスタンスのURLアドレスを確認して、HTTPSプロトコル経由でドメイン名と一致させます(ポート443)。管理者アカウントのメールアドレスを追加します。次の画像をガイドとして使用して、この手順を構成してください。

次に、同じインストール画面で、[その他のオプション]メニューから[デモの選択]データをクリックし、SuiteCRMデータベースにデモデータを入力しないことを選択します。次に、[シナリオの選択]メニューをクリックし、[販売]、[マーケティング]、[財務]、[サービス]、および[プロジェクト管理]のSuiteCRMモジュールを有効にすることを選択します。アプリケーションのインストール中にモジュールが必要ない場合は、チェックを外したままにして、アプリケーション管理ページを使用してインストールプロセスの完了後に有効にすることができます。

次に、下にスクロールして[SMTPサーバー仕様]メニューをクリックし、SuiteCRM電子メールオプションを有効にします。 「From」メールヘッダーに表示する名前とメールアドレスを追加します。次に、電子メールサービスプロバイダーを選択し、メールサーバーの設定を指定します。このガイドでは、Gmailサービスプロバイダーを使用してメールを送信します。メールサーバーの設定は、以下のスクリーンショットに示されています。メールサービスプロバイダーを有効にするために必要な設定を完了したら、ブランディングメニューをクリックし、SuiteCRMアプリケーションのブラウザーのタイトルバーに表示される名前を追加して、独自のWebサイトのロゴ画像をアップロードします。

次に、もう一度下にスクロールして[システムロケール設定]メニューをクリックし、SuiteCRMアプリケーションでの時間形式、タイムゾーン、および通貨設定の表示方法を指定します。最後に、[サイトのセキュリティ]オプションを今のところオフのままにし、[次へ]ボタンをクリックしてインストールプロセスを完了します。以下の画像を使用して、この手順を完了することができます。

インストールプロセスが完了すると、SuiteCRMログインページにリダイレクトされます。アプリケーション管理パネルにアクセスするには、次の画像に示すように、インストールプロセス中に構成された管理者アカウントのクレデンシャルを使用してSuiteCRMにログインします。

SuiteCRM管理パネルにログインする前に、まずサーバーコンソールに戻り、次のコマンドを発行して、不要になり、セキュリティ違反を表す可能性のあるインストールディレクトリを削除します。

rm -rf /var/www/html/install/

HTTPSプロトコルを介してサーバーのIPアドレスまたはドメイン名に移動して、SuiteCRMダッシュボードにアクセスすることもできます。 SuiteCRM管理ダッシュボードのビューを以下のスクリーンショットに示します。

http://yourdomain.tld

最後に、訪問者をHTTPSに自動的にリダイレクトして、訪問者がブラウザからSuiteCRMインターフェイスに安全にアクセスできるようにするには、サーバーターミナルに戻り、自動生成された .htaccessを編集します。 以下のコマンドを発行して、ドメインドキュメントのルートパスにあるファイル。

nano /var/www/html/.htaccess

.htaccessファイルで、 を検索します RewriteEngine On の後に、次の行ルールを入力して挿入します ドメイントラフィックをHTTPSに自動的にリダイレクトするためのステートメント。

.htaccess ファイルの抜粋:

# Redirect to HTTPS
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L]

ファイルの下部で、独自のサーバーリソースと構成を反映するように設定に他の行を追加することにより、WebサーバーのネイティブPHPサーバー設定を変更できます。

# Modify PHP settings
php_value session.use_trans_sid 0
php_value register_globals 1
php_value upload_max_filesize 100M
php_value post_max_size 100M

SuiteCRMスケジューラを実行するには、以下のコマンドを使用してWebサーバーランタイムアカウントのcrontabファイルを編集し、次のcronタスクを追加して毎分実行します。

crontab -e -u www-data

crontabファイルの例:

*    *    *    *    *     /usr/bin/php7.0  -f  /var/www/html/cron.php > /dev/null 2>&1

クライアントがアプリケーションにアクセスするたびに生成されるブラウザの警告を回避する場合は、信頼できる認証局が発行した証明書を購入するか、Let’sEncryptCAから無料の証明書を発行することを検討してください。

それで全部です! SuiteCRM Webアプリケーションは、LAMPスタックの最上位のDebian9サーバーに正常にインストールおよび構成されています。

SuiteCRMプラットフォームをさらにカスタマイズするには、次のアドレスにあるアプリケーションWikiページにアクセスしてください:https://suitecrm.com/wiki/index.php/Main_Page


Debian
  1. MySQL 8.0/5.7をDebian11/Debian10にインストールする方法

  2. MySQLサーバーをDebian9にインストールする方法

  3. ClickHouseをDebian9にインストールする方法

  1. Debian11にRedisサーバーをインストールする方法

  2. Debian8にProFTPDをインストールする方法

  3. Nextcloud14をDebian9にインストールする方法

  1. Debian9にRをインストールする方法

  2. Debian9にMinecraftサーバーをインストールする方法

  3. Debian9にOdoo12をインストールする方法