• 行业应用

    No decsciption available
    7 主题
    9 帖子

    上面发错了一个图

    image.png

  • 33 主题
    114 帖子

    演示网址:http://49.232.131.153:8069/
    数据库:GoodERP16
    用户名和密码都是admin

  • No decsciption available
    95 主题
    648 帖子

    🙏 🙏 🙏

  • No decsciption available
    2k 主题
    10k 帖子

    具体隐藏了什么功能呢,你可以尝试在配置(Setting)里面看看能不能开启。

  • No decsciption available
  • No decsciption available
    56 主题
    217 帖子

    在上家公司负责odoo的开发
    有对接企业微信开发的经验
    详细可以加我一下我微信(电话):15299519477

  • No decsciption available
    2k 主题
    11k 帖子

    已在编辑中加入了现在购买、加入心愿单、对比等选项,但是唯独对比这个选项不会出现按钮。商品有添加属性,想知道是缺乏什么设置或者是条件导致的无法出现 对比 选项按钮😊 感谢~

  • No decsciption available
    105 主题
    480 帖子

    图上面貌似提到了wheel这个包,你需要pip安装一下

    pip install wheel

    然后再去

    pip install -r requirements.txt
  • No decsciption available
    18 主题
    51 帖子

    在server版中怎样登8069看到界面

  • No decsciption available
    28 主题
    93 帖子

    谢谢分享,言简意赅 👍

  • No decsciption available
    124 主题
    459 帖子
  • No decsciption available
    111 主题
    521 帖子

    谢谢2位的回复。

  • No decsciption available
    370 主题
    2k 帖子

    第一步 更新CentOS7和添加Epel源, (选装)LNMP。

    yum update -y yum install epel-release

    // 安装LNMP,安装Nginx,并适用于其他网站运行。

    wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --nginx_option 3 --php_option 12 --phpcache_option 1 --php_extensions imagick,fileinfo,redis,swoole --phpmyadmin --db_option 5 --dbinstallmethod 1 --dbrootpwd oneinstack --pureftpd --redis --reboot

    第二步 安装Python 3.9.16

    2.1 下载Python 3.9.16压缩包

    yum -y install wget cd ~ wget https://www.python.org/ftp/python/3.9.16/Python-3.9.16.tgz

    2.2 安装Python依赖包

    yum -y groupinstall "development tools" yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel openldap-devel postgresql-devel* yum -y install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++ openssl-devel make

    2.3 安装或升级openssl至最新版1.1.1s。(我安装了oneinstack的LNMP,已经安装了openssl1.0.2k)

    cd ~ wget https://www.openssl.org/source/openssl-1.1.1s.tar.gz tar -zxf openssl-1.1.1s.tar.gz cd openssl-1.1.1s ./config --prefix=/usr/local/openssl make && make install

    //备份当前openssl软连接
    //若之前没安装过openssl,则场景不存在

    mv /usr/bin/openssl /usr/bin/openssl.bak mv /usr/include/openssl /usr/include/openssl.bak

    //配置软连接到新版本

    ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl ln -s /usr/local/openssl/include/openssl /usr/include/openssl

    //更新动态链接库数据并重新加载

    echo "/usr/local/openssl/lib" >> /etc/ld.so.conf ldconfig -v

    //查看是否升级成功

    openssl version

    2.4.1 若系统自带有Python3.6.8则需要卸载。

    //查看是否已安装自带的python3

    cd ~ whereis python3

    或者

    python3 -V

    //若无,则忽略后面的命令,直接跳到2.4.2
    //卸载python3

    rpm -qa|grep python3|xargs rpm -ev --allmatches --nodeps

    //删除所有残余文件

    whereis python3|xargs rm -frv

    //查看现有安装的python,验证是否删除干净

    whereis python3 python3 -V pip3 -V

    通过以上三个命令查看,若均提示找不到,则表示卸载干净。

    2.4.2 安装Python3.9.16

    mkdir /usr/local/python3 tar -zxf Python-3.9.16.tgz cd Python-3.9.16 ./configure prefix=/usr/local/python3 --enable-optimizations --with-openssl=/usr/local/openssl --with-ssl-default-suites=openssl make && make install

    //若提示Could not import runpy module,可以升级gcc也可以拿掉上面第四行的--enable-optimizations,二选一。
    //若没提示错误,直接跳过此步。
    // 升级gcc到8.x 如下,然后再重新安装一遍Python3(先去缓存: make distclean)。

    yum install -y centos-release-scl yum install -y devtoolset-8-toolchain scl enable devtoolset-8 bash

    //建立软链接

    ln -s /usr/local/python3/bin/python3.9 /usr/bin/python3 ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

    //查看是否安装成功

    python3 -V pip3 -V

    // 升级pip3和组件

    pip3 install --upgrade pip pip3 install --upgrade setuptools

    基础环境:Nginx可以单独安装,方法自行百度,我因为还涉及到其他程序,因此用了oneinstack的LNMP一键安装包。

    第三步 安装odoo所需的其他组件

    3.1 安装Sass
    //安装依赖库,若已安装无需执行。

    pip3 install libsass yum install sassc

    3.2安装wkhtmltopdf
    //安装依赖库,若已安装无需执行(下载对应的操作系统,我的centos 7,对应的是centos7.x86.rpm)。

    cd ~ wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox-0.12.5-1.centos7.x86_64.rpm yum install libXrender xorg-x11-fonts-75dpi xorg-x11-fonts-Type1 libXext libjpeg libpng rpm -ivh wkhtmltox-0.12.5-1.centos7.x86_64.rpm

    3.3 安装中文字体

    yum install wqy*

    第四步 安装Postgresql数据库

    安装Postgresql数据库(Odoo16一定要PGSQL10以上,否则安装数据库的时候会出错,本文演示安装PGSQL15)

    sudo yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm sudo yum install postgresql15-server sudo /usr/pgsql-15/bin/postgresql-15-setup initdb sudo systemctl enable postgresql-15 sudo systemctl start postgresql-15 su - postgres -c "createuser -s odoo"

    //查看postgresql启动状态

    systemctl status postgresql-15

    第五步:安装Odoo

    5.1 创建odoo用户及odoo用户组

    groupadd odoo

    //文件夹/data/wwwroot若没有则新增即可。

    adduser -g odoo -d /data/wwwroot/www.domain.com -m odoo passwd odoo

    //后面安装和登陆均会用到,请牢记!

    *** ***

    5.2 授予odoo sudo权限

    vi /etc/sudoers

    修改文件参考如下:

    ## Allow root to run any commands anywhere root ALL=(ALL) ALL

    //增加如下部分

    odoo ALL=(ALL) ALL

    :wq保存退出,odoo用户就拥有了sudo权限。

    reboot

    5.3 用odoo用户登陆SSH和WinSCP(SFTP)
    若还是没权限的话,按下面的修改(一般是设置错误文件夹权限的时候才改):
    修改 /etc/passwd最后一行

    odoo:x:1005:1005::/data/wwwroot/ www.domain.com:/bin/bash

    其中1005为新增odoo群组和账号自动生成的,每台服务器都可能不一样。
    然后给odoo文件夹权限:

    sudo chown -R odoo:odoo /data/wwwroot/www.domain.com

    5.4 下载最新的程序包(odoo账户默认登陆SSH在odoo账户根目录下面)

    wget http://nightly.odoo.com/16.0/nightly/src/odoo_16.0.latest.tar.gz tar –zxvf odoo_16.0.latest.tar.gz

    //企业版的通过Github直接Copy或官方下载压缩包。

    yum -y install git git clone https://$github_user:[email protected]/odoo/enterprise.git ./

    5.5将odoo-16.post2023****(以你解压出来的文件名为准)文件夹的内容全部(含隐藏文件)copy到www.domain.com里面:

    cp -R /data/wwwroot/www.domain.com/odoo-16.0.post2023****/. /data/wwwroot/www.domain.com

    删除原解压文件:

    rm -rf /data/wwwroot/www.domain.com/odoo-16.post2023****

    5.6 用SSH安装 Odoo所需的Python3组件.

    cd /data/wwwroot/www.domain.com

    odoo账号登陆时默认就为此文件夹。
    //根据踩坑经验,建议先执行如下命令:

    pip3 install psycopg2-binary pip3 install sklearn

    //再安装依赖组件

    sudo pip3 install -r requirements.txt

    可能遇到如下报错情况:

    若报错:Error: pg_config executable not found.
    pg_config is required to build psycopg2 from source.
    执行:

    yum install postgresql-devel* pip3 install psycopg2-binary

    若报错:Python3: ImportError: No module named '_ctypes' when using Value from module multiprocessing
    执行:

    yum -y install libffi-devel

    // 并需要再重新编译一遍python3.9

    cd /root/Python-3.9.16 ./configure prefix=/usr/local/python3 make clean && make && make install

    //回到odoo安装页面安装 sklearn

    cd /data/wwwroot/www.domain.com pip3 install sklearn

    若报错:ERROR: Could not build wheels for python-ldap, which is required to install pyproject.toml-based projects
    执行:

    yum -y install openldap-devel

    其他报错情况,大同小异,都是缺少组件,自行百度或Google,一般都能解决问题。

    5.7 进入odoo源码目录(/home/wwwroot/www.domain.com)运行odoo-bin (没有可以自行创建, 但是保存格式一定要是ANSI格式,否则后面无法运行。并给与755权限, 内容可参考github里的对应文件)并生成配置文件。内容如下:

    #!/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()

    // 给755权限

    chmod 755 ./odoo-bin

    //运行odoo

    ./odoo-bin -s

    5.8 设置文件夹权限

    sudo mkdir /etc/odoo sudo cp /data/wwwroot/www.domain.com/.odoorc /etc/odoo/odoo.conf sudo chown -R odoo:odoo /etc/odoo sudo mkdir /var/log/odoo sudo chown -R odoo:odoo /var/log/odoo sudo chown -R odoo:odoo /data/wwwroot/www.domain.com

    5.9 编辑配置文件

    sudo vi /etc/odoo/odoo.conf

    下面是2个建议增加的值 :

    [options] … logfile =

    改为:

    [options] … logfile = /var/log/odoo/odoo.log logrotate = True

    //若想阻止通过IP访问,则可以做如下修改:
    修改

    proxy_mode = False

    proxy_mode = True

    在最后面增加:

    xmlrpc_interface = 127.0.0.1 netrpc_interface = 127.0.0.1

    //若想独立使用自定义插件的话,新建文件夹custom-addons,并修改odoo.conf的插件路径如下:

    addons_path = /data/wwwroot/www.domain.com/odoo/addons,/data/wwwroot/www.domain.com/odoo/custom-addons

    5.10 切换回root权限,创建开机启动odoo

    sudo vi /usr/lib/systemd/system/odoo.service

    内容如下:

    [Unit] Description=Odoo After=postgresql-15.service [Service] Type=simple User=odoo Group=odoo ExecStart=/data/wwwroot/www.domain.com/odoo-bin -c /etc/odoo/odoo.conf [Install] WantedBy=multi-user.target

    或者直接到/usr/lib/systemd/system/复制另一个.service后缀的文件改为odoo.service,把内容填上,保存即可。

    //注册新的服务:

    sudo systemctl enable odoo.service

    //启这个新服务:

    sudo systemctl start odoo

    //检查它的状态:

    sudo systemctl status odoo

    //重启这个服务:

    sudo systemctl restart odoo

    若显示如下内容则表示运行成功了:

    ● odoo.service - Odoo Loaded: loaded (/lib/systemd/system/odoo.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2023-02-06 10:46:54 CST; 6s ago Main PID: 800 (python3) CGroup: /system.slice/odoo.service └─800 python3 /data/wwwroot/www.domain.com/odoo-bin -c /etc/odoo/odoo.conf

    //如果您希望停止它,使用下面的命令:

    sudo systemctl stop odoo

    现在可以确认我们的Odoo实例启动了,并能响应请求。
    如果Odoo正常运行,我们可以在日志文件中获得信息。我们可以检查Odoo是否响应HTTP请求:

    curl http://localhost:8069

    //要检查日志文件,我们可以使用:(Q键退出)

    sudo less /var/log/odoo/odoo.log

    //您还可以使用tail -f: (Ctrl+C退出)

    sudo tail -f /var/log/odoo/odoo.log

    5.11 登录IP:8069, 按照提示安装数据库即可正常运行odoo。注意,若您的8069端口未开启的,还得到GCP的防火墙规则里面添加8069和8072为开放端口,否则无法访问。

    5.12 安装好niginx并设置好vhost(建议用oneinstack的openresty)后, 将/usr/local/openresty/nginx/conf/vhost/www.domain.com.conf备份,然后用下面的代码更换后重启服务器即可用域名访问(建议https)。

    第六步:安装主题Prime

    6.1 输入 http://ip:8069或者https:www.domain.com,跳出如下界面:

    6ebc18f3-8ac2-404b-bab6-a1412bf50a2b-image.png

    填入各项字段内容, Master Password会自动生成一个,您也可以改成您自己的密码,请牢记,后面数据库管理需要用到。
    输入完所有内容后,点Create database,稍等片刻边出现如下界面:

    ca434ff8-5a95-463f-bcf8-d9a2a4ae4338-image.png
    然后输入您创建的账号( email)和密码,进入后台,如图:
    be6bce58-4127-48fa-ab9d-50076967d9de-image.png

    点击“应用”进入应用安装:

    3851b2ee-4893-47c8-bfb6-5111c51d4b74-image.png

    6.2 安装Prime主题

    返回到“应用”界面,点击“网站”的“激活”按钮,稍等片刻便出现如下界面:

    1a21d311-8464-419b-9bca-3403f0eab3af-image.png

    点击“跳过并从头开始”,出现如下界面:

    fd9ea914-138c-4dc9-bc32-76d0aceabcaa-image.png

    选择“使用此主题”,出现如下界面,此时需要稍等几分钟。

    938b9c35-ec17-491e-b735-7e545f2bd4e6-image.png

    一旦安装完毕后,将会出现如下界面:

    3c078609-ea5b-44ac-8102-b8c42c0fe087-image.png

    点击“保存”即可,至此,主题安装完毕,若想切换主题,请点击“主题”二字,然后拉到下面可以看到“网站设置”下面有“切换主题”按钮,这样就可以切换主题了。

    205ec75b-c5a8-4fcf-b012-6e9a4040a85f-image.png

    最后,由于odoo具有拖拽式编辑网站的功能,Prime拥有非常完善的各种模块,因此构建一个漂亮的网站,只需要几分钟。

    下面简单演示一下:
    比如首页,没使用Prime主题是这样的界面:

    715e5d95-43fb-4c99-a694-85e914c189ac-image.png

    选择“编辑”,下拉到Cover,有5种模式,随便选择一种,拖拉到目标区域:

    36fbd55d-3381-40f4-b74c-7f8fa999436c-image.png

    然后选择保存,则出现如下漂亮的界面,其他模块也是类似的,更多的页面操作,请登录Odoo官网或查看Prime主题使用指南:

    03ce52ea-d895-4e48-825d-fe00e6c18c56-image.png

    是不是很Beautiful?是不是很Amazing? Enjoy yourself…

    eea381b6-6381-4b59-b020-1a1b41537c2e-image.png

    =====================
    至此,odoo已安装完毕,以下内容为参考内容。

    odoo.conf代码如下:

    [options] addons_path = /data/wwwroot/www.domain.com/odoo/addons,/data/wwwroot/www.domain.com/odoo/custom-addons admin_passwd = admin csv_internal_sep = , data_dir = /data/wwwroot/www.domain.com/.local/share/Odoo db_host = False db_maxconn = 64 db_name = False db_password = False db_port = False db_sslmode = prefer db_template = template0 db_user = False dbfilter = demo = {} email_from = False from_filter = False geoip_database = /usr/share/GeoIP/GeoLite2-City.mmdb gevent_port = 8072 http_enable = True http_interface = http_port = 8069 import_partial = limit_memory_hard = 2684354560 limit_memory_soft = 2147483648 limit_request = 65536 limit_time_cpu = 60 limit_time_real = 120 limit_time_real_cron = -1 list_db = True log_db = False log_db_level = warning log_handler = :INFO log_level = info logfile = /var/log/odoo/odoo.log logrotate = True longpolling_port = 8072 max_cron_threads = 2 osv_memory_age_limit = False osv_memory_count_limit = 0 pg_path = pidfile = proxy_mode = True reportgz = False screencasts = screenshots = /tmp/odoo_tests server_wide_modules = base,web smtp_password = False smtp_port = 25 smtp_server = localhost smtp_ssl = False smtp_ssl_certificate_filename = False smtp_ssl_private_key_filename = False smtp_user = False syslog = False test_enable = False test_file = test_tags = None transient_age_limit = 1.0 translate_modules = ['all'] unaccent = False upgrade_path = websocket_keep_alive_timeout = 3600 websocket_rate_limit_burst = 10 websocket_rate_limit_delay = 0.2 without_demo = False workers = 0 x_sendfile = False

    Nginx代码如下:

    upstream odoo { server 127.0.0.1:8069; } upstream odoochat { server 127.0.0.1:8072; } server { listen 80; listen [::]:80; listen 443 ssl http2; listen [::]:443 ssl http2; ssl_certificate /usr/local/openresty/nginx/conf/ssl/www.domain.com.crt; ssl_certificate_key /usr/local/openresty/nginx/conf/ssl/www.domain.com.key; ssl_protocols TLSv1.2 TLSv1.3; ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1; ssl_ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256; ssl_conf_command Ciphersuites TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256; ssl_conf_command Options PrioritizeChaCha; ssl_prefer_server_ciphers on; ssl_session_timeout 10m; ssl_session_cache shared:SSL:10m; ssl_buffer_size 2k; add_header Strict-Transport-Security max-age=15768000; ssl_stapling on; ssl_stapling_verify on; server_name www.domain.com domain.com; access_log /data/wwwlogs/www.domain.com_nginx.log combined; index index.html index.htm index.php; root /data/wwwroot/www.domain.com; if ($ssl_protocol = "") { return 301 https://$host$request_uri; } if ($host != www.domain.com) { return 301 $scheme://www.domain.com$request_uri; } include /usr/local/openresty/nginx/conf/rewrite/none.conf; #error_page 404 /404.html; #error_page 502 /502.html; proxy_read_timeout 900s; proxy_connect_timeout 900s; proxy_send_timeout 900s; # 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; # 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; }

    Postgresql-15彻底删除方法:
    ① 关闭服务

    sudo systemctl stop postgresql-15

    ② yum 删除软件包

    sudo yum remove postgresql*

    ③ 删除相关目录文件:

    sudo rm -rf /var/lib/pgsql sudo rm -rf /usr/pgsql*

    ④ 删除pg相关用户组/用户

    ps -ef|grep postgres|awk ‘{print $2}’|xargs kill -9 {} sudo userdel -r postgres sudo groupdel postgres

    全文完!

  • No decsciption available
    138 主题
    405 帖子

    有一个工厂ERP的开发需求,用Odoo二开,寻找有Odoo开发经验的个人或团队合作,具体可以email我,596293931#qq.com

  • No decsciption available
    80 主题
    480 帖子

    ODOO 汉化标准规范
    启奏群主/播主:
    odoo发展20多年, 感恩各位不断进行汉化工作的伙伴, 但一直没有翻译标准规范说明, 导致很多翻译不完善理解困难,或因不满足术语要求导致无法审核通过, 白白浪费时间, 2024年春节翻译大量odoo17, 发现众多问题, 找到根源,制定临时汉化标准规范, 希望大家在翻译时候遵守, 减少不必要的时间浪费, 希望各位群主/播主广为宣传,以益群生。
    南湘子顿首
    2024-02-21

    一、术语规范
    术语网址:
    https://app.transifex.com/odoo/odoo-main-glossary/translate/#zh_CN/odoo-main-glossary
    这部分最重要, 一定要100%翻译,并审核通过
    翻译网址:
    https://app.transifex.com/odoo/odoo-17/translate/#zh_CN/

    截止2024-02-21 仍有378条未翻译,这个可能需要金牌代理商或其它有条件的仁人志士协商沟通!!!

    术语需要有权限的人才可翻译, 请有权限的人先翻译,先审核, 否则造成翻译困扰。举例

    如 In order to 没有翻译,则 order 要翻译成订单, 否则会警告。
    链接文本 还有 session 、so不同场景, 不同翻译, 要完善, 否则只能不伦不类的翻译。
    image001.jpg image004.jpg image005.jpg

    二、翻译规范

    源文前后有标点或空格, 均以英文半角, 否则 poedit会警告, transifex翻译遇到特定的符号, 也会警告 圆括号均为英文半角, 不能多也不能少, 跟源文括号数量一致, 否则警告 特定不可翻译的英文(SO), 前后多一个半角空格, 为了美观, 注意如果开头, 或结尾是标点, 请不要再加半角空格 特定代码或特定英文, 根据情况不做翻译
    如 so, state, True, False, true,false,Many2one, Many2many, One2many 等 单引号使用英文半角, 避免有些代码场景,引起不必要异常 双引号使用英文半角, 避免有些代码场景,引起不必要异常 特定的术语, 列举一部份

    三、错误示例
    凡是感叹号警告,99%翻译不规范造成。根据右边错误提示, 结合术语进行翻译, 就能通过。

    ![image005.jpg](/assets/uploads/files/1708498684885-image005.jpg) ![image007.jpg](/assets/uploads/files/1708498704234-image007.jpg) ![image008.png](/assets/uploads/files/1708498704248-image008.png) ![image009.png](/assets/uploads/files/1708498704265-image009.png)

    image010.png image011.jpg image012.png image013.png image014.jpg image015.png image016.png image017.jpg image018.jpg image019.jpg image020.jpg image021.jpg image022.jpg image023.jpg image024.jpg image025.jpg image026.jpg image027.png image028.jpg image029.jpg
    image028.jpg image029.jpg

    备注:审核通过的汉化翻译, 一般10天之内会同步

  • No decsciption available
    37 主题
    87 帖子

    👍👍👍👍👍厉害