Cách Cài đặt Odoo 13 Trên Ubuntu 18.04 - Android 2022 - Joe Comp
Có thể bạn quan tâm
Odoo là một bộ ứng dụng kinh doanh mã nguồn mở phổ biến. Nó cung cấp một loạt các ứng dụng, bao gồm CRM, Thương mại điện tử, xây dựng trang web, thanh toán, kế toán, sản xuất, kho, quản lý dự án, hàng tồn kho, và nhiều hơn nữa, tất cả được tích hợp hoàn hảo.
Odoo có thể được cài đặt theo nhiều cách tùy thuộc vào trường hợp sử dụng và các công nghệ có sẵn. Cách dễ nhất và nhanh nhất để cài đặt Odoo là sử dụng kho lưu trữ chính thức của Odoo APT.
Cài đặt Odoo trong môi trường ảo hoặc triển khai dưới dạng Docker container, cho phép bạn có quyền kiểm soát nhiều hơn đối với thiết lập của hệ thống và chạy nhiều phiên bản Odoo trên cùng một hệ thống.
Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn cài đặt và triển khai Odoo 13 bên trong môi trường ảo Python trên Ubuntu 18.04. Chúng tôi sẽ tải xuống Odoo từ kho lưu trữ Github của họ và sử dụng Nginx làm proxy ngược.
Cài đặt điều kiện tiên quyết
Đăng nhập vào Ubuntu của bạn với tư cách là người dùng sudo và cập nhật bộ đệm Apt:
sudo apt update
Cài đặt Git, Pip, Node.js và các công cụ cần thiết để xây dựng các phụ thuộc Odoo:
sudo apt install git python3-pip build-essential wget python3-dev python3-venv python3-wheel libxslt-dev libzip-dev libldap2-dev libsasl2-dev python3-setuptools node-less
Tạo người dùng hệ thống
Tạo người dùng hệ thống sẽ chạy Odoo, được đặt tên là odoo13 với thư mục chính /opt/odoo13 :
sudo useradd -m -d /opt/odoo13 -U -r -s /bin/bash odoo13
Bạn có thể đặt tên của người dùng thành bất cứ điều gì bạn muốn, miễn là bạn tạo một người dùng PostgreQuery có cùng tên.
Cài đặt và cấu hình PostgreSQL
Odoo sử dụng PostgreSQL làm cơ sở dữ liệu phụ trợ. Để cài đặt PostgreSQL chạy lệnh sau:
sudo apt install postgresql
Sau khi cài đặt hoàn tất, hãy tạo một người dùng PostgreSQL có cùng tên với người dùng hệ thống đã tạo trước đó, trong trường hợp của chúng tôi là odoo13 :
sudo su - postgres -c "createuser -s odoo13"
Cài đặt Wkhtmltopdf
Gói wkhtmltox cung cấp một bộ công cụ dòng lệnh nguồn mở có thể kết xuất HTML thành PDF và các định dạng hình ảnh khác nhau. Để có thể in báo cáo PDF, bạn sẽ cần cài đặt công cụ wkhtmltopdf . Phiên bản được đề xuất cho Odoo là 0.12.5 , không có sẵn trong kho lưu trữ Ubuntu 18.04 mặc định.
Tải xuống gói bằng lệnh wget sau:
wget
Khi quá trình tải xuống hoàn tất, hãy cài đặt gói bằng cách gõ:
sudo apt install./wkhtmltox_0.12.5-1.bionic_amd64.deb
Cài đặt và cấu hình Odoo 13
Như đã đề cập trước đó, chúng tôi sẽ cài đặt Odoo từ nguồn bên trong một môi trường ảo Python bị cô lập.
Đầu tiên, thay đổi người dùng thành od od1313:
sudo su - odoo13
Sao chép mã nguồn Odoo 13 từ GitHub:
git clone https://www.github.com/odoo/odoo --depth 1 --branch 13.0 /opt/odoo13/odoo
Khi quá trình tải xuống hoàn tất, hãy tạo một môi trường ảo Python mới cho Odoo:
cd /opt/odoo13 python3 -m venv odoo-venv
Kích hoạt môi trường bằng lệnh sau:
source odoo-venv/bin/activate
Cài đặt tất cả các mô-đun Python cần thiết với pip3:
pip3 install wheel pip3 install -r odoo/requirements.txt Nếu bạn gặp phải bất kỳ lỗi biên dịch nào trong quá trình cài đặt, hãy đảm bảo tất cả các phụ thuộc bắt buộc được liệt kê trong phần Installing Prerequisites được cài đặt.
Sau khi hoàn tất, hủy kích hoạt môi trường bằng cách gõ:
deactivate
Chúng tôi sẽ tạo một thư mục mới sẽ chứa các addons của bên thứ 3.
mkdir /opt/odoo13/odoo-custom-addons
Sau đó, chúng ta sẽ thêm thư mục này vào tham số addons_path . Tham số này xác định danh sách các thư mục nơi Odoo tìm kiếm các mô-đun.
Chuyển về người dùng sudo của bạn:
exit
Tạo một tệp cấu hình với nội dung sau:
sudo nano /etc/odoo13.conf /etc/odoo13.conf
; This is the password that allows database operations: admin_passwd = my_admin_passwd db_host = False db_port = False db_user = odoo13 db_password = False addons_path = /opt/odoo13/odoo/addons, /opt/odoo13/odoo-custom-addons Đừng quên thay đổi my_admin_passwd thành thứ gì đó an toàn hơn.
Tạo một tệp đơn vị Systemd
Mở trình soạn thảo văn bản của bạn và tạo tệp đơn vị dịch vụ có tên odoo13.service với nội dung sau:
sudo nano /etc/systemd/system/odoo13.service /etc/systemd/system/odoo13.service
Description=Odoo13 Requires=postgresql.service After=network.target postgresql.service Type=simple SyslogIdentifier=odoo13 PermissionsStartOnly=true User=odoo13 Group=odoo13 ExecStart=/opt/odoo13/odoo-venv/bin/python3 /opt/odoo13/odoo/odoo-bin -c /etc/odoo13.conf StandardOutput=journal+console WantedBy=multi-user.target
Thông báo cho systemd rằng một tệp đơn vị mới tồn tại:
sudo systemctl daemon-reload
Bắt đầu dịch vụ Odoo và cho phép nó khởi động khi khởi động bằng cách chạy:
sudo systemctl enable --now odoo13
Xác minh trạng thái dịch vụ:
sudo systemctl status odoo13
Đầu ra sẽ trông giống như bên dưới, chỉ ra rằng dịch vụ Odoo đang hoạt động và đang chạy.
● odoo13.service Loaded: loaded (/etc/systemd/system/odoo13.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2019-10-19 20:06:23 UTC; 3s ago Main PID: 1860 (python3) Tasks: 4 (limit: 2362) CGroup: /system.slice/odoo13.service └─1860 /opt/odoo13/odoo-venv/bin/python3 /opt/odoo13/odoo/odoo-bin -c /etc/odoo13.conf
Để xem các tin nhắn được ghi lại bởi dịch vụ Odoo, hãy sử dụng lệnh bên dưới:
sudo journalctl -u odoo13
Kiểm tra cài đặt
Mở trình duyệt của bạn và gõ: http://:8069 http://:8069
Giả sử cài đặt thành công, một màn hình tương tự như sau sẽ xuất hiện:

Định cấu hình Nginx làm Proxy chấm dứt SSL
Máy chủ web Odoo mặc định đang phục vụ lưu lượng truy cập qua HTTP. Để làm cho việc triển khai Odoo an toàn hơn, chúng tôi sẽ định cấu hình Nginx làm proxy chấm dứt SSL sẽ phục vụ lưu lượng truy cập qua
Proxy chấm dứt SSL là một máy chủ proxy xử lý mã hóa / giải mã SSL. Điều này có nghĩa là proxy chấm dứt (Nginx) sẽ xử lý và giải mã các kết nối TLS đến (HTTPS) đến và chuyển các yêu cầu không được mã hóa đến dịch vụ nội bộ (Odoo). Lưu lượng giữa Nginx và Odoo sẽ không được mã hóa (HTTP).
Sử dụng proxy ngược mang lại cho bạn rất nhiều lợi ích như Cân bằng tải, Chấm dứt SSL, Lưu đệm, Nén, Phục vụ Nội dung tĩnh, v.v.
Đảm bảo rằng bạn đã đáp ứng các điều kiện tiên quyết sau đây trước khi tiếp tục với phần này:
- Tên miền trỏ đến IP máy chủ công cộng của bạn. Chúng tôi sẽ sử dụng chứng chỉ example.com .Nginx đã cài đặt.SSL cho tên miền của bạn. Bạn có thể cài đặt chứng chỉ SSL Encrypt SSL miễn phí.
Mở trình soạn thảo văn bản của bạn và tạo / chỉnh sửa khối máy chủ tên miền:
sudo nano /etc/nginx/sites-enabled/example.com
Cấu hình sau đây thiết lập Chấm dứt SSL, chuyển hướng HTTP sang HTTPS, WWW sang chuyển hướng không WWW, lưu trữ các tệp tĩnh và cho phép nén GZip.
/etc/nginx/sites-enables/example.com# Odoo servers upstream odoo { server 127.0.0.1:8069; } upstream odoochat { server 127.0.0.1:8072; } # HTTP -> HTTPS server { listen 80; server_name www.example.com example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } # WWW -> NON WWW server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; proxy_read_timeout 720s; proxy_connect_timeout 720s; proxy_send_timeout 720s; # Proxy headers 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; # SSL parameters ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; # log files access_log /var/log/nginx/odoo.access.log; error_log /var/log/nginx/odoo.error.log; # Handle longpoll requests location /longpolling { proxy_pass http://odoochat; } # Handle / requests location / { proxy_redirect off; proxy_pass http://odoo; } # Cache static files location ~* /web/static/ { proxy_cache_valid 200 90m; proxy_buffering on; expires 864000; proxy_pass http://odoo; } # Gzip gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript; gzip on; } Đừng quên thay thế example.com bằng tên miền Odoo của bạn và đặt đường dẫn chính xác đến các tệp chứng chỉ SSL. Các đoạn được sử dụng trong cấu hình này được tạo trong hướng dẫn này.
Khi bạn đã hoàn tất, hãy khởi động lại dịch vụ Nginx:
sudo systemctl restart nginx
Tiếp theo, chúng ta cần nói với Odoo sử dụng proxy. Để làm như vậy, hãy mở tệp cấu hình và thêm dòng sau:
/etc/odoo13.confproxy_mode = True
Khởi động lại dịch vụ Odoo để các thay đổi có hiệu lực:
sudo systemctl restart odoo13
Tại thời điểm này, proxy ngược được định cấu hình và bạn có thể truy cập vào thể hiện Odoo của mình tại: https://example.com
Thay đổi giao diện liên kết
Bước này là tùy chọn, nhưng nó là một thực hành bảo mật tốt.
Theo mặc định, máy chủ Odoo lắng nghe cổng 8069 trên tất cả các giao diện. Để vô hiệu hóa quyền truy cập trực tiếp vào phiên bản Odoo, bạn có thể chặn cổng 8069 cho tất cả các giao diện công cộng hoặc buộc Odoo chỉ nghe trên giao diện cục bộ.
Chúng tôi sẽ cấu hình Odoo để chỉ nghe trên 127.0.0.1 . Mở cấu hình thêm hai dòng sau vào cuối tệp:
/etc/odoo13.confxmlrpc_interface = 127.0.0.1 netrpc_interface = 127.0.0.1
Lưu tệp cấu hình và khởi động lại máy chủ Odoo để các thay đổi có hiệu lực:
sudo systemctl restart odoo13
Kích hoạt đa xử lý
Theo mặc định, Odoo đang làm việc ở chế độ đa luồng. Để triển khai sản xuất, nên thay đổi máy chủ đa xử lý vì nó làm tăng tính ổn định và sử dụng tốt hơn các tài nguyên hệ thống.
Để kích hoạt đa xử lý, bạn cần chỉnh sửa cấu hình Odoo và đặt số lượng quy trình công nhân khác không. Số lượng công nhân được tính dựa trên số lượng lõi CPU trong hệ thống và bộ nhớ RAM khả dụng.
Theo tài liệu chính thức của Odoo để tính toán số lượng công nhân và kích thước bộ nhớ RAM cần thiết, bạn có thể sử dụng các công thức và giả định sau:
Tính toán số công nhân
- Số lượng công nhân tối đa theo lý thuyết = (system_cpus * 2) + 11 worker có thể phục vụ ~ = 6 người dùng đồng thời Công nhân cũng yêu cầu CPU
Tính toán kích thước bộ nhớ RAM
- Chúng tôi sẽ xem xét rằng 20% tất cả các yêu cầu là yêu cầu nặng và 80% là yêu cầu nhẹ hơn. Các yêu cầu nặng đang sử dụng khoảng 1 GB RAM trong khi các yêu cầu nhẹ hơn đang sử dụng khoảng 150 MB RAMNeeded RAM = number_of_workers * ((light_worker_ratio * light_worker_ram_estimation) + (heavy_worker_ratio * heavy_worker_ram_estimation))
grep -c ^processor /proc/cpuinfo
Giả sử bạn có một hệ thống với 4 lõi CPU, bộ nhớ RAM 8 GB và 30 người dùng Odoo đồng thời.
- 30 users / 6 = **5** (5 là số công nhân lý thuyết cần thiết) (4 * 2) + 1 = **9** (9 là số lượng công nhân tối đa theo lý thuyết)
Dựa trên tính toán ở trên, bạn có thể sử dụng 5 công nhân + 1 công nhân cho công nhân định kỳ có tổng cộng 6 công nhân.
Tính toán mức tiêu thụ bộ nhớ RAM dựa trên số lượng công nhân:
- RAM = 6 * ((0.8*150) + (0.2*1024)) ~= 2 GB of RAM
Tính toán cho thấy cài đặt Odoo sẽ cần khoảng 2GB RAM.
Để chuyển sang chế độ đa xử lý, hãy mở tệp cấu hình và nối các giá trị được tính toán:
/etc/odoo13.conflimit_memory_hard = 2684354560 limit_memory_soft = 2147483648 limit_request = 8192 limit_time_cpu = 600 limit_time_real = 1200 max_cron_threads = 1 workers = 5
Khởi động lại dịch vụ Odoo để các thay đổi có hiệu lực:
sudo systemctl restart odoo13
Phần còn lại của tài nguyên hệ thống sẽ được sử dụng bởi các dịch vụ khác chạy trên hệ thống này. Trong hướng dẫn này, chúng tôi đã cài đặt Odoo cùng với PostgreSQL và Nginx trên cùng một máy chủ. Tùy thuộc vào thiết lập của bạn, bạn cũng có thể có các dịch vụ khác đang chạy trên máy chủ của mình.
Phần kết luận
Hướng dẫn này hướng dẫn bạn cài đặt Odoo 13 trên Ubuntu 18.04 trong môi trường ảo Python sử dụng Nginx làm proxy ngược. Chúng tôi cũng đã chỉ cho bạn cách kích hoạt đa xử lý và tối ưu hóa Odoo cho môi trường sản xuất.
Bạn cũng có thể muốn kiểm tra hướng dẫn của chúng tôi về cách tạo bản sao lưu tự động hàng ngày của cơ sở dữ liệu Odoo.
ubfox odoo postgresql python pip nginx proxy sslTừ khóa » Cài đặt Odoo Trên Ubuntu
-
Hướng Dẫn Cài đặt Odoo 14 Trên Ubuntu 20.04 | Thuận Bùi Blog
-
Hướng Dẫn Cài đặt Odoo 14 Trên Ubuntu 20.04 - VSUDO Blog
-
Cách Cài đặt Odoo 14 Trên Ubuntu 20.04
-
Cài đặt Odoo Trên Ubuntu 20.04 - CLOUD VIỆT - CloudViet
-
Hướng Dẫn Cài đặt Odoo 15 Trên Ubuntu 22.04
-
Hướng Dẫn Cài đặt Odoo 14 Trên Ubuntu 20 - Đỗ Trung Quân
-
Hướng Dẫn Cài Đặt Odoo 14 Trên Ubuntu 20.04 - ITSTAR.EDU.VN
-
Cách Cài đặt Odoo 15 TrênUbuntu 20.04 LTS - Onnet Consulting
-
Odoo Là Gì? Hướng Dẫn Cài đặt Odoo Trên Ubuntu 18.04 - VinaSupport
-
Cách Cài đặt Odoo 14 Trên Ubuntu 20.04 Cực Kỳ Nhanh Chóng
-
Cách Cài đặt Odoo 15 Trên Ubuntu 20.04
-
Hướng Dẫn Cài đặt Odoo 11 Trên Ubuntu 18.04 - MLotus
-
Cách Thiết Lập Bộ Công Cụ Odoo Trên Ubuntu Server
-
Hướng Dẫn Cài đặt Odoo 14 Trên Hệ điều Hành Ubuntu - One IT Viet ...