ubuntu 18 安装odoo 17版本

官方文档参考

https://www.odoo.com/documentation/17.0/administration/install/source.html

odoo源码:

https://github.com/odoo/odoo/
git clone https://github.com/odoo/odoo.git --branch=17.0 

odoo 源码(下载速度快一点):

wget https://nightly.odoo.com/17.0/nightly/tgz/odoo_17.0.20240122.zip
unzip odoo_17.0.20240122.zip
cd odoo_17.0.20240122

python 安装避坑:

安装python 3.10.2 版本就好了, 不要想着装高版本, 我装3.12.x 会出现各种错误.看了下官方docker都是使用的python 3.10.2

add-apt-repository ppa:deadsnakes/ppa
apt install python3.10 python3.10-dev python3.10-venv
sudo apt-get install python3-dev libxml2-dev libxslt1-dev zlib1g-dev libsasl2-dev libldap2-dev build-essential libssl-dev libffi-dev libmysqlclient-dev libjpeg-dev libpq-dev libjpeg8-dev liblcms2-dev libblas-dev libatlas-base-dev

# 创建虚拟环境:
python3.10 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

postgresql安装及配置

apt install postgresql postgresql-client
# 创建数据库用户,我当前终端是root
sudo -u postgres createuser -d -R -S root
createdb odoo # 可忽略

源码里边可能没有odoo-bin

直接手写一个odoo-bin

#!/usr/bin/env python3

# set server timezone in UTC before time module imported
__import__('os').environ['TZ'] = 'UTC'
import odoo

if __name__ == "__main__":
    odoo.cli.main()

启动

python odoo-bin --db_user=root

image
image

附上nginx配置,不配置好也是一堆问题:odoo16,17 版本配置都差不多

upstream odoo16 {
    server 172.20.111.128:8016 ;
}
upstream odoo16_longpolling {
	server 172.20.111.128:50162 ;
}
map $http_upgrade $connection_upgrade {  
    default upgrade;
    ''      close;
}
server {
	listen 80 ;
  	listen [::]:80 ;
    	server_name odoo16.com ;
        proxy_set_header X-Forwarded-Host $http_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;


  location /websocket {
    proxy_pass http://odoo16_longpolling;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    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;
  }
        location / {
                 client_max_body_size 600m;
        proxy_pass http://odoo16;

        }
}
server {

listen 443;
server_name odoo16.com;
ssl on;
ssl_certificate /root/workspace/ssl_odoo16/8688522_odoo16.com.pem; #配置证书位置
ssl_certificate_key /root/workspace/ssl_odoo16/8688522_odoo16.com.key; #配置秘钥位置
#ssl_client_certificate ca.crt; #双向认证
#ssl_verify_client on; #双向认证
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
        proxy_set_header X-Forwarded-Host $http_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;
  location /websocket {
    proxy_pass http://odoo16_longpolling;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    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;
  }
        location / {
                 client_max_body_size 500m;
        proxy_pass http://odoo16;

        }
}

odoo.conf

[options]
; This is the password that allows database operations:
admin_passwd = 123
db_host = localhost
db_port = 5432
db_user = odoo
; db_password = 123
db_name = odoo17-20231215

addons_path = /opt/odoo17-ent/odoo/addons/,/opt/oo12_dev/odoo17-ent/addons/,/opt/odoo17-ent/enterprise-17.0
default_productivity_apps = True
http_port = 8017
proxy_mode = True
limit_time_cpu = 180
workers = 2
gevent_port = 50172
posted @ 2023-12-15 17:23  那时一个人  阅读(326)  评论(0编辑  收藏  举报