SuiteCRM là phần mềm CRM (Quản lý quan hệ khách hàng) mã nguồn mở dựa trên PHP. Đây là một nhánh của phần mềm CRM phổ biến 'SugarCRM' và đã trở nên phổ biến hơn sau khi 'SugarCRM' quyết định ngừng phát triển phiên bản miễn phí. SuiteCRM đã được đề cử là phần mềm CRM mã nguồn mở tốt nhất trên BOSSIE 2015 và 2016.
Trong hướng dẫn này, tôi sẽ chỉ cho bạn từng bước cách cài đặt CRM mã nguồn mở 'SuiteCRM'. Phần mềm sẽ chạy dưới máy chủ web Nginx với cơ sở dữ liệu MariaDB và sử dụng hệ thống Ubuntu 16.04.
Kết nối với máy chủ Ubuntu của bạn và cập nhật kho lưu trữ.
Bây giờ hãy cài đặt máy chủ web Nginx bằng lệnh apt theo cách sau.
Sau khi cài đặt, hãy khởi động nginx và cho phép nó tự động khởi chạy mỗi khi khởi động hệ thống.
Máy chủ web Nginx đã được cài đặt và đang chạy dưới cổng HTTP mặc định là 80. Kiểm tra bằng lệnh netstat hoặc bạn có thể sử dụng curl để xem mã trạng thái HTTP.
Cài đặt PHP và PHP-FPM 7 cùng với các tiện ích mở rộng cần thiết khác bằng lệnh apt sau.
Sau khi cài đặt hoàn tất, hãy vào thư mục cấu hình PHP và chỉnh sửa các tệp php.ini cho cả cấu hình 'cli' và 'fpm'.
Chỉnh sửa các tệp php.ini.
Thay đổi giá trị kích thước tệp tải lên tối đa. SuiteCRM cần ít nhất 6MB, nhưng chúng tôi sẽ đặt 100MB làm giá trị.
Bỏ chú thích dòng CGI (hiển thị bên dưới) và thay đổi giá trị thành 0.
Đối với cấu hình đường dẫn phiên, hãy bỏ chú thích dòng bên dưới.
Vậy là xong. Lưu những thay đổi này và thoát.
Bây giờ, chúng ta cần tạo một thư mục mới cho các tệp phiên PHP và thay đổi chủ sở hữu của thư mục thành người dùng và nhóm 'www-data'.
Cấu hình PHP và PHP-FPM đã hoàn tất. Bây giờ hãy khởi động dịch vụ và cho phép nó khởi chạy mỗi khi khởi động hệ thống.
Theo mặc định trên hệ thống Ubuntu, PHP-FPM sẽ chạy dưới tệp sock thay vì sử dụng cổng hệ thống. Kiểm tra bằng lệnh netstat bên dưới.
Và hãy đảm bảo rằng kết quả bạn thấy tương tự như những gì được hiển thị trong ảnh chụp màn hình sau.
Cài đặt MariaDB bằng lệnh apt bên dưới.
Sau khi cài đặt, hãy khởi động dịch vụ và cho phép dịch vụ khởi chạy mỗi lần khởi động hệ thống.
Tiếp theo, cấu hình mật khẩu gốc MariaDB bằng lệnh 'mysql_secure_installation' như bên dưới.
Bạn sẽ được hỏi về cấu hình, hãy nhập 'Y' và nhấn 'Enter'.
Mật khẩu root MariaDB đã được cấu hình.
Bây giờ chúng ta sẽ tạo một cơ sở dữ liệu và người dùng mới để cài đặt SuiteCRM. Tạo một cơ sở dữ liệu có tên là 'suitecrm_db' và một người dùng mới 'crmadmin' với mật khẩu 'hakase-labs123'. Kết nối với shell mysql và chạy các truy vấn mysql sau.
Cấu hình cơ sở dữ liệu MariaDB để cài đặt SuiteCRM đã hoàn tất.
- Tải xuống mã nguồn SuiteCRM
Mã nguồn suiteCRM có sẵn trên Github. Đảm bảo lệnh git được cài đặt trên hệ thống của bạn. Hoặc nếu bạn không có gói git, hãy cài đặt nó bằng lệnh apt bên dưới.
Bây giờ hãy đến thư mục '/opt' và sao chép kho lưu trữ bằng lệnh git clone sau.
Đi đến thư mục suitecrm và tạo một thư mục 'cache' mới. Sau đó thay đổi quyền của một số tệp và thư mục, và cuối cùng, chúng ta cần thay đổi quyền sở hữu cho thư mục 'suitecrm' thành người dùng và nhóm 'www-data'.
Mã nguồn SuiteCRM đã được tải xuống.
- Cấu hình tường lửa UFW
Trên Ubuntu, chúng tôi sẽ sử dụng tường lửa ufw. Mở các cổng mới HTTP, HTTPS và SSH bằng lệnh ufw như hiển thị bên dưới.
Bây giờ hãy khởi động tường lửa và cho phép tường lửa khởi chạy mỗi khi khởi động hệ thống bằng lệnh ufw enable.
Gõ 'y' và nhấn Enter để bật tường lửa.
Nếu bạn muốn kiểm tra trạng thái tường lửa, hãy sử dụng lệnh ufw status.
Và bạn sẽ nhận được trạng thái tường lửa bao gồm các cổng bạn đã thêm.
- Tạo chứng chỉ Letsencrypt
Trong hướng dẫn này, SuiteCRM sẽ sử dụng HTTPS để kết nối an toàn hơn giữa máy khách và máy chủ. Với mục đích này, chúng ta sẽ sử dụng chứng chỉ SSL miễn phí từ Letsencrypt.
Trước khi tạo tệp chứng chỉ, chúng ta cần cài đặt tác nhân máy khách letsencrypt trên hệ thống. Nó có sẵn trong kho lưu trữ Ubuntu, vì vậy hãy cài đặt nó bằng lệnh apt bên dưới.
Sau khi cài đặt letsencrypt, chúng ta cần dừng dịch vụ nginx trước khi tạo tệp chứng chỉ.
Bây giờ hãy tạo tệp Chứng chỉ SSL bằng lệnh letsencrypt bên dưới.
Lưu ý: Tùy chọn --standalone sẽ tạo một máy chủ web tạm thời trên hệ thống, vì vậy chúng ta cần dừng máy chủ web Nginx trước khi tạo tệp chứng chỉ.
Bạn sẽ được hỏi về địa chỉ email của mình để thông báo gia hạn. Nhập địa chỉ email của bạn và nhấp vào 'OK'.
Đối với Thỏa thuận Letsencrypt, hãy chọn 'Đồng ý' và nhấn Enter.
SSL Letsencrypt mới đã được tạo trong thư mục '/etc/letsencrypt/live/domain.com'.
- Cấu hình máy chủ ảo Nginx cho SuiteCRM
Đi tới thư mục cấu hình Nginx và tạo tệp máy chủ ảo mới 'suitecrm' trong thư mục 'sites-available'.
Dán cấu hình Nginx sau vào đó.
Lưu và thoát.
Bây giờ hãy kích hoạt máy chủ ảo, kiểm tra cấu hình và đảm bảo không có lỗi. Sau đó khởi động lại máy chủ web.
Cấu hình hệ thống để cài đặt SuiteCRM đã hoàn tất.
Bạn sẽ được chuyển hướng đến kết nối HTTPS và trang install.php.
Trên trang xuất hiện, bạn sẽ thấy Giấy phép GNU AFFERO - hãy kiểm tra 'Tôi chấp nhận' và nhấp vào 'Tiếp theo'.
Bây giờ bạn sẽ nhận được trang về môi trường hệ thống để cài đặt SuiteCRM.
Đảm bảo tất cả kết quả là 'OK' như trong hình bên dưới.
Nhấp vào 'Tiếp theo' để tiếp tục.
Tiếp theo là cấu hình cơ sở dữ liệu và người dùng quản trị. Nhập thông tin cơ sở dữ liệu của bạn, dbname 'suitecrm_db', dbuser 'crmadmin' với mật khẩu 'hakase-labs123'. Và nhập tên người dùng quản trị, mật khẩu và email của bạn như hiển thị bên dưới.
Cuộn xuống dưới cùng và nhấp vào 'Tiếp theo' để tiếp tục cài đặt SuiteCRM.
Chờ một lát để cài đặt và khi hoàn tất, bạn sẽ được chuyển hướng đến trang đăng nhập như bên dưới.
Nhập tên người dùng quản trị và mật khẩu của bạn, rồi nhấp vào nút 'Đăng nhập'.
Bây giờ bạn sẽ có thể thấy bảng điều khiển SuiteCRM mặc định.
SuiteCRM đã được cài đặt với máy chủ web Nginx trên hệ thống Ubuntu 16.04.
Chạy lệnh bên dưới để thêm một tác vụ Cron mới.
Dán cấu hình tập lệnh Cron bên dưới.
Lưu và thoát. Sau đó khởi động lại dịch vụ Cron.
Quá trình cài đặt SuiteCRM trên Ubuntu 16.04 đã hoàn tất.
Trong hướng dẫn này, tôi sẽ chỉ cho bạn từng bước cách cài đặt CRM mã nguồn mở 'SuiteCRM'. Phần mềm sẽ chạy dưới máy chủ web Nginx với cơ sở dữ liệu MariaDB và sử dụng hệ thống Ubuntu 16.04.
Những gì chúng ta sẽ làm
- Cài đặt máy chủ web Nginx
- Cài đặt và cấu hình PHP-FPM
- Cài đặt và cấu hình MariaDB
- Tải xuống và cấu hình SuiteCRM
- Trình cài đặt web SuiteCRM
- Các bước cuối cùng
Điều kiện tiên quyết
- Máy chủ Ubuntu 16.04
- Quyền root
Bước 1 - Cài đặt máy chủ web Nginx
SuiteCRM là phần mềm dựa trên web và cần có máy chủ web. Chúng ta có thể sử dụng Apache hoặc Nginx cho phần mềm này. Trong hướng dẫn này, chúng ta sẽ sử dụng máy chủ web Nginx thay vì máy chủ web Apache.Kết nối với máy chủ Ubuntu của bạn và cập nhật kho lưu trữ.
Mã:
ssh [emailprotected]
sudo apt update
Mã:
apt install -y nginx
Mã:
systemctl start nginx
systemctl enable nginx
Mã:
netstat -plntu
curl -I localhost
Bước 2 - Cài đặt và cấu hình PHP-FPM
SuiteCRM tương thích với nhiều phiên bản PHP. Trong hướng dẫn này, chúng ta sẽ sử dụng phiên bản PHP 7.0 mới nhất để cài đặt SuiteCRM.Cài đặt PHP và PHP-FPM 7 cùng với các tiện ích mở rộng cần thiết khác bằng lệnh apt sau.
Mã:
apt install -y php7.0-fpm php7.0-mcrypt php7.0-imap php7.0-curl php7.0-cli php7.0-mysql php7.0-gd php7.0-xsl php7.0-json php7.0-intl php-pear php7.0-dev php7.0-common php7.0-mbstring php7.0-zip php-soap libcurl3 curl
Mã:
cd /etc/php/7.0/
Mã:
vim cli/php.ini
vim fpm/php.ini
Mã:
upload_max_filesize = 100M
Mã:
cgi.fix_pathinfo=0
Mã:
session.save_path = "/var/lib/php/sessions"
Bây giờ, chúng ta cần tạo một thư mục mới cho các tệp phiên PHP và thay đổi chủ sở hữu của thư mục thành người dùng và nhóm 'www-data'.
Mã:
mkdir -p /var/lib/php/sessions
chown -R www-data:www-data /var/lib/php/sessions
Mã:
systemctl start php7.0-fpm
systemctl enable php7.0-fpm
Mã:
netstat -pl | grep php
Bước 3 - Cài đặt và cấu hình MariaDB
Trong bước này, chúng ta sẽ cài đặt MariaDB và cấu hình mật khẩu gốc. Sau đó cấu hình cơ sở dữ liệu mới để cài đặt SuiteCRM.Cài đặt MariaDB bằng lệnh apt bên dưới.
Mã:
apt install -y mariadb-server mariadb-client
Mã:
systemctl start mysql
systemctl enable mysql
Mã:
mysql_secure_installation
Mã:
Đặt mật khẩu root? [Y/n] Y
Mật khẩu mới:
Nhập lại mật khẩu mới:
Xóa người dùng ẩn danh? [Y/n] Y
Không cho phép đăng nhập root từ xa? [Y/n] Y
Xóa cơ sở dữ liệu thử nghiệm và quyền truy cập vào cơ sở dữ liệu đó? [Y/n] Y
Tải lại bảng đặc quyền ngay bây giờ? [Y/n] Y
Bây giờ chúng ta sẽ tạo một cơ sở dữ liệu và người dùng mới để cài đặt SuiteCRM. Tạo một cơ sở dữ liệu có tên là 'suitecrm_db' và một người dùng mới 'crmadmin' với mật khẩu 'hakase-labs123'. Kết nối với shell mysql và chạy các truy vấn mysql sau.
Mã:
mysql -u root -p
Nhập mật khẩu của bạn:
CREATE DATABASE suitecrm_db;
CREATE USER 'crmadmin'@'localhost' IDENTIFIED BY 'hakase-labs123';
GRANT ALL PRIVILEGES ON suitecrm_db.* TO 'crmadmin'@'localhost';
FLUSH PRIVILEGES;
Cấu hình cơ sở dữ liệu MariaDB để cài đặt SuiteCRM đã hoàn tất.
Bước 4 - Tải xuống và cấu hình SuiteCRM
Trong bước này, chúng ta sẽ thực hiện một số tác vụ để chuẩn bị hệ thống cho việc cài đặt SuiteCRM. Chúng tôi sẽ tải xuống mã nguồn SuiteCRM, cấu hình Tường lửa UFW, tạo chứng chỉ Letsencrypt và cấu hình máy chủ ảo nginx cho SuiteCRM.- Tải xuống mã nguồn SuiteCRM
Mã nguồn suiteCRM có sẵn trên Github. Đảm bảo lệnh git được cài đặt trên hệ thống của bạn. Hoặc nếu bạn không có gói git, hãy cài đặt nó bằng lệnh apt bên dưới.
Mã:
apt install -y git
Mã:
cd /opt/
git clone https://github.com/salesagility/SuiteCRM.git suitecrm
Mã:
cd /opt/suitecrm
mkdir -p /opt/suitecrm/cache
chmod -R 775 cache custom modules themes data upload config_override.php
chown www-data:www-data -R /opt/suitecrm
Mã nguồn SuiteCRM đã được tải xuống.
- Cấu hình tường lửa UFW
Trên Ubuntu, chúng tôi sẽ sử dụng tường lửa ufw. Mở các cổng mới HTTP, HTTPS và SSH bằng lệnh ufw như hiển thị bên dưới.
Mã:
ufw allow ssh
ufw allow http
ufw allow https
Mã:
ufw enable
Nếu bạn muốn kiểm tra trạng thái tường lửa, hãy sử dụng lệnh ufw status.
Mã:
ufw status
- Tạo chứng chỉ Letsencrypt
Trong hướng dẫn này, SuiteCRM sẽ sử dụng HTTPS để kết nối an toàn hơn giữa máy khách và máy chủ. Với mục đích này, chúng ta sẽ sử dụng chứng chỉ SSL miễn phí từ Letsencrypt.
Trước khi tạo tệp chứng chỉ, chúng ta cần cài đặt tác nhân máy khách letsencrypt trên hệ thống. Nó có sẵn trong kho lưu trữ Ubuntu, vì vậy hãy cài đặt nó bằng lệnh apt bên dưới.
Mã:
apt install -y letsencrypt
Mã:
systemctl stop nginx
Mã:
letsencrypt certonly --standalone -d suitecrm.hakase-labs.co
Bạn sẽ được hỏi về địa chỉ email của mình để thông báo gia hạn. Nhập địa chỉ email của bạn và nhấp vào 'OK'.
Đối với Thỏa thuận Letsencrypt, hãy chọn 'Đồng ý' và nhấn Enter.
SSL Letsencrypt mới đã được tạo trong thư mục '/etc/letsencrypt/live/domain.com'.
- Cấu hình máy chủ ảo Nginx cho SuiteCRM
Đi tới thư mục cấu hình Nginx và tạo tệp máy chủ ảo mới 'suitecrm' trong thư mục 'sites-available'.
Mã:
cd /etc/nginx
vim sites-available/suitecrm
Mã:
# Cấu hình máy chủ - hakase-labs
máy chủ {
lắng nghe 80;
tên máy chủ suitecrm.hakase-labs.co;
# Tự động chuyển hướng đến HTTPS
trả về 301 https://$host$request_uri;
}
# Nginx SSL cho SuiteCRM
máy chủ {
tên máy chủ suitecrm.hakase-labs.co;
# Bật http2
lắng nghe 443 http2 ssl;
# Cấu hình SSL
ssl_certificate /etc/letsencrypt/live/suitecrm.hakase-labs.co/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/suitecrm.hakase-labs.co/privkey.pem;
giao thức ssl TLSv1 TLSv1.1 TLSv1.2;
mã hóa ssl CAO:!aNULL:!MD5;
kích thước thân máy khách tối đa 50M;
chỉ mục index.php index.html index.htm;
gốc /opt/suitecrm;
vị trí / {
gốc /opt/suitecrm;
chỉ mục index.php index.html index.htm;
}
trang lỗi 500 502 503 504 /50x.html;
nhật ký lỗi /var/log/nginx/suitecrm.irsyadf.me.error.log;
vị trí = /50x.html {
root /var/www/html;
}
## Hình ảnh và nội dung tĩnh được xử lý khác nhau
location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico|xml|svg|wgoff2)$ {
access_log off;
expires max;
root /opt/suitecrm;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
Bây giờ hãy kích hoạt máy chủ ảo, kiểm tra cấu hình và đảm bảo không có lỗi. Sau đó khởi động lại máy chủ web.
Mã:
ln -s /etc/nginx/sites-available/suitecrm /etc/nginx/sites-enabled/
nginx -t
systemctl restart nginx
Cấu hình hệ thống để cài đặt SuiteCRM đã hoàn tất.
Bước 5 - Trình cài đặt web SuiteCRM
Mở trình duyệt web của bạn và nhập URL SuiteCRM vào thanh địa chỉ, của tôi làsuitecrm.hakase-labs.coBạn sẽ được chuyển hướng đến kết nối HTTPS và trang install.php.
Trên trang xuất hiện, bạn sẽ thấy Giấy phép GNU AFFERO - hãy kiểm tra 'Tôi chấp nhận' và nhấp vào 'Tiếp theo'.
Bây giờ bạn sẽ nhận được trang về môi trường hệ thống để cài đặt SuiteCRM.
Đảm bảo tất cả kết quả là 'OK' như trong hình bên dưới.
Nhấp vào 'Tiếp theo' để tiếp tục.
Tiếp theo là cấu hình cơ sở dữ liệu và người dùng quản trị. Nhập thông tin cơ sở dữ liệu của bạn, dbname 'suitecrm_db', dbuser 'crmadmin' với mật khẩu 'hakase-labs123'. Và nhập tên người dùng quản trị, mật khẩu và email của bạn như hiển thị bên dưới.
Cuộn xuống dưới cùng và nhấp vào 'Tiếp theo' để tiếp tục cài đặt SuiteCRM.
Chờ một lát để cài đặt và khi hoàn tất, bạn sẽ được chuyển hướng đến trang đăng nhập như bên dưới.
Nhập tên người dùng quản trị và mật khẩu của bạn, rồi nhấp vào nút 'Đăng nhập'.
Bây giờ bạn sẽ có thể thấy bảng điều khiển SuiteCRM mặc định.
SuiteCRM đã được cài đặt với máy chủ web Nginx trên hệ thống Ubuntu 16.04.
Bước 6 - Các bước cuối cùng
Đối với bước cuối cùng này, chúng ta sẽ tạo một tác vụ Cron mới trong người dùng www-data.Chạy lệnh bên dưới để thêm một tác vụ Cron mới.
Mã:
sudo crontab -e -u www-data
Mã:
* * * * * cd /opt/suitecrm; php -f cron.php > /dev/null 2>&1
Mã:
systemctl restart cron