Cách cài đặt OroCRM với Nginx trên Ubuntu 16.04 LTS

theanh

Administrator
Nhân viên
OroCRM là nền tảng Quản lý quan hệ khách hàng (CRM) nguồn mở hoàn toàn nhắm mục tiêu vào các nhóm thương mại điện tử và tiếp thị với góc nhìn đa kênh. Nó hoàn toàn có thể tùy chỉnh và là ứng dụng CRM sẵn sàng cho doanh nghiệp cung cấp nhiều tính năng. Nó được xây dựng trên nền tảng PHP Symfony và sử dụng MySQL để lưu trữ dữ liệu của họ. OroCRM có hai phiên bản, Community Edition (CE) và Enterprise Edition (EE). Bạn có thể dễ dàng tích hợp nó với các nền tảng thương mại điện tử khác như Magento và các giải pháp khác.

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách cài đặt OroCRM trên Ubuntu 16.04.

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

  • Một máy chủ chạy Ubuntu 16.04.
  • Một người dùng không phải root có quyền sudo.

Bắt đầu​

Trước tiên, bạn sẽ cần cập nhật hệ thống của mình lên phiên bản mới nhất. Bạn có thể thực hiện việc này bằng lệnh sau:
Mã:
sudo apt-get update -y
sudo apt-get upgrade -y
Sau khi hệ thống của bạn được cập nhật, hãy khởi động lại hệ thống để áp dụng tất cả các thay đổi. Tiếp theo, cài đặt các gói cần thiết vào hệ thống của bạn bằng lệnh sau:
Mã:
sudo apt-get install git curl unzip wget -y

Cài đặt LEMP Server​

Trước khi bắt đầu, bạn sẽ cần cài đặt LEMP (Nginx, MariaDB và PHP7) vào hệ thống của mình.

Trước tiên, cài đặt Nginx bằng lệnh sau:
Mã:
sudo apt-get install nginx -y
Sau khi Nginx được cài đặt, hãy khởi động dịch vụ Nginx và cho phép nó khởi động khi khởi động bằng lệnh sau:
Mã:
sudo systemctl start nginx
sudo systemctl enable nginx
Theo mặc định, phiên bản mới nhất của MariaDB và PHP không khả dụng trong Ubuntu 16.04. Vì vậy, bạn sẽ cần thêm kho lưu trữ cho mục đích đó.

Đầu tiên, hãy thêm kho lưu trữ MariaDB bằng lệnh sau:
Mã:
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://kartolo.sby.datautama.net.id/mariadb/repo/10.2/ubuntu xenial main'
Tiếp theo, hãy thêm kho lưu trữ PHP bằng lệnh sau:
Mã:
sudo add-apt-repository ppa:ondrej/php
Tiếp theo, hãy cập nhật kho lưu trữ bằng lệnh sau:
Mã:
sudo apt-get update -y
Sau khi kho lưu trữ được cập nhật, cài đặt MariaDB và PHP7 bằng cách chạy lệnh sau:
Mã:
sudo apt-get install mariadb-server php7.0 php7.0-fpm php7.0-common php7.0-curl php7.0-gd php7.0-intl php7.0-json php7.0-mbstring php7.0-mcrypt php7.0-mysql php7.0-xml php7.0-xml php7.0-zip php7.0-tidy php7.0-soap php7.0-opcache -y
Tiếp theo, bạn sẽ cần đặt Múi giờ và tăng giới hạn bộ nhớ trong tệp php.ini:
Mã:
sudo nano /etc/php/7.0/cli/php.ini
Thay đổi dòng sau:
Mã:
date.timezone = Asia/Kolkata
Lưu và đóng tệp khi bạn hoàn tất.
Mã:
sudo nano /etc/php/7.0/fpm/php.ini
Thay đổi dòng sau:
Mã:
memory_limit = 1024M
Lưu và đóng tệp khi bạn hoàn tất.

Tiếp theo, khởi động dịch vụ MariaDB và PHP-FPM và cho phép chúng khởi động khi khởi động bằng lệnh sau:
Mã:
sudo systemctl start mysql
sudo systemctl enable mysql
sudo systemctl start php7.0-fpm
sudo systemctl enable php7.0-fpm

Cấu hình MariaDB cho OroCRM​

Theo mặc định, cài đặt MariaDB không được bảo mật, vì vậy trước tiên bạn cần bảo mật MariaDB. Bạn có thể bảo mật bằng cách chạy tập lệnh mysql_secure_installation:
Mã:
sudo mysql_secure_installation
Trả lời tất cả các câu hỏi như hiển thị bên dưới:
Mã:
Đặt mật khẩu root? [C/N] CóMật khẩu mới:Nhập lại mật khẩu mới:Xóa người dùng ẩn danh? [C/N] CóKhông cho phép đăng nhập root từ xa? [C/N] CóXóa cơ sở dữ liệu thử nghiệm và quyền truy cập vào cơ sở dữ liệu đó? [C/N] CóTải lại bảng đặc quyền ngay bây giờ? [C/N] Có
Tiếp theo, đăng nhập vào shell MariaDB và tạo cơ sở dữ liệu và người dùng cho OroCRM:
Mã:
mysql -u root -p
Nhập mật khẩu root của bạn và nhấn Enter, sau đó tạo cơ sở dữ liệu và người dùng bằng lệnh sau:
Mã:
MariaDB [(none)]> CREATE DATABASE orodb;
MariaDB [(none)]> CREATE USER 'orouser'@'localhost' IDENTIFIED BY 'password';
Tiếp theo, cấp quyền cho cơ sở dữ liệu OroCRM bằng lệnh sau:
Mã:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON orodb.* TO 'orouser'@'localhost';
Tiếp theo, chạy lệnh FLUSH PRIVILEGES để MariaDB tải lại bảng quyền:
Mã:
MariaDB [(none)]> FLUSH PRIVILEGES;
Cuối cùng, thoát khỏi shell MariaDB:
Mã:
MariaDB [(none)]> EXIT
Sau khi MariaDB được cấu hình, bạn có thể tiến hành bước tiếp theo.

Cài đặt Node.js và Composer​

Bạn cũng sẽ cần cài đặt Node.js và Composer vào hệ thống của mình. Vì Node.js sẽ được OroCRM sử dụng để biên dịch JavaScript và Composer sẽ được sử dụng để cài đặt các phụ thuộc PHP.

Trước tiên, hãy thêm kho lưu trữ Node.js bằng lệnh sau:
Mã:
sudo curl --silent --location https://deb.nodesource.com/setup_8.x | sudo bash -
Tiếp theo, cài đặt Node.js và Composer bằng lệnh sau:
Mã:
sudo apt-get install nodejs -y
sudo php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
sudo php composer-setup.php
Tiếp theo, sao chép Composer vào thư mục /usr/bin bằng lệnh sau:
Mã:
sudo cp composer.phar /usr/bin/composer
Cung cấp quyền cần thiết cho Composer bằng lệnh sau:
Mã:
sudo chmod 755 /usr/bin/composer

Cài đặt OroCRM​

Trước tiên, bạn sẽ cần tải xuống phiên bản mới nhất của OroCRM từ kho lưu trữ Git. Bạn có thể thực hiện việc này bằng lệnh sau:
Mã:
cd /var/www/html
sudo git clone -b 2.4 https://github.com/oroinc/crm-application.git orocrm
Tiếp theo, hãy thay đổi thư mục thành orocrm và cài đặt các phụ thuộc mà PHP yêu cầu bằng lệnh sau:
Mã:
cd orocrm
sudo composer install --prefer-dist --no-dev
Trong quá trình cài đặt, bạn sẽ cần cung cấp thông tin chi tiết về cơ sở dữ liệu, như tên cơ sở dữ liệu, tên người dùng và mật khẩu cơ sở dữ liệu, máy chủ cơ sở dữ liệu như sau:
Mã:
Tạo tệp "app/config/parameters.yml"Một số tham số bị thiếu. Vui lòng cung cấp chúng.database_driver (pdo_mysql):database_host (127.0.0.1):database_port (null):database_name (oro_crm): orodbdatabase_user (root): orouserdatabase_password (null): passwordmailer_transport (smtp):mailer_host (127.0.0.1):mailer_port (null):mailer_encryption (null):mailer_user (null):mailer_password (null):websocket_bind_address (0.0.0.0):websocket_bind_port (8080):websocket_frontend_host ('*'):websocket_frontend_port (8080):websocket_backend_host ('*'):websocket_backend_port (8080):web_backend_prefix (''):session_handler (session.handler.native_file):locale (en):secret (ThisTokenIsNotSoSecretChangeIt):installed (null):assets_version (null):assets_version_strategy (time_hash):message_queue_transport (dbal):message_queue_transport_config (null):
Tiếp theo, cài đặt ứng dụng bằng cách chạy lệnh sau:
Mã:
sudo php app/console oro:install --env=prod
Trong quá trình cài đặt, bạn sẽ cần cung cấp thông tin chi tiết về tài khoản quản trị viên:
Mã:
Thiết lập quản trị.URL ứng dụng (http://localhost):Tên tổ chức (OroCRM):Tên người dùng (admin):Email: [emailprotected]Tên: hiteshHọ: jethvaMật khẩu:Tải dữ liệu mẫu (y/n): yỨng dụng Oro đã được cài đặt thành công ở chế độ prod.Vui lòng chạy lệnh oro:api:doc:cache:clear để khởi động bộ đệm tài liệu APIĐảm bảo rằng lệnh consumer đang chạy oro:message-queue:consume. Bạn có thể tìm thêm thông tin tại đây: https://www.orocrm.com/documentation/current/book/installation#activating-background-tasks.
Tiếp theo, khởi động bộ đệm tài liệu API bằng lệnh sau:
Mã:
sudo php app/console oro:api:doc:cache:clear

Cấu hình Nginx cho OroCRM​

Tiếp theo, bạn sẽ cần tạo tệp máy chủ ảo Nginx cho OroCRM. Bạn có thể thực hiện việc này bằng lệnh sau:
Mã:
sudo nano /etc/nginx/sites-available/orocrm
Thêm các dòng sau:
Mã:
server { server_name example.com; root /var/www/html/orocrm/web; location / { # thử phục vụ tệp trực tiếp, chuyển sang app.php try_files $uri /app.php$is_args$args; } location ~ ^/(app|app_dev|config|install)\.php(/|$) { fastcgi_pass unix:/run/php/php7.0-fpm.sock; fastcgi_split_path_info ^(.+\.php)(/.*)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param HTTPS off; } # Bật nén Gzip gzip bật; gzip_buffers 16 8k; gzip_comp_level 5; gzip_disable "msie6"; gzip_min_length 1000; gzip_http_version 1.0; gzip_proxied any; gzip_types text/plain application/javascript application/x-javascript text/javascript text/xml text/css image/svg+xml; gzip_vary bật; # Bật bộ nhớ đệm của trình duyệt # Một tuần cho vị trí javascript và css ~* \.(?:css|js) { hết hạn sau 1 tuần; access_log tắt; add_header Cache-Control công khai; } # Ba tuần cho phương tiện: hình ảnh, phông chữ, biểu tượng, video, âm thanh, v.v. vị trí ~* \.(?:jpg|jpeg|gif|png|ico|tiff|woff|eot|ttf|svg|svgz|mp4|ogg|ogv|webm|swf|flv)$ { hết hạn sau 3 tuần; access_log tắt; add_header Cache-Control công khai; } error_log /var/log/nginx/orocrm_error.log; access_log /var/log/nginx/orocrm_access.log;}
Lưu và đóng tệp khi bạn hoàn tất, sau đó bật máy chủ ảo Nginx bằng lệnh sau:
Mã:
sudo ln -s /etc/nginx/sites-available/orocrm /etc/nginx/sites-enabled/orocrm
Tiếp theo, kiểm tra Nginx xem có lỗi cấu hình nào không bằng lệnh sau:
Mã:
sudo nginx -t
Bạn sẽ thấy đầu ra sau:
Mã:
nginx: cú pháp tệp cấu hình /etc/nginx/nginx.conf là oknginx: kiểm tra tệp cấu hình /etc/nginx/nginx.conf thành công
Tiếp theo, cung cấp quyền cần thiết cho thư mục orocrm và khởi động lại Nginx:
Mã:
sudo chown -R www-data:www-data /var/www/html/orocrm
sudo chmod -R 777 /var/www/html/orocrm
sudo systemctl restart nginx

Truy cập OroCRM​

OroCRM hiện đã được cài đặt, đã đến lúc truy cập giao diện web OroCRM.

Mở trình duyệt web của bạn và nhập URL htttp://example.com, bạn sẽ được chuyển hướng đến trang đăng nhập OroCRM như hiển thị bên dưới:



Cung cấp tên người dùng và mật khẩu quản trị viên của bạn, sau đó nhấp vào nút Đăng nhập, bạn sẽ thấy bảng điều khiển OroCRM trong hình ảnh sau:



Xin chúc mừng! OroCRM hiện đã được cài đặt trên máy chủ Ubuntu 16.04.
 
Back
Bên trên