SuiteCRMは、PHPで記述されたオープンソースの顧客関係管理ソリューションです。 これは、SugarCRMがコミュニティエディションのリリースを停止した後の人気のあるSugarCRMソフトウェアのフォークです。 これは、すべての顧客データの中央リポジトリを作成して、ビジネス関係を強化および育成するために使用できる洞察を得るために使用されます。
その機能には、ドキュメントストレージ、メールマーケティング、カレンダー、ソーシャルメディア統合、テリトリー管理、セグメンテーション、マーケティング自動化、リード資格、内部チャット統合、カスタマーサポート、ソーシャルCRM、営業支援システム、マーケティングキャンペーン、モバイルCRM、報告。 Mandrill、Sendgrid、AmazonSESなどのサードパーティのSMTPリレーサービスと統合できます。プラグインをインストールしてSuiteCRMの機能を拡張できます。 Mautic、Facebook、Twitter、MailChimp、Zoom、Quickbooks、DocuSignなどのサードパーティアプリと統合できます。
この投稿では、NginxWebサーバーとLet’sEncryptSSLを使用してUbuntu22.04にSuiteCRMをインストールする方法を学習します。
前提条件
-
Ubuntu20.04を実行しているサーバー。
-
root以外のsudoユーザー。
- 次のようなサーバーを指す完全修飾ドメイン名(FQDN)
suitecrm.example.com
。 -
すべてが更新されていることを確認してください。
$ sudo apt update $ sudo apt upgrade
-
システムに必要なパッケージはほとんどありません。
$ sudo apt install wget curl nano ufw software-properties-common dirmngr apt-transport-https gnupg2 ca-certificates lsb-release ubuntu-keyring unzip -y
これらのパッケージの一部は、システムにすでにインストールされている場合があります。
ステップ1-ファイアウォールを構成する
最初のステップは、ファイアウォールを構成することです。 Ubuntuにはデフォルトでufw(Uncomplicated Firewall)が付属しています。
ファイアウォールが実行されているかどうかを確認します。
$ sudo ufw status
次の出力が得られます。
Status: inactive
SSHポートを許可して、ファイアウォールが有効にしたときに現在の接続を切断しないようにします。
$ sudo ufw allow OpenSSH
HTTPポートとHTTPSポートも許可します。
$ sudo ufw allow http $ sudo ufw allow https
ファイアウォールを有効にする
$ sudo ufw enable Command may disrupt existing ssh connections. Proceed with operation (y|n)? y Firewall is active and enabled on system startup
ファイアウォールの状態を再度確認してください。
$ sudo ufw status
同様の出力が表示されるはずです。
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 80/tcp ALLOW Anywhere 443 ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) 80/tcp (v6) ALLOW Anywhere (v6) 443 (v6) ALLOW Anywhere (v6)
ステップ2-Nginxをインストールします
Ubuntuには古いバージョンのNginxが付属しています。 最新バージョンをインストールするには、公式のNginxリポジトリをダウンロードする必要があります。
Nginxの署名キーをインポートします。
$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
Nginxの安定バージョンのリポジトリを追加します。
$ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg arch=amd64] http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
システムリポジトリを更新します。
$ sudo apt update
Nginxをインストールします。
$ sudo apt install nginx
インストールを確認します。
$ nginx -v nginx version: nginx/1.20.2
Nginxサービスを有効にします。
$ sudo systemctl enable nginx
ステップ3-MariaDBをインストールして構成する
Ubuntu 22.04には、MariaDBのv10.6.7が付属しています。 次のコマンドを実行してインストールします。
$ sudo apt install mariadb-server
MariaDBのインストールを保護します。
$ sudo mysql_secure_installation
さまざまなプロンプトが表示されます。 次のように答えてください。
Enter current password for root (enter for none): Press Enter Switch to unix_socket authentication [Y/n] Type y Change the root password? [Y/n] Type n Remove anonymous users? [Y/n] Type y Disallow root login remotely? [Y/n] Type y Remove test database and access to it? [Y/n] Type y Reload privilege tables now? [Y/n] Type y
次のコマンドを使用して、MariaDBシェルに接続します。
$ sudo mysql
SuiteCRM用の新しいデータベースを作成します。
$ CREATE DATABASE suitecrm;
新しいデータベースユーザーを作成し、tに強力なパスワードを使用します。
$ CREATE USER 'suitecrmuser'@'localhost' identified by 'yourpassword';
データベースに対するアクセス許可をユーザーに付与します。広告
$ GRANT ALL PRIVILEGES ON suitecrm.* TO 'suitecrmuser'@'localhost';
すべての特権をフラッシュします。
$ FLUSH PRIVILEGES;
MySQLシェルを終了します。
$ exit
ステップ4-PHPと拡張機能をインストールする
Ubuntu 22.04には、SuiteCRMでまだサポートされていないPHP8.1が付属しています。 PHP8.0をインストールする必要があります。 そのためには、OndrejのPHPリポジトリを追加する必要があります。
$ sudo add-apt-repository ppa:ondrej/php
次に、SuiteCRMに必要なPHPとその拡張機能をインストールします。
$ sudo apt install php-imagick php8.0-fpm php8.0-mysql php8.0-common php8.0-gd php8.0-imap php8.0-curl php8.0-zip php8.0-xml php8.0-mbstring php8.0-bz2 php8.0-intl php8.0-gmp
インストールを確認します。
$ php --version PHP 8.0.18 (cli) (built: May 1 2022 04:42:09) ( NTS ) Copyright (c) The PHP Group Zend Engine v4.0.18, Copyright (c) Zend Technologies with Zend OPcache v8.0.18, Copyright (c), by Zend Technologies
ステップ5-SuiteCRMをダウンロードする
SuiteCRMの最新の安定バージョンをダウンロードします。 あなたはからダウンロードリンクをつかむことができます SuiteCRMの公式ウェブサイト。
このチュートリアルでは、SuiteCRMのv7が長期間サポートされているため、インストールします。 必要に応じてv8バージョンをインストールできますが、最初はサポート期間が短くなります。
$ wget -O suitecrm.zip https://suitecrm.com/files/147/SuiteCRM-7.12/614/SuiteCRM-7.12.5.zip
SuiteCRMを提供するWebルートディレクトリを作成します。 ザ -p
flagは、パスに最上位ディレクトリが存在しない場合、それらを作成します。
$ sudo mkdir -p /var/www/
ダウンロードしたzipアーカイブを解凍します。
$ sudo unzip suitecrm.zip -d /var/www/
ザ -d
flagは、アーカイブのターゲットディレクトリを指定します。
下に保存されます /var/www/SuiteCRM-7.12.5/
ディレクトリ。 簡単にするために名前を変更します。
$ sudo mv /var/www/SuiteCRM-7.12.5/ /var/www/suitecrm
Webルートに切り替えます。
$ cd /var/www/suitecrm
さまざまなディレクトリに正しい所有権と権限を設定します。
$ sudo chown -R nginx:nginx . $ sudo chmod -R 755 . $ sudo chmod -R 775 cache custom modules themes data upload $ sudo chmod 775 config_override.php 2>/dev/null
ステップ6-SSLをインストールして構成する
Nginxを構成する前に、SSL証明書を設定する必要があります。
Let’s Encryptを使用してSSL証明書をインストールするには、Certbotツールをダウンロードする必要があります。 そのためにSnapdパッケージインストーラーを使用します。
Snapインストーラーをインストールします。
$ sudo apt install snapd
Snapdのバージョンが最新であることを確認してください。
$ sudo snap install core $ sudo snap refresh core
Certbotをインストールします。
$ sudo snap install --classic certbot
次のコマンドを使用して、へのシンボリックリンクを作成してCertbotコマンドが実行されるようにします。 /usr/bin
ディレクトリ。
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Certbotツールに干渉するため、Nginxサーバーを停止します。
$ sudo systemctl stop nginx
SSL証明書を生成します。
$ sudo certbot certonly --standalone --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d suitecrm.example.com
上記のコマンドは、証明書をにダウンロードします /etc/letsencrypt/live/suitecrm.example.com
サーバー上のディレクトリ。
を生成します Diffie-Hellmanグループ 証明書。
$ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 4096
Let’sEncryptの自動更新用のチャレンジWebルートディレクトリを作成します。
$ sudo mkdir -p /var/lib/letsencrypt
Cronジョブを作成してSSLを更新します。 毎日実行され、証明書を確認し、必要に応じて更新します。 そのためには、まず、ファイルを作成します /etc/cron.daily/certbot-renew
編集のために開きます。
$ sudo nano /etc/cron.daily/certbot-renew
次のコードを貼り付けます。
#!/bin/sh certbot renew --cert-name suitecrm.example.com --webroot -w /var/lib/letsencrypt/ --post-hook "systemctl reload nginx"
を押してファイルを保存します Ctrl + X と入る Y プロンプトが表示されたら。
タスクファイルのアクセス許可を変更して、実行可能にします。
$ sudo chmod +x /etc/cron.daily/certbot-renew
ステップ7-NginxとPHPを構成する
PHP-FPMを構成する
ファイルを開く /etc/php/8.0/fpm/pool.d/www.conf
。
$ sudo nano /etc/php/8.0/fpm/pool.d/www.conf
Unixユーザー/PHPプロセスのグループを次のように設定する必要があります nginx。 を見つける user=www-data
と group=www-data
ファイル内の行を次のように変更します nginx
。
... ; Unix user/group of processes ; Note: The user is mandatory. If the group is not set, the default user's group ; will be used. user = nginx group = nginx ...
また、行を見つけます listen.owner=www-data
と listen.group=www-data
ファイル内でそれらをに変更します nginx
。
listen.owner = nginx listen.group = nginx
を押してファイルを保存します Ctrl + X と入る Y プロンプトが表示されたら。
PHPアップロードサイズを構成する
PHPは、アップロードファイルのサイズに制限を設定します。 PHPによって設定されるデフォルトのサイズは2MBです。 アップロードサイズを増やすには、PHP構成ファイルを開いて編集します。
$ sudo nano /etc/php/8.0/fpm/php.ini
次の行を見つけます。
upload_max_filesize = 2M
図のように、その値を20MBに変更します。
upload_max_filesize = 20M
次の行を見つけます。
post_max_size = 8M
図のように、その値を20MBに変更します。
post_max_size = 20M
次の行を見つけます。
;cgi.fix_pathinfo=1
セミコロンを削除し、その値を0に変更して、コメントを解除します。
cgi.fix_pathinfo=0
を押してファイルを保存します Ctrl + X と入る Y プロンプトが表示されたら。
PHP-fpmプロセスを再起動します。
$ sudo systemctl restart php8.0-fpm
Nginxを構成する
ファイルを作成して開きます /etc/nginx/conf.d/suitecrm.conf
編集用。
$ sudo nano /etc/nginx/conf.d/suitecrm.conf
次のコードを貼り付けます。
server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name suitecrm.example.com; root /var/www/suitecrm; error_log /var/log/nginx/suitecrm.error.log; access_log /var/log/nginx/suitecrm.access.log; client_max_body_size 20M; index index.php index.html index.htm; ssl_certificate /etc/letsencrypt/live/suitecrm.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/suitecrm.example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/suitecrm.example.com/chain.pem; ssl_session_timeout 5m; ssl_session_cache shared:MozSSL:10m; ssl_session_tickets off; ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1; ssl_stapling on; ssl_stapling_verify on; ssl_dhparam /etc/ssl/certs/dhparam.pem; location / { # try to serve file directly, fallback to app.php try_files $uri /index.php$is_args$args; } location ~ .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/php8.0-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; } } # enforce HTTPS server { listen 80; listen [::]:80; server_name suitecrm.example.com; return 301 https://$host$request_uri; }
を押してファイルを保存します Ctrl + X と入る Y 終了したらプロンプトが表示されたら。
ファイルを開く /etc/nginx/nginx.conf
編集用。
$ sudo nano /etc/nginx/nginx.conf
行の前に次の行を追加します include /etc/nginx/conf.d/*.conf;
。
server_names_hash_bucket_size 64;
を押してファイルを保存します Ctrl + X と入る Y プロンプトが表示されたら。
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
Nginxサービスを再起動して、新しい構成を有効にします。
$ sudo systemctl restart nginx
ステップ8-SuiteCRMをインストールして構成する
サイトを開く https://suitecrm.example.com
ブラウザで、セットアップウィザードが表示されます。
チェックしてください 承諾します ボックスをクリックし、 次 ボタンをクリックして続行します。 インストール前の要件を確認する画面が表示されます。
すべて問題がない場合は、をクリックします 次 ボタンをクリックして続行します。
手順3で設定したデータベースクレデンシャルを入力します。 localhost
として ホスト名。 また、管理者アカウントの詳細を入力して、 https://suitecrm.example.com
として インスタンスURL。
デモデータ、SMTPサーバー設定、ブランディング、システムロケール、セキュリティ、データベース設定などの追加設定を構成できます。
SMTP設定を有効にするには、 SMTPサーバーの仕様 ページのセクションに入力し、適切な値を入力します。 GmailまたはMicrosoftExchangeを使用している場合は、専用のボタンを使用してそれらを構成できます。 このチュートリアルでは、AmazonSESを使用しています。
また、システムロケール設定を設定します。
終了したら、をクリックします 次 ページの下部にあるボタンをクリックして続行します。 SuiteCRMの構成完了の詳細が表示されます。
クリック 次 ボタンをクリックして続行します。 ログインページが表示されます。
管理者アカウントのクレデンシャルを入力して、 ログイン SuiteCRMダッシュボードを開きます。
SuiteCRMの使用を開始して、ビジネスと顧客のデータを管理できます。
ステップ9-cronジョブを設定する
SuiteCRMが正しく機能するには、cronジョブが必要です。 編集します nginx
ユーザーのcrontabファイル。
$ sudo crontab -e -u nginx
ファイルの最後に次の行を追加します。
* * * * * cd /var/www/suitecrm; php -f cron.php > /dev/null 2>&1
ファイルを保存して閉じます。
結論
これで、Ubuntu22.04でLet’sEncryptSSLを使用してNginxサーバーを使用してSuiteCRMをインストールするためのチュートリアルは終了です。 ご不明な点がございましたら、下のコメント欄に投稿してください。
The post Nginxと無料でSuiteCRMをインストールする方法Ubuntu22.04でSSLを暗号化しましょう appeared first on Gamingsym Japan.