Cách cài đặt SuiteCRM trên Ubuntu 22.04

Tác giả Security+, T.Hai 26, 2024, 02:57:37 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Cách cài đặt SuiteCRM trên Ubuntu 22.04


SuiteCRM là phần mềm CRM (Quản lý quan hệ khách hàng) mã nguồn mở miễn phí được viết bằng PHP. Nó giúp bạn mở rộng các bộ phận tiếp thị, bán hàng và dịch vụ khách hàng trong công ty của bạn.

SuiteCRM phù hợp với hầu hết mọi ngành, ví dụ như sản xuất, khu vực công, công nghệ, tài chính, giáo dục và nhiều ngành khác.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt SuiteCRM trên máy chủ Ubuntu 22.04 với ngăn xếp LAMP (Apache, MariaDB và PHP), bật UFW (Tường lửa không phức tạp) và SSL/TLS thông qua Certbot và Letsencrypt.

1. Điều kiện tiên quyết

Để tạo hướng dẫn này, bạn phải đáp ứng các yêu cầu sau:

  • Máy chủ Ubuntu 22.04.
  • Người dùng không phải root có đặc quyền sudo.
  • Một tên miền trỏ đến địa chỉ IP của máy chủ.

2. Cài đặt ngăn xếp LAMP làm phần phụ thuộc

Trước khi bắt đầu, hãy chạy lệnh sau để cập nhật kho lưu trữ Ubuntu của bạn.

Mã nguồn [Chọn]
sudo apt update

Bây giờ hãy chạy lệnh sau để cài đặt các gói phụ thuộc cho SuiteCRM, bao gồm ngăn xếp LAMP (Apache2, MariaDB và PHP) và một số phần mở rộng PHP.

Mã nguồn [Chọn]
sudo apt install apache2 mariadb-server php php-cli 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 unzip
Nhập y để xác nhận cài đặt.


Sau khi cài đặt hoàn tất, hãy chạy lệnh sau để kiểm tra dịch vụ Apache2. Đảm bảo Apache2 đang chạy và được kích hoạt trên hệ thống của bạn.

Mã nguồn [Chọn]
sudo systemctl is-enabled apache2
sudo systemctl status apache2


Bây giờ hãy kiểm tra dịch vụ MariaDB bằng lệnh bên dưới. Nếu MariaDB đang chạy, bạn sẽ thấy đầu ra đang hoạt động (đang chạy), nếu nó được bật, bạn sẽ thấy đầu ra được bật.

Mã nguồn [Chọn]
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb


Cuối cùng, hãy chạy lệnh sau để kiểm tra phiên bản PHP của bạn và danh sách các tiện ích mở rộng đã bật.

Mã nguồn [Chọn]
php -v
php -m

Dưới đây bạn có thể thấy PHP 8.1 đã được cài đặt và sử dụng để cài đặt SuiteCRM.


3. Thiết lập UFW

Trong hướng dẫn này, bạn sẽ chạy SuiteCRM khi bật UFW. Vì vậy, bạn cần mở cả hai cổng HTTP và HTTPS trên máy chủ Ubuntu của mình.

Nếu bạn chưa kích hoạt UFW, bạn sẽ cần thêm OpenSSH và kích hoạt UFW.

Mã nguồn [Chọn]
sudo ufw allow OpenSSH
sudo ufw enable

Gõ y để xác nhận và kích hoạt UFW.


Tiếp theo, chạy lệnh sau để thêm hồ sơ đầy đủ Apache và mở giao thức HTTP và HTTPS.

Mã nguồn [Chọn]
sudo ufw allow 'Apache Full'
Bây giờ hãy kiểm tra danh sách các quy tắc được kích hoạt cho UFW bằng lệnh sau.

Mã nguồn [Chọn]
sudo ufw status
Đảm bảo rằng cấu hình OpenSSH và Apache Full được kích hoạt.


4. Định cấu hình máy chủ MariaDB

Sau khi bạn đã cài đặt ngăn xếp LAMP, hãy xem cấu hình của máy chủ MariaDB. Trong phần này, bạn thiết lập cài đặt máy chủ MariaDB và tạo cơ sở dữ liệu mới cũng như người dùng mới cần thiết cho SuiteCRM.

Bây giờ hãy chạy lệnh mariadb-secure-installation để định cấu hình cài đặt máy chủ MariaDB của bạn.

Mã nguồn [Chọn]
sudo mariadb-secure-installation
Trong toàn bộ quá trình, bạn sẽ phải đối mặt với cấu hình máy chủ MariaDB sau:

  • Chuyển sang xác thực unix_socket? Nhập n và nhấn ENTER. Người dùng root MariaDB mặc định đã được bảo vệ. Tùy chọn, bạn cũng có thể kích hoạt nó bằng cách nhập y cho có.
  • Thay đổi mật khẩu gốc? Nhập y để xác nhận và thiết lập mật khẩu gốc MariaDB mới của bạn.
  • Xóa người dùng ẩn danh? Nhập y để xác nhận.
  • Cấm đăng nhập root từ xa? Nhập y để xác nhận. Nếu bạn sử dụng người dùng root MariaDB, chỉ cho phép kết nối cục bộ.
  • Xóa cơ sở dữ liệu thử nghiệm và truy cập vào nó? Xác nhận bằng y và xóa "kiểm tra" cơ sở dữ liệu mặc định.
  • Cuối cùng, nhập lại y để tải lại tất cả các quyền của bảng trên máy chủ MariaDB của bạn và áp dụng các thay đổi mới.

Sau khi quá trình hoàn tất, bạn có thể thiết lập cơ sở dữ liệu mới và người dùng mới cho SuiteCRM.

Đăng nhập vào máy chủ MariaDB bằng lệnh sau. Nhấn ENTER hoặc nhập mật khẩu gốc MariaDB của bạn khi được nhắc.

Mã nguồn [Chọn]
sudo mariadb -u root -p
Bây giờ hãy thực hiện các truy vấn sau để tạo cơ sở dữ liệu mới suitecrmdb với người dùng suitecrm và mật khẩu p4ssw0rd. Đảm bảo rằng bạn thay đổi mật khẩu sau bằng mật khẩu mới.

Mã nguồn [Chọn]
CREATE DATABASE suitecrmdb;
CREATE USER 'suitecrm'@'localhost' IDENTIFIED BY 'p4ssw0rd';
GRANT ALL PRIVILEGES ON suitecrmdb.* TO 'suitecrm'@'localhost';
FLUSH PRIVILEGES;


Tiếp theo, chạy truy vấn sau để kiểm tra quyền của người dùng suitecrm. Đảm bảo rằng người dùng suitecrm được phép truy cập cơ sở dữ liệu suitecrmdb.

Mã nguồn [Chọn]
SHOW GRANTS FOR 'suitecrm'@'localhost';

Khi tất cả quá trình hoàn tất, hãy nhập quit để thoát khỏi máy chủ MariaDB.

5. Định cấu hình PHP

Sau khi đã định cấu hình máy chủ MariaDB, bây giờ bạn có thể định cấu hình cài đặt PHP. Trong trường hợp này, bạn sẽ thay đổi cấu hình PHP mặc định như sau

  • Kích hoạt báo cáo lỗi tùy chỉnh.
  • Kích hoạt mô-đun PHP OPCcache.
  • Thiết lập tùy chỉnh upload_max_filesize.
  • Thiết lập post_max_size.

Mở cấu hình PHP mặc định "/etc/php/8.1/apache2/php.ini " và "/etc/php/8.1/cli/php.ini " bằng lệnh soạn thảo nano sau.

Mã nguồn [Chọn]
sudo nano /etc/php/8.1/apache2/php.ini
sudo nano /etc/php/8.1/cli/php.ini

Thay đổi múi giờ mặc định thành múi giờ của máy chủ của bạn.

Mã nguồn [Chọn]
date.timezone = Europe/Amsterdam
Điều chỉnh các giá trị Memory_limit và max_execution_time cho hệ thống hiện tại của bạn. Trong ví dụ này, chúng tôi sẽ chỉ định 256 MB cho PHP.

Mã nguồn [Chọn]
max_execution_time = 60
memory_limit = 256M

Thay đổi giá trị mặc định upload_max_filesize và post_max_size thành 64 MB như sau.

Mã nguồn [Chọn]
upload_max_filesize = 64M
post_max_size = 64M

Thay đổi tham số error_reporting mặc định như sau.

Mã nguồn [Chọn]
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE & ~E_WARNING
Bỏ ghi chú tham số   Đăng nhập để xem liên kết_path để kích hoạt đường dẫn phiên PHP tới thư mục /var/lib/php/sessions.

Mã nguồn [Chọn]
session.save_path = "/var/lib/php/sessions"
Thêm tham số opcache.enable=1 để kích hoạt tiện ích mở rộng PHP OPCache và tùy chỉnh cấu hình mặc định như sau.

Mã nguồn [Chọn]
```
opcache.enable=1

; The OPcache shared memory storage size.
opcache.memory_consumption=256

; The maximum number of keys (scripts) in the OPcache hash table.
; Only numbers between 200 and 100000 are allowed.
opcache.max_accelerated_files=20000

; When disabled, you must reset the OPcache manually or restart the
; webserver for changes to the filesystem to take effect.
opcache.validate_timestamps=0

Lưu tệp và thoát khỏi trình chỉnh sửa khi bạn hoàn tất.

Bây giờ hãy chạy lệnh sau để khởi động lại máy chủ web Apache2 và làm cho các thay đổi của bạn có hiệu lực.

Mã nguồn [Chọn]
sudo systemctl restart apache2
6. Tải xuống và cài đặt SuiteCRM

Nếu bạn đã làm theo hướng dẫn cho đến nay thì bạn đã cài đặt ngăn xếp LAMP trên máy chủ Ubuntu của mình và định cấu hình tất cả các chương trình cần thiết, bao gồm MariaDB và PHP. Bây giờ là lúc tải xuống SuiteCRM và cài đặt nó trên máy Ubuntu của bạn.

Trước tiên, hãy chạy lệnh sau để tạo thư mục đích mới cho quá trình cài đặt: /var/www/suitecrm.

Mã nguồn [Chọn]
mkdir -p /var/www/suitecrm
Duyệt thư mục /var/www/suitecrm và tải xuống mã nguồn SuiteCRM bằng lệnh wget bên dưới. Đảm bảo rằng bạn tìm thấy liên kết dành cho phiên bản mới nhất trên trang tải xuống SuiteCRM.

Mã nguồn [Chọn]
cd /var/www/suitecrm
wget https://suitecrm.com/download/144/suite85/563563/suitecrm-8-5-0.zip

Bây giờ hãy chạy lệnh giải nén để giải nén mã nguồn SuiteCRM vào thư mục làm việc của bạn.

Mã nguồn [Chọn]
unzip suitecrm-8-5-0.zip
Thực hiện lệnh sau để định cấu hình các quyền chính xác cho mã nguồn SuiteCRM. Trong ví dụ này, bạn cũng sẽ thiết lập quyền thực thi cho lệnh bảng điều khiển SuiteCRM.

Mã nguồn [Chọn]
find. -type d -not -perm 2755 -exec chmod 2755 {} \;
find. -type f -not -perm 0644 -exec chmod 0644 {} \;
find. ! -user www-data -exec chown www-data:www-data {} \;
chmod +x bin/console

Tiếp theo, chạy lệnh sau để cài đặt SuiteCRM trên máy chủ Ubuntu của bạn.

Mã nguồn [Chọn]
sudo -u www-data./bin/console suitecrm:app:install -u "alice" -p "AlicePassword" -U "suitecrm" -P "p4ssw0rd" -H "127.0.0.1" -N "suitecrmdb" -S "http://crm.hwdomain.io/"
Đảm bảo rằng bạn thay đổi các chi tiết sau:

  • -u và -p là người dùng quản trị viên cho SuiteCRM.
  • các tham số -U, -P, -H và -N làm thông tin máy chủ MariaDB của bạn.
  • -S cho tên miền cài đặt SuiteCRM của bạn.

Sau khi cài đặt hoàn tất, bạn sẽ thấy kết quả như sau:


7. Định cấu hình máy chủ ảo Apache

Bây giờ bạn đã tải xuống và cài đặt SuiteCRM, hãy thêm cấu hình mới cho máy chủ ảo Apache mà bạn muốn SuiteCRM chạy trên đó.

Trước khi bắt đầu, hãy sử dụng lệnh sau để kích hoạt một số mô-đun Apache mà SuiteCRM yêu cầu.

Mã nguồn [Chọn]
sudo a2enmod rewrite header ssl

Bây giờ hãy chạy lệnh sau trong trình soạn thảo nano để tạo cấu hình máy chủ ảo Apache mới `/etc/apache2/sites-available/suitecrm.conf`.

Mã nguồn [Chọn]
sudo nano /etc/apache2/sites-available/suitecrm.conf
Thêm cấu hình máy chủ ảo sau cho SuiteCRM. Thay đổi tùy chọn Tên máy chủ bằng tên miền đích của bản cài đặt SuiteCRM của bạn.

Mã nguồn [Chọn]
<VirtualHost *:80>
DocumentRoot /var/www/suitecrm/public
ServerName crm.hwdomain.io

<Directory /var/www/suitecrm/public>
Options FollowSymLinks
AllowOverride All
</Directory>

ErrorLog /var/log/apache2/suitecrm-error.log
CustomLog /var/log/apache2/suitecrm-access.log common

</VirtualHost>

Khi bạn hoàn tất, hãy lưu và thoát tệp.

Tiếp theo, chạy lệnh sau để kích hoạt cấu hình máy chủ ảo mới và kiểm tra cú pháp Apache.

Mã nguồn [Chọn]
a2ensite suitecrm.conf
apachectl configtest

Nếu bạn có cú pháp Apache đúng, bạn sẽ nhận được Cú pháp đầu ra OK.

Bây giờ hãy chạy lệnh systemctl sau để khởi động lại máy chủ web Apache và kích hoạt các thay đổi của bạn.

Mã nguồn [Chọn]
sudo systemctl restart apache2

Quá trình cài đặt SuiteCRM của bạn hiện đang chạy. Tuy nhiên, để đảm bảo tính bảo mật cho quá trình cài đặt của bạn, hãy thiết lập HTTPS an toàn thông qua Certbot và Letsencrypt.

8. Bảo mật SuiteCRM bằng HTTPS thông qua Certbot và Letsencrypt

Trước khi có thể truy cập cài đặt SuiteCRM, bạn cần bật HTTPS. Điều này có thể được thực hiện thông qua Certbot và Letsencrypt, nơi cung cấp chứng chỉ SSL miễn phí và tự động định cấu hình HTTPS trong máy chủ ảo Apache của bạn.

Đầu tiên, hãy chạy lệnh bên dưới để cài đặt các plugin Apache Certbot và Certbot.

Mã nguồn [Chọn]
sudo apt install certbot python3-certbot-plugin
Sau khi quá trình cài đặt hoàn tất, hãy chạy lệnh bên dưới để tạo chứng chỉ SSL/TLS mới từ Letsencrypt. Đảm bảo thay đổi thông tin chi tiết về tên miền và địa chỉ email bằng dữ liệu của bạn.

Mã nguồn [Chọn]
sudo certbot --apache --agree-tos --no-eff-email --redirect --hsts --staple-oscp --email [email protected] -d crm.hwdomain.io
Nếu mọi việc suôn sẻ, chứng chỉ SSL/TLS của bạn sẽ có sẵn trong thư mục /etc/letsencryp/live/yourdomain.com. Ngoài ra, cài đặt SuiteCRM của bạn phải được cấu hình tự động bằng HTTPS.

Khởi động trình duyệt web của bạn và đi tới tên miền cài đặt SuiteCRM của bạn, ví dụ:   Đăng nhập để xem liên kết. Bạn sẽ thấy trang đăng nhập SuiteCRM giống như trang bên dưới:

Nhập người dùng và mật khẩu quản trị viên mà bạn đã tạo trong quá trình cài đặt và xác nhận bằng Đăng nhập.


Nếu quá trình cài đặt của bạn thành công, bạn sẽ thấy bảng điều khiển SuiteCRM như thế này:


Chúc mừng! Bạn đã cài đặt thành công SuiteCRM trên máy chủ Ubuntu 22.04. Bạn đã cài đặt giải pháp CRM nguồn mở SuiteCRM với ngăn xếp LAMP và định cấu hình HTTPS an toàn cho SuiteCRM thông qua Certbot và Letsencrypt.