SuiteCRM là giải pháp quản lý quan hệ khách hàng nguồn mở được viết bằng PHP. Đây là một nhánh của phần mềm SugarCRM phổ biến sau khi SugarCRM ngừng phát hành phiên bản cộng đồng. Nó được sử dụng để tạo kho lưu trữ trung tâm cho tất cả dữ liệu khách hàng của bạn để có được thông tin chi tiết có thể được sử dụng để tăng cường và nuôi dưỡng các mối quan hệ kinh doanh của bạn.
Một số tính năng của nó bao gồm Lưu trữ tài liệu, Tiếp thị qua email, Lịch, Tích hợp phương tiện truyền thông xã hội, Quản lý lãnh thổ, Phân khúc, Tự động hóa tiếp thị, Đánh giá khách hàng tiềm năng, Tích hợp trò chuyện nội bộ, Hỗ trợ khách hàng, CRM xã hội, Tự động hóa lực lượng bán hàng, Chiến dịch tiếp thị, CRM di động và báo cáo. Nó có thể được tích hợp với các dịch vụ chuyển tiếp SMTP của bên thứ ba như Mandrill, SendGrid, Amazon SES, v.v. Bạn có thể cài đặt các plugin để mở rộng chức năng của SuiteCRM. Nó có thể được tích hợp với các ứng dụng của bên thứ ba như Mautic, Facebook, Twitter, MailChimp, Zoom, Quickbooks, DocuSign, v.v.
Trong bài đăng này, bạn sẽ tìm hiểu cách cài đặt SuiteCRM bằng máy chủ web Nginx và Let's Encrypt SSL trên máy chủ Rocky Linux 9.
[*]
Một số gói mà hệ thống của bạn cần.
Một số gói này có thể đã được cài đặt trên hệ thống của bạn.
Tường lửa hoạt động với nhiều vùng khác nhau và vùng công cộng là vùng mặc định mà chúng ta sẽ sử dụng. Liệt kê tất cả các dịch vụ và cổng đang hoạt động trên tường lửa.
Nó sẽ hiển thị thông tin sau đầu ra.
SuiteCRM cần có cổng HTTP và HTTPS để hoạt động. Mở chúng ra.
Tải lại tường lửa để áp dụng các thay đổi.
Liệt kê tất cả các dịch vụ một lần nữa.
Bạn sẽ nhận được kết quả sau.
Tạo và mở tệp
Dán mã sau vào nó.
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Cài đặt máy chủ Nginx.
Xác minh cài đặt.
Bật và khởi động máy chủ Nginx.
Kiểm tra trạng thái của máy chủ.
Tiếp theo, cài đặt kho lưu trữ Remi.
Kiểm tra PHP khả dụng luồng.
Phiên bản mặc định là 8.1. Bật kho lưu trữ PHP 8.1 của Remi.
Cài đặt PHP và các tiện ích mở rộng bắt buộc theo yêu cầu của SuiteCRM.
Xác minh cài đặt.
Bật và khởi động dịch vụ PHP-FPM.
Kiểm tra phiên bản MySQL.
Bật và khởi động MySQL dịch vụ.
Chạy tập lệnh cài đặt bảo mật MySQL.
Bạn sẽ được yêu cầu cài đặt Thành phần Xác thực Mật khẩu. Thành phần này kiểm tra độ mạnh của mật khẩu được sử dụng trong MySQL. Nhấn Y để cài đặt. Tiếp theo, bạn sẽ được yêu cầu đặt mức chính sách xác thực mật khẩu. Chọn 2 vì đây là mật khẩu mạnh nhất.
Tiếp theo, bạn sẽ được yêu cầu đặt mật khẩu root mới. Nhập mật khẩu theo các yêu cầu nêu trên. Nhập
Tiếp theo, nhập Y để xóa người dùng ẩn danh, không cho phép đăng nhập gốc từ xa, xóa cơ sở dữ liệu thử nghiệm và tải lại đặc quyền bảng.
Tạo một cơ sở dữ liệu mẫu.
Tạo một người dùng SQL tài khoản.
Cấp tất cả các quyền trên cơ sở dữ liệu cho người dùng.
Xóa người dùng quyền.
Thoát khỏi shell.
Chúng ta sẽ sử dụng trình cài đặt gói Snapd cho việc đó. Vì Rocky Linux không được tích hợp sẵn, hãy cài đặt trình cài đặt Snapd. Nó yêu cầu kho lưu trữ EPEL hoạt động mà chúng tôi đã cài đặt trước đó cho PHP để chúng tôi có thể bỏ qua bước này.
Cài đặt Snapd.
Bật và khởi động dịch vụ Snap.
Cài đặt gói lõi Snap và đảm bảo rằng phiên bản Snapd của bạn là ngày.
Tạo các liên kết cần thiết để Snapd hoạt động.
Phát hành lệnh sau để cài đặt Certbot.
Sử dụng lệnh sau để đảm bảo lệnh Certbot có thể chạy được bằng cách tạo liên kết tượng trưng đến
Xác minh cài đặt.
Chạy lệnh sau để tạo SSL Chứng chỉ.
Lệnh trên sẽ tải chứng chỉ xuống thư mục
Tạo nhóm Diffie-Hellman chứng chỉ.
Kiểm tra dịch vụ lập lịch gia hạn Certbot.
Bạn sẽ tìm thấy
Thực hiện chạy thử quy trình để kiểm tra xem việc gia hạn SSL có hoạt động không tốt.
Nếu bạn không thấy lỗi nào, bạn đã hoàn tất. Chứng chỉ của bạn sẽ tự động gia hạn.
Chuyển sang thư mục gốc web.
Tải xuống phiên bản SuiteCRM 8.x. Tải xuống liên kết đến phiên bản mới nhất từ trang tải xuống SuiteCRM.
Giải nén các tệp trong kho lưu trữ.
Xóa tệp zip tệp.
Đặt quyền tệp và quyền sở hữu người dùng chính xác cho người dùng Nginx. Ngoài ra, hãy đặt tệp
Áp dụng chính sách.
Áp dụng chính sách để cho phép Nginx cấp quyền truy cập vào MySQL.
Áp dụng chính sách để cho phép kết nối được thực hiện với các máy chủ bên ngoài. Điều này là cần thiết để gửi email.
Chúng ta cần đặt người dùng/nhóm Unix của các quy trình PHP thành nginx. Tìm các dòng
Tiếp theo, bỏ ghi chú ở dòng chủ sở hữu tệp socket, nhóm và quyền mặc định rồi thay đổi chúng như hình minh họa bên dưới.
Tiếp theo, hãy bình luận dòng sau như được hiển thị bằng cách đặt dấu chấm phẩy trước dòng đó.
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Tăng thời gian thực thi cho PHP-FPM và PHP-CLI thành 60 giây.
Tăng giới hạn bộ nhớ cho PHP-FPM từ 128 MB lên 256 MB.
Theo mặc định, PHP đặt giới hạn kích thước tệp cho thư viện phương tiện là 2MB. Chạy các lệnh sau để tăng giới hạn kích thước tệp lên 25MB.
Khởi động lại dịch vụ PHP-FPM.
Thay đổi nhóm thư mục phiên PHP thành Nginx.
Dán mã sau vào đó.
Lưu ý thư mục gốc được sử dụng trong cấu hình Nginx là
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc sau khi hoàn tất.
Mở tệp
Thêm dòng sau vào trước dòng
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Xác minh tệp cấu hình Nginx cú pháp.
Khởi động lại dịch vụ Nginx.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22496%22%3E%3C/svg%3E
Điền URL, thông tin đăng nhập cơ sở dữ liệu và thông tin đăng nhập tài khoản quản trị viên của bạn. Nhập
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22729%22%3E%3C/svg%3E
Nhập thông tin tài khoản của bạn và nhấp vào nút Đăng nhập để mở bảng điều khiển SuiteCRM.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22729%22%20height=%22750%22%3E%3C/svg%3E
Các phiên bản trước của SuiteCRM cung cấp cho bạn tùy chọn cấu hình nhà cung cấp email trong quá trình thiết lập. Bây giờ thì không còn như vậy nữa. Để cấu hình nhà cung cấp email, hãy nhấp vào menu thả xuống Quản trị viên ở góc trên bên phải và nhấp vào tùy chọn Quản trị viên.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22221%22%20height=%22269%22%3E%3C/svg%3E
Bạn sẽ được đưa đến Bảng quản trị sau của SuiteCRM.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22561%22%3E%3C/svg%3E
Nhấp vào liên kết Cài đặt email để mở trang nhà cung cấp email.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22461%22%3E%3C/svg%3E
Nếu bạn đang sử dụng Gmail hoặc Microsoft Exchange, bạn có thể sử dụng các nút chuyên dụng để cấu hình chúng. Đối với hướng dẫn của chúng tôi, chúng tôi đang sử dụng Amazon SES. Nếu bạn muốn người dùng của mình sử dụng cài đặt SMTP của bạn, bạn có thể bật tùy chọn cho cài đặt này. Nhấp vào nút Gửi email thử nghiệm để mở cửa sổ bật lên sau và điền ID email mà bạn muốn nhận email thử nghiệm.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22563%22%20height=%22189%22%3E%3C/svg%3E
Nhấp vào nút Gửi để gửi email thử nghiệm. Nếu bạn nhận được email sau, điều đó có nghĩa là cài đặt của bạn đang hoạt động chính xác.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22557%22%20height=%22185%22%3E%3C/svg%3E
Nhấp vào nút Lưu ở đầu trang cài đặt email để lưu cài đặt của bạn. Bây giờ bạn có thể bắt đầu sử dụng SuiteCRM để quản lý khách hàng và doanh nghiệp của mình.
Chạy lệnh sau để cài đặt SuiteCRM.
Nếu bạn không muốn dữ liệu demo, bạn có thể bỏ qua cờ
Bạn thậm chí có thể chạy trình cài đặt mà không cần cung cấp bất kỳ biến nào. Trong trường hợp đó, nó sẽ yêu cầu bạn cung cấp thông tin.
Mở URL
Thêm dòng sau vào cuối tệp.
Lưu và đóng tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc sau khi hoàn tất.
Một số tính năng của nó bao gồm Lưu trữ tài liệu, Tiếp thị qua email, Lịch, Tích hợp phương tiện truyền thông xã hội, Quản lý lãnh thổ, Phân khúc, Tự động hóa tiếp thị, Đánh giá khách hàng tiềm năng, Tích hợp trò chuyện nội bộ, Hỗ trợ khách hàng, CRM xã hội, Tự động hóa lực lượng bán hàng, Chiến dịch tiếp thị, CRM di động và báo cáo. Nó có thể được tích hợp với các dịch vụ chuyển tiếp SMTP của bên thứ ba như Mandrill, SendGrid, Amazon SES, v.v. Bạn có thể cài đặt các plugin để mở rộng chức năng của SuiteCRM. Nó có thể được tích hợp với các ứng dụng của bên thứ ba như Mautic, Facebook, Twitter, MailChimp, Zoom, Quickbooks, DocuSign, v.v.
Trong bài đăng này, bạn sẽ tìm hiểu cách cài đặt SuiteCRM bằng máy chủ web Nginx và Let's Encrypt SSL trên máy chủ Rocky Linux 9.
Điều kiện tiên quyết
-
Máy chủ chạy Rocky Linux 9.
-
Người dùng không phải root có quyền sudo.
-
Tên miền đủ điều kiện (FQDN) nhưsuitecrm.example.com
.
-
Đảm bảo mọi thứ đều đã cập nhật.
Mã:
$ sudo dnf update
Một số gói mà hệ thống của bạn cần.
Mã:
$ sudo dnf install wget curl nano unzip yum-utils policycoreutils-python-utils -y
Bước 1 - Cấu hình Tường lửa
Bước đầu tiên là cấu hình tường lửa. Rocky Linux sử dụng Tường lửa Firewalld. Kiểm tra trạng thái của tường lửa.
Mã:
$ sudo firewall-cmd --state
running
Mã:
$ sudo firewall-cmd --permanent --list-services
Mã:
cockpit dhcpv6-client ssh
Mã:
$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https
Mã:
$ sudo firewall-cmd --reload
Mã:
$ sudo firewall-cmd --permanent --list-services
Mã:
cockpit dhcpv6-client http https ssh
Bước 2 - Cài đặt Nginx
Rocky Linux 9 đi kèm với phiên bản Nginx cũ hơn. Bạn cần tải xuống kho lưu trữ Nginx chính thức để cài đặt phiên bản mới nhất.Tạo và mở tệp
/etc/yum.repos.d/nginx.repo
để tạo kho lưu trữ Nginx chính thức.
Mã:
$ sudo nano /etc/yum.repos.d/nginx.repo
Mã:
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
Cài đặt máy chủ Nginx.
Mã:
$ sudo dnf install -y nginx
Mã:
$ nginx -v
nginx version: nginx/1.24.0
Mã:
$ sudo systemctl enable nginx --now
Mã:
$ sudo systemctl status nginx
? nginx.service - nginx - high performance web server Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: disabled) Drop-In: /usr/lib/systemd/system/nginx.service.d ??php-fpm.conf Active: active (running) since Thu 2023-05-18 22:32:50 UTC; 4s ago Docs: http://nginx.org/en/docs/ Process: 3955 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS) Main PID: 3957 (nginx) Tasks: 2 (limit: 5922) Memory: 2.1M CPU: 6ms CGroup: /system.slice/nginx.service ??3957 "nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf" ??3958 "nginx: worker process"
Bước 3 - Cài đặt PHP và các tiện ích mở rộng của nó
Chúng ta cần cài đặt PHP 8.1 để SuiteCRM hoạt động. Bước đầu tiên là lấy kho lưu trữ Epel.
Mã:
$ sudo dnf install epel-release -y
Mã:
$ sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
Mã:
$ dnf module list php -y
Name Stream Profiles Summary
php 8.1 common [d], devel, minimal PHP scripting language
Remi's Modular repository for Enterprise Linux 9 - x86_64
Name Stream Profiles Summary
php remi-7.4 common [d], devel, minimal PHP scripting language
php remi-8.0 common [d], devel, minimal PHP scripting language
php remi-8.1 common [d], devel, minimal PHP scripting language
php remi-8.2 common [d], devel, minimal PHP scripting language
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
Mã:
$ sudo dnf module reset php -y
$ sudo dnf module enable php:remi-8.1
Mã:
$ sudo dnf install -y php-fpm php-mysql php-bcmath php-xml php-zip php-curl php-mbstring php-gd php-tidy php-intl php-cli php-opcache php-soap php-imap php-ldap
Mã:
$ php --version
PHP 8.1.19 (cli) (built: May 10 2023 13:43:03) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.1.19, Copyright (c) Zend Technologies with Zend OPcache v8.1.19, Copyright (c), by Zend Technologies
Mã:
$ sudo systemctl enable php-fpm --now
Bước 4 - Cài đặt MySQL
Rocky Linux 9 được tích hợp phiên bản MySQL mới nhất. Bạn có thể cài đặt nó bằng một lệnh duy nhất.
Mã:
$ sudo dnf install mysql-server
Mã:
$ mysql --version
mysql Ver 8.0.32 for Linux on x86_64 (Source distribution)
Mã:
$ sudo systemctl enable mysqld --now
Mã:
$ sudo mysql_secure_installation
Mã:
Securing the MySQL server deployment.
Connecting to MySQL using a blank password.
VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?
Press y|Y for Yes, any other key for No: Y
There are three levels of password validation policy:
LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2
Y
khi được nhắc tiếp tục với mật khẩu gốc đã chọn.
Mã:
Please set the password for root here.
New password:
Re-enter new password:
Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y
Mã:
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL 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? (Press y|Y for Yes, any other key for No) : 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? (Press y|Y for Yes, any other key for No) : Y
Success.
By default, MySQL 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? (Press y|Y for Yes, any other key for No) : 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? (Press y|Y for Yes, any other key for No) : Y
Success.
All done!
Bước 5 - Cấu hình MySQL
Đăng nhập vào shell MySQL. Nhập mật khẩu root của bạn khi được nhắc.
Mã:
$ sudo mysql -u root -p
Mã:
mysql> CREATE DATABASE suitecrm;
Mã:
mysql> CREATE USER 'suiteuser'@'localhost' IDENTIFIED BY 'Your_password2';
Mã:
mysql> GRANT ALL PRIVILEGES ON suitecrm.* TO 'suiteuser'@'localhost';
Mã:
mysql> FLUSH PRIVILEGES;
Mã:
mysql> exit
Bước 6 - Cài đặt SSL
Chúng ta cần cài đặt Certbot để tạo chứng chỉ SSL.Chúng ta sẽ sử dụng trình cài đặt gói Snapd cho việc đó. Vì Rocky Linux không được tích hợp sẵn, hãy cài đặt trình cài đặt Snapd. Nó yêu cầu kho lưu trữ EPEL hoạt động mà chúng tôi đã cài đặt trước đó cho PHP để chúng tôi có thể bỏ qua bước này.
Cài đặt Snapd.
Mã:
$ sudo dnf install -y snapd
Mã:
$ sudo systemctl enable snapd --now
Mã:
$ sudo snap install core && sudo snap refresh core
Mã:
$ sudo ln -s /var/lib/snapd/snap /snap
$ echo 'export PATH=$PATH:/var/lib/snapd/snap/bin' | sudo tee -a /etc/profile.d/snapd.sh
Mã:
$ sudo snap install --classic certbot
/usr/bin
thư mục.
Mã:
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Mã:
$ certbot --version
certbot 2.6.0
Mã:
$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [emailprotected] -d suitecrm.example.com
/etc/letsencrypt/live/suitecrm.example.com
trên máy chủ của bạn.Tạo nhóm Diffie-Hellman chứng chỉ.
Mã:
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Mã:
$ sudo systemctl list-timers
snap.certbot.renew.service
là một trong những dịch vụ được lên lịch chạy.
Mã:
NEXT LEFT LAST PASSED UNIT ACTIVATES
.....
Sun 2023-05-21 06:32:00 UTC 9h left Sat 2023-05-21 18:04:05 UTC 2h 59min ago snap.certbot.renew.timer snap.certbot.renew.service
Sun 2023-05-21 06:43:20 UTC 9h left Sat 2023-05-21 10:49:23 UTC 10h ago apt-daily-upgrade.timer apt-daily-upgrade.service
Sun 2023-05-21 09:00:06 UTC 11h left Sat 2023-05-21 20:58:06 UTC 5min ago apt-daily.timer apt-daily.service
Mã:
$ sudo certbot renew --dry-run
Bước 7 - Tải xuống SuiteCRM
Tạo thư mục gốc web cho SuiteCRM.
Mã:
$ sudo mkdir /var/www/html/suitecrm -p
Mã:
$ cd /var/www/html/suitecrm
Mã:
$ sudo wget https://suitecrm.com/download/140/suite83/562304/suitecrm-8-3-0.zip
Mã:
$ sudo unzip -q suitecrm*.*
Mã:
$ sudo rm suitecrm-8-3-0.zip
bin/console
có thể thực thi để chạy bảng điều khiển SuiteCRM.
Mã:
$ sudo find . -type d -not -perm 2755 -exec chmod 2755 {} \;
$ sudo find . -type f -not -perm 0644 -exec chmod 0644 {} \;
$ sudo find . ! -user nginx -exec chown nginx:nginx {} \;
$ sudo chmod +x bin/console
Bước 8 - Cấu hình SELinux
Thay đổi ngữ cảnh bảo mật tệp cho SuiteCRM.
Mã:
$ sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/suitecrm(/.*)?"
Mã:
$ sudo restorecon -Rv /var/www/html/suitecrm/
Mã:
$ sudo setsebool -P httpd_can_network_connect_db 1
Mã:
$ sudo setsebool -P httpd_can_network_connect 1
Bước 9 - Cấu hình Nginx và PHP
Cấu hình PHP-FPM
Mở tệp/etc/php-fpm.d/www.conf
.
Mã:
$ sudo nano /etc/php-fpm.d/www.conf
user=www-data
và group=www-data
trong tệp và thay đổi chúng thành nginx
.
Mã:
...
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
; will be used.
; RPM: apache user chosen to provide access to the same directories as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
...
Mã:
; Set permissions for unix socket, if one is used. In Linux, read/write
; permissions must be set in order to allow connections from a web server.
; Default Values: user and group are set as the running user
; mode is set to 0660
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
Mã:
;listen.acl_users = apache,nginx
Tăng thời gian thực thi cho PHP-FPM và PHP-CLI thành 60 giây.
Mã:
$ sudo sed -i 's/max_execution_time = 30/max_execution_time = 60/' /etc/php.ini
Mã:
$ sudo sed -i 's/memory_limit = 128M/memory_limit = 256M/' /etc/php.ini
Mã:
$ sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 25M/g' /etc/php.ini
$ sudo sed -i 's/post_max_size = 8M/post_max_size = 25M/g' /etc/php.ini
Mã:
$ sudo systemctl restart php-fpm
Mã:
$ sudo chgrp -R nginx /var/lib/php/session
Cấu hình Nginx
Tạo và mở tệp/etc/nginx/conf.d/suitecrm.conf
cho chỉnh sửa.
Mã:
$ sudo nano /etc/nginx/conf.d/suitecrm.conf
Mã:
server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name suitecrm.example.com; root /var/www/html/suitecrm/public; error_log /var/log/nginx/suitecrm.error.log; access_log /var/log/nginx/suitecrm.access.log; client_max_body_size 25M; 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_files $uri /index.php; } location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/run/php-fpm/www.sock; 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; } # Deny all attempts to access hidden files/folders such as .htaccess, .htpasswd, .DS_Store (Mac), etc... location ~ /\. { deny all; } # 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)$ { expires 360d; }
}
# enforce HTTPS
server { listen 80; listen [::]:80; server_name suitecrm.example.com; return 301 https://$host$request_uri;
}
/var/www/html/suitecrm/public
. Trong các phiên bản SuiteCRM trước đó (7.x), đó là /var/www/html/suitecrm
. Thư mục public
được giới thiệu cùng với phiên bản SuiteCRM 8.x.Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc sau khi hoàn tất.
Mở tệp
/etc/nginx/nginx.conf
để chỉnh sửa.
Mã:
$ sudo nano /etc/nginx/nginx.conf
include /etc/nginx/conf.d/*.conf;
.
Mã:
server_names_hash_bucket_size 64;
Xác minh tệp cấu hình Nginx cú pháp.
Mã:
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Mã:
$ sudo systemctl restart nginx
Bước 10 - Cài đặt và truy cập SuiteCRM
Có hai cách để cài đặt SuiteCRM. Phương pháp đầu tiên là sử dụng trình cài đặt web và phương pháp thứ hai liên quan đến việc sử dụng dòng lệnh bảng điều khiển SuiteCRM.Phương pháp 1 - Trình hướng dẫn web
Mở URLhttps://suitecrm.example.com
trong trình duyệt và bạn sẽ thấy trình hướng dẫn thiết lập.data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22496%22%3E%3C/svg%3E
Điền URL, thông tin đăng nhập cơ sở dữ liệu và thông tin đăng nhập tài khoản quản trị viên của bạn. Nhập
localhost
làm tên máy chủ và 3306
làm cổng cơ sở dữ liệu. Nhấp vào nút Tiến hành để mở trang đăng nhập.data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22729%22%3E%3C/svg%3E
Nhập thông tin tài khoản của bạn và nhấp vào nút Đăng nhập để mở bảng điều khiển SuiteCRM.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22729%22%20height=%22750%22%3E%3C/svg%3E
Các phiên bản trước của SuiteCRM cung cấp cho bạn tùy chọn cấu hình nhà cung cấp email trong quá trình thiết lập. Bây giờ thì không còn như vậy nữa. Để cấu hình nhà cung cấp email, hãy nhấp vào menu thả xuống Quản trị viên ở góc trên bên phải và nhấp vào tùy chọn Quản trị viên.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22221%22%20height=%22269%22%3E%3C/svg%3E
Bạn sẽ được đưa đến Bảng quản trị sau của SuiteCRM.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22561%22%3E%3C/svg%3E
Nhấp vào liên kết Cài đặt email để mở trang nhà cung cấp email.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22461%22%3E%3C/svg%3E
Nếu bạn đang sử dụng Gmail hoặc Microsoft Exchange, bạn có thể sử dụng các nút chuyên dụng để cấu hình chúng. Đối với hướng dẫn của chúng tôi, chúng tôi đang sử dụng Amazon SES. Nếu bạn muốn người dùng của mình sử dụng cài đặt SMTP của bạn, bạn có thể bật tùy chọn cho cài đặt này. Nhấp vào nút Gửi email thử nghiệm để mở cửa sổ bật lên sau và điền ID email mà bạn muốn nhận email thử nghiệm.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22563%22%20height=%22189%22%3E%3C/svg%3E
Nhấp vào nút Gửi để gửi email thử nghiệm. Nếu bạn nhận được email sau, điều đó có nghĩa là cài đặt của bạn đang hoạt động chính xác.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22557%22%20height=%22185%22%3E%3C/svg%3E
Nhấp vào nút Lưu ở đầu trang cài đặt email để lưu cài đặt của bạn. Bây giờ bạn có thể bắt đầu sử dụng SuiteCRM để quản lý khách hàng và doanh nghiệp của mình.
Phương pháp 2 - Bảng điều khiển lệnh SuiteCRM
Chuyển sang thư mục SuiteCRM.
Mã:
$ cd /var/www/html/suitecrm
Mã:
$ sudo ./bin/console suitecrm:app:install -u "admin_username" -p "admin_password" -U "db_user" -P "db_password" -H "localhost" -N "dbname" -S "https://suitecrm.example.com" -d "yes" -Z "3306"
d "yes"
trong lệnh trên.Bạn thậm chí có thể chạy trình cài đặt mà không cần cung cấp bất kỳ biến nào. Trong trường hợp đó, nó sẽ yêu cầu bạn cung cấp thông tin.
Mã:
$ sudo ./bin/console suitecrm:app:install
https://suitecrm.example.com
trong trình duyệt của bạn và mở trang đăng nhập rồi tiến hành từ đó.Bước 11 - Cấu hình Cron Jobs
SuiteCRM cần cron jobs để hoạt động chính xác. Chỉnh sửa tệp crontab của người dùngnginx
. Rocky Linux sử dụng trình soạn thảo Vim theo mặc định. Lệnh sau sẽ mở crontab trong trình soạn thảo Nano, dễ sử dụng hơn.
Mã:
$ sudo EDITOR=nano crontab -e -u nginx
Mã:
* * * * * cd /var/www/html/suitecrm/public/legacy; php -f cron.php > /dev/null 2>&1