Cách cài đặt phần mềm quản lý doanh nghiệp Flectra với Nginx trên CentOS 8

theanh

Administrator
Nhân viên
Flectra là phần mềm quản lý doanh nghiệp thế hệ tiếp theo và mã nguồn mở kết hợp các hệ thống CRM và ERP thành một gói duy nhất. Mục đích của nó là cho phép người dùng sửa đổi hệ thống theo nhu cầu kinh doanh của họ và có thể dễ dàng thêm nhiều công cụ hơn để mở rộng quy mô kinh doanh của họ. Nói một cách đơn giản, Flectra cung cấp cho bạn một nền tảng toàn diện để bạn có thể dễ dàng sửa đổi hoặc cấu hình theo yêu cầu của mình. Flectra cung cấp nhiều tính năng như Kế toán, Thương mại điện tử, Quản lý hàng tồn kho, Tiếp thị, Quản lý dự án, CRM, Báo cáo, Quản lý nghỉ phép và nhiều tính năng khác nữa.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Flectra với Nginx trên CentOS 8.

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

  • Máy chủ chạy CentOS 8 với tối thiểu 4 GB RAM.
  • Mật khẩu gốc được cấu hình trong máy chủ của bạn.

Bắt đầu​

Đầu tiên, bạn sẽ cần cập nhật các gói 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 bằng lệnh sau:
Mã:
dnf update -y
Sau khi cập nhật tất cả các gói, bạn nên tắt SELinux trong hệ thống của mình. Bạn có thể vô hiệu hóa nó bằng cách chỉnh sửa tệp /etc/selinux/config:
Mã:
nano /etc/selinux/config
Thay đổi dòng sau:
Mã:
SELINUX=disabled
Lưu và đóng tệp, sau đó khởi động lại máy chủ của bạn để áp dụng các thay đổi.

Cài đặt Python Dependencies​

Tiếp theo, bạn sẽ cần cài đặt Python và các dependency Flectra khác trong hệ thống của mình. Bạn có thể cài đặt tất cả các gói này bằng cách chạy lệnh sau:
Mã:
dnf install python36 python36-devel git gcc wget nodejs libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel -y
Sau khi tất cả các gói được cài đặt, hãy chạy lệnh sau để cài đặt mô-đun Node.js:
Mã:
npm install -g less
Tiếp theo, bạn cũng sẽ cần cài đặt gói wkhtmltopdf trong hệ thống của mình. Bạn có thể tải xuống từ trang tải xuống chính thức của họ:

Sau khi tải xuống, hãy cài đặt tệp đã tải xuống bằng lệnh sau:
Mã:
dnf localinstall wkhtmltox-0.12.6-1.centos8.x86_64.rpm
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Cài đặt PostgreSQL​

Flectra sử dụng PostgreSQL làm cơ sở dữ liệu phụ trợ. Vì vậy, bạn sẽ cần cài đặt nó trong máy chủ của mình. Bạn có thể cài đặt nó bằng lệnh sau:
Mã:
dnf install postgresql-server -y
Sau khi cài đặt máy chủ PostgreSQL, hãy khởi tạo cơ sở dữ liệu bằng lệnh sau:
Mã:
postgresql-setup --initdb --unit postgresql
Bạn sẽ nhận được kết quả sau:
Mã:
* Đang khởi tạo cơ sở dữ liệu trong '/var/lib/pgsql/data' * Đã khởi tạo, nhật ký nằm trong /var/lib/pgsql/initdb_postgresql.log
Tiếp theo, hãy khởi động dịch vụ PostgreSQL và cho phép nó khởi động khi khởi động lại hệ thống bằng lệnh sau:
Mã:
systemctl start postgresql
systemctl enable postgresql
Tiếp theo, hãy xác minh trạng thái của dịch vụ PostgreSQL bằng lệnh sau:
Mã:
systemctl status postgresql-12
Bạn sẽ nhận được kết quả sau:
Mã:
? postgresql-12.service - Máy chủ cơ sở dữ liệu PostgreSQL 12 Đã tải: đã tải (/usr/lib/systemd/system/postgresql-12.service; đã tắt; cài đặt trước của nhà cung cấp: đã tắt) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thu 2020-08-13 04:39:31 EDT; 7 giây trước Tài liệu: https://www.postgresql.org/docs/12/static/ Tiến trình: 1176 ExecStartPre=/usr/pgsql-12/bin/postgresql-12-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS) PID chính: 1182 (postmaster) Nhiệm vụ: 8 (giới hạn: 12537) Bộ nhớ: 17,3M CGroup: /system.slice/postgresql-12.service ??1182 /usr/pgsql-12/bin/postmaster -D /var/lib/pgsql/12/data/ ??1183 postgres: logger ??1185 postgres: checkpointer ??1186 postgres: background writer ??1187 postgres: walwriter ??1188 postgres: autovacuum launcher ??1189 postgres: stats collector ??1190 postgres: trình khởi chạy sao chép hợp lý13 tháng 8 04:39:31 centos8 systemd[1]: Đang khởi động máy chủ cơ sở dữ liệu PostgreSQL 12...13 tháng 8 04:39:31 centos8 postmaster[1182]: 2020-08-13 04:39:31.136 EDT [1182] NHẬT KÝ: đang khởi động PostgreSQL 12.3 trên x86_64-pc-linux-gnu, đã biên dịch b>13/08 04:39:31 centos8 postmaster[1182]: 2020-08-13 04:39:31.137 EDT [1182] LOG: lắng nghe trên địa chỉ IPv6 "::1", cổng 543213/08 04:39:31 centos8 postmaster[1182]: 2020-08-13 04:39:31.137 EDT [1182] LOG: lắng nghe trên địa chỉ IPv4 "127.0.0.1", cổng 543213/08 04:39:31 centos8 postmaster[1182]: 2020-08-13 04:39:31.139 EDT [1182] LOG: lắng nghe trên socket Unix "/var/run/postgresql/.s.PGSQL.5432"13 tháng 8 04:39:31 centos8 postmaster[1182]: 2020-08-13 04:39:31.142 EDT [1182] LOG: lắng nghe trên socket Unix "/tmp/.s.PGSQL.5432"13 tháng 8 04:39:31 centos8 postmaster[1182]: 2020-08-13 04:39:31.161 EDT [1182] LOG: chuyển hướng đầu ra nhật ký đến quy trình thu thập nhật ký13 tháng 8 04:39:31 centos8 postmaster[1182]: 2020-08-13 04:39:31.161 EDT [1182] GỢI Ý: Đầu ra nhật ký trong tương lai sẽ xuất hiện trong thư mục "log".13 tháng 8 04:39:31 centos8 systemd[1]: Đã khởi động máy chủ cơ sở dữ liệu PostgreSQL 12.
Tiếp theo, bạn sẽ cần tạo một người dùng PostgreSQL mới cho Flectra. Bạn có thể tạo người dùng này bằng lệnh sau:
Mã:
su - postgres -c "createuser -s flectra"
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Cài đặt Flectra​

Trước khi cài đặt Flectra, bạn sẽ cần tạo một người dùng riêng cho Flectra. Bạn có thể tạo nó bằng lệnh sau:
Mã:
useradd -m -U -r -d /opt/flectra -s /bin/bash flectra
Lưu ý: Đảm bảo tên người dùng phải giống với người dùng PostgreSQL.

Tiếp theo, đăng nhập bằng người dùng Flectra và tải xuống Flectra từ kho lưu trữ Git bằng lệnh sau:
Mã:
su - flectra
git clone --depth=1 --branch=1.0 https://gitlab.com/flectra-hq/flectra.git flectra
Tiếp theo, tạo môi trường ảo cho Flectra bằng lệnh sau:
Mã:
python3 -m venv my-flectra
Tiếp theo, kích hoạt môi trường ảo bằng lệnh sau:
Mã:
source my-flectra/bin/activate
Tiếp theo, cài đặt tất cả các mô-đun Python bằng cách chạy lệnh sau lệnh:
Mã:
pip3 install -r flectra/requirements.txt
Sau khi tất cả các mô-đun được cài đặt, hãy hủy kích hoạt môi trường ảo bằng lệnh sau:
Mã:
deactivate
Tiếp theo, thoát khỏi người dùng Flectra bằng lệnh sau:
Mã:
exit

Cấu hình Flectra​

Đầu tiên, bạn sẽ cần tạo một số thư mục cho các tiện ích bổ sung, tệp cấu hình và nhật ký của Flectra. Bạn có thể tạo chúng bằng lệnh sau:
Mã:
mkdir /opt/flectra/flectra-custom-addons
mkdir /var/log/flectra
mkdir /etc/flectra
touch /var/log/flectra/flectra.log
Tiếp theo, thay đổi quyền sở hữu các thư mục trên thành flectra bằng lệnh sau:
Mã:
chown -R flectra:flectra /opt/flectra/flectra-custom-addons
chown -R flectra:flectra /var/log/flectra/
chown -R flectra:flectra /etc/flectra
Tiếp theo, tạo tệp cấu hình Flectra bằng lệnh sau:
Mã:
nano /etc/flectra/flectra.conf
Thêm nội dung sau dòng:
Mã:
[tùy chọn]admin_passwd = your-flectra-passworddb_host = Falsedb_port = Falsedb_user = flectradb_password = Falselogfile = /var/log/flectra/flectra.loglogrotate = Trueproxy_mode = Trueaddons_path = /opt/flectra/flectra/addons, /opt/flectra/flectra-custom-addons
Lưu và đóng tệp khi bạn hoàn tất.

Tạo tệp dịch vụ Systemd cho Flectra​

Tiếp theo, bạn sẽ cần tạo tệp dịch vụ systemd cho Flectra để quản lý dịch vụ Flectra. Bạn có thể tạo tệp này bằng lệnh sau:
Mã:
nano /etc/systemd/system/flectra.service
Thêm các dòng sau:
Mã:
[Unit]Description=flectra#Requires=postgresql-10.6.service#After=network.target postgresql-10.6.service[Service]Type=simpleSyslogIdentifier=flectraPermissionsStartOnly=trueUser=flectraGroup=flectraExecStart=/opt/flectra/my-flectra/bin/python3 /opt/flectra/flectra/flectra-bin -c /etc/flectra/flectra.confStandardOutput=journal+console[Install]WantedBy=multi-user.target
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, tải lại daemon systemd bằng lệnh sau:
Mã:
systemctl daemon-reload
Tiếp theo, khởi động dịch vụ Flectra và cho phép nó khởi động khi khởi động lại hệ thống bằng lệnh sau:
Mã:
systemctl start flectra
systemctl enable flectra
Bây giờ bạn có thể kiểm tra trạng thái của dịch vụ Flectra bằng lệnh sau:
Mã:
systemctl status flectra
Nếu mọi thứ đều ổn, bạn sẽ nhận được đầu ra sau:
Mã:
? flectra.service - flectra Đã tải: đã tải (/etc/systemd/system/flectra.service; disabled; vendor preset: disabled) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thu 2020-08-13 05:34:15 EDT; 1 phút 3 giây trước PID chính: 10917 (python3) Nhiệm vụ: 4 (giới hạn: 25028) Bộ nhớ: 57,9M CGroup: /system.slice/flectra.service ??10917 /opt/flectra/my-flectra/bin/python3 /opt/flectra/flectra/flectra-bin -c /etc/flectra/flectra.conf13 tháng 8 05:34:15 centos8 systemd[1]: Đã khởi động flectra.
Bây giờ, Flectra đang chạy và lắng nghe trên cổng 7073. Bạn có thể xác minh bằng lệnh sau:
Mã:
netstat -plntu | grep 7073
Bạn sẽ thấy kết quả đầu ra sau:
Mã:
tcp 0 0 0.0.0.0:7073 0.0.0.0:* LISTEN 10917/python3

Cấu hình Nginx cho Flectra​

Tiếp theo, bạn sẽ cần cấu hình Nginx làm proxy ngược cho Flectra. Vì vậy, bạn có thể truy cập Flectra bằng cổng 80.

Đầu tiên, cài đặt máy chủ web Nginx bằng lệnh sau:
Mã:
dnf install nginx -y
Sau khi cài đặt Nginx, hãy khởi động dịch vụ Nginx và cho phép nó khởi động khi khởi động lại hệ thống:
Mã:
systemctl start nginx
systemctl enable nginx
Tiếp theo, tạo tệp cấu hình máy chủ ảo Nginx mới cho Flectra:
Mã:
nano /etc/nginx/conf.d/flectra.conf
Thêm các dòng sau:
Mã:
#flectra serverupstream flectra { server 127.0.0.1:7073;}server { listen 80; server_name flectra.your-domain.com;proxy_read_timeout 720 giây; proxy_connect_timeout 720 giây; proxy_send_timeout 720 giây; # Thêm Tiêu đề cho chế độ proxy flectra proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; # nhật ký access_log /var/log/nginx/flectra.access.log; error_log /var/log/nginx/flectra.error.log; # Chuyển hướng yêu cầu đến vị trí máy chủ phụ trợ flectra / { proxy_redirect off; proxy_pass http://flectra; } # common gzip gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript; gzip on;}
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, khởi động lại dịch vụ Nginx để áp dụng các thay đổi:
Mã:
systemctl restart nginx
Tại thời điểm này, máy chủ web Nginx được cấu hình để phục vụ Flectra. Bây giờ bạn có thể tiến hành bước tiếp theo.

Truy cập Giao diện người dùng web Flectra​

Bây giờ, hãy mở trình duyệt web của bạn và nhập URL http://flectra.your-domain.com. Bạn sẽ được chuyển hướng đến màn hình sau:



Cung cấp mật khẩu Master mà bạn đã xác định trong tệp cấu hình, thông tin chi tiết về cơ sở dữ liệu, email, mật khẩu và nhấp vào nút Tạo cơ sở dữ liệu. Bạn sẽ thấy bảng điều khiển Flectra như hiển thị trong màn hình sau:


Kết luận​

Xin chúc mừng! bạn đã cài đặt thành công Flectra với Nginx trên CentOS 8. Bây giờ bạn có thể lưu trữ hệ thống thông tin doanh nghiệp Flectra của riêng mình và phát triển doanh nghiệp của mình với thiết kế mô-đun mạnh mẽ của Flectra và nhiều tiện ích bổ sung. Để biết thêm thông tin về Flectra, bạn có thể đọc Flectra tài liệu chính thức.
 
Back
Bên trên