如何使用Apache / Nginx在Ubuntu 20.04上安裝SuiteCRM

本教程將向您展示如何安裝 SuiteCRM 在具有Apache或Nginx Web服務器的Ubuntu 20.04上。 SuiteCRM是一個免費的開源客戶關係管理軟件解決方案,可提供您的客戶和業務的360度視圖。 這是流行的叉子 糖CRM 軟件,因為SugarCRM在2014年停止發布其開源社區版。

SuiteCRM功能

  • 日曆/提醒系統
  • 文件儲存
  • 電子郵件營銷
  • 內部聊天整合
  • 領導資格
  • 營銷自動化
  • 移動訪問
  • 配額/估計
  • 分割
  • 社交媒體整合
  • 任務管理
  • 區域管理
  • 銷售人員自動化,市場營銷活動,客戶支持,協作,移動CRM,社交CRM和報表。
  • 安裝插件以擴展SuiteCRM的功能。
  • SuiteCRM可以輕鬆地與第三方SMTP中繼服務集成,例如Gmail,Mandrill,Sendgrid,Amazon SES。 您也可以使用自己的郵件服務器。
  • 可以與許多流行的第三方應用程序無縫集成,例如Mautic,Gmail,Facebook,Twitter,GoToMeeting,MailChimp,Zoom,Quickbooks,Avaya,DocuSign等。
  • 支持多個用戶帳戶和角色。
  • 以及更多

在Ubuntu 20.04 Server上安裝SuiteCRM的前提條件

SuiteCRM用PHP編寫,並依賴於MySQL / MariaDB數據庫服務器。 因此,您需要設置一個LAMP堆棧或LEMP堆棧。 如果你比較喜歡 阿帕奇 Web服務器,然後設置LAMP堆棧。

  • 如何在Ubuntu 20.04上安裝LAMP Stack

如果你比較喜歡 Nginx的 Web服務器,然後設置LEMP堆棧。

  • 如何在Ubuntu 20.04上安裝LEMP Stack

您還需要一個域名。 我從NameCheap註冊了我的域名,因為它價格低廉,並且終身免費提供Whois隱私保護。 事不宜遲,讓我們在Ubuntu 20.04服務器上安裝SuiteCRM。

步驟1:將SuiteCRM下載到Ubuntu 20.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中禁用prefork MPM模塊。

sudo a2dismod mpm_prefork

現在,您需要運行以下命令來啟用三個模塊,以便在Apache中使用PHP-FPM,無論是否 mod_php 已安裝在您的服務器上。

sudo a2enmod mpm_event proxy_fcgi setenvif

然後重新啟動Apache。

sudo systemctl restart apache2

步驟4:為SuiteCRM創建Apache虛擬主機或Nginx配置文件

阿帕奇

如果使用Apache Web服務器,請為SuiteCRM創建虛擬主機。

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

將以下文本放入文件中。 代替 suitecrm.example.com 使用您的真實域名,不要忘記為其創建DNS A記錄。

<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

現在,您應該可以在以下位置看到SuiteCRM基於Web的安裝嚮導: http://suitecrm.example.com/install.php

Nginx的

如果您使用Nginx Web服務器,請為SuiteCRM創建一個虛擬主機。

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

將以下文本放入文件中。 代替 suitecrm.example.com 使用您的真實域名,不要忘記為其創建DNS A記錄。

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

現在,您應該可以在以下位置看到SuiteCRM基於Web的安裝嚮導: http://suitecrm.example.com/install.php

步驟5:啟用HTTPS

為了加密HTTP流量,我們可以通過安裝由Let’s Encrypt發行的免費TLS證書來啟用HTTPS。 運行以下命令在Ubuntu 20.04服務器上安裝Let’s Encrypt客戶端(certbot)。

sudo apt install certbot

如果您使用 Nginx的,那麼您還需要安裝Certbot Nginx插件。

sudo apt install python3-certbot-nginx

接下來,運行以下命令以獲取並安裝TLS證書。

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

如果您使用 阿帕奇,安裝Certbot Apache插件。

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:將Strict-Transport-Security標頭添加到每個HTTP響應中。 強制瀏覽器始終對域使用TLS。 防禦SSL / TLS剝離。
  • --staple-ocsp:啟用OCSP裝訂。 將有效的OCSP響應裝訂到服務器在TLS期間提供的證書。

現在應該獲得證書並自動安裝。

suitecrm ubuntu certbot https

第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

首先,接受GNU AGPL許可證。

安裝suitecrm ubuntu 20.04

然後它將檢查您的服務器環境。 如果一切正常,請單擊 下一個

在Ubuntu 20上安裝suitecrm

然後輸入在步驟2中創建的MariaDB / MySQL數據庫詳細信息。您還需要為admin用戶設置密碼,該密碼將用於登錄Web界面。 將網址更改為 https://suitecrm.your-domain.com 並輸入您的電子郵件地址。

suitecrm數據庫配置

在裡面 more options 部分中,您可以配置電子郵件設置,例如設置“發件人姓名”和“發件人地址”。

如果在郵件服務器上安裝了SuiteCRM,則可以使用127.0.0.1作為SMTP服務器,使用端口25作為SMTP端口,因此SuiteCRM將使用您自己的郵件服務器發送電子郵件。

suiteCRM SMTP設置

如果SuiteCRM和您的郵件服務器運行在不同的主機上,並且您希望SuiteCRM通過郵件服務器發送電子郵件,則需要選擇 Other 作為郵件運輸。 然後

  • 輸入郵件服務器的主機名
  • 選擇端口587
  • 選擇TLS加密。
  • 輸入郵件服務器上電子郵件地址的登錄憑據。

suitecrm smtp服務器規格

單擊“下一步”按鈕,SuiteCRM將被安裝。

步驟8:啟用HTTP2以提高性能

您可以啟用HTTP2協議來提高SuiteCRM的頁面加載性能。

阿帕奇

首先,您需要啟用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

只需添加 http2ssl

listen 443 ssl http2; # managed by Certbot

保存並關閉文件。 然後重新加載Nginx。

sudo systemctl reload nginx

第9步:添加Cron作業

SuiteCRM依靠Cron作業才能正常工作。 編輯www數據用戶的crontab文件。 (您不應在根用戶的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界面,單擊右上角的下拉箭頭以訪問管理模塊。

suiteCRM管理

然後向下滾動並選擇OAuth密鑰。

suiteCRM oauth密鑰

創建一個新的OAuth密鑰。 給密鑰起一個類似的名字 mautic。 輸入類似 matuic-suitecrm 在裡面 Consumer key 場地。 然後在 Consumer Secret 場地。 保存您的更改。

suitecrm創建oauth密鑰

接下來,去Mautic Settings -> Plugins -> SugarCRM。 輸入SuiteCRM URL,客戶端密鑰(消費者密鑰)和客戶端密鑰(消費者密鑰)。 然後輸入SuiteCRM管理員用戶名和密碼。 選擇6.x /社區版本。 單擊授權應用程序按鈕。

suiteCRM Mautic集成

獲得授權後,您可以從 NoYes。 如果在嘗試授權應用程序時遇到錯誤,請確保將Mautic和SuiteCRM子域的DNS記錄都傳播到Internet。

包起來

我希望本教程可以幫助您在Ubuntu 20.04上安裝SuiteCRM。 您也可以查看SuiteCRM用戶手冊以了解如何使用它。 與往常一樣,如果您發現這篇文章很有用,請訂閱我們的免費新聞簡報以獲取更多提示和技巧。 保重🙂

Sidebar