如何在 FreeBSD 上将 Odoo ERP 作为守护进程运行?

如何在 FreeBSD 上将 Odoo ERP 作为守护进程运行?

我已经使用 git 克隆了 odoo ERP,位于目录 /home/amr/erp/odoo 中。当然,我已经创建了一个虚拟环境,并在 /usr/local/etc/rc.d 中创建了一个启动脚本“odoo”,我关心的是不要以 root 用户身份运行 rc 脚本,所以我创建了一个非登录用户通过以下命令:

pw adduser odoo -d /nonexistent -s /usr/sbin/nologin -c "Odoo ERP"

我的问题是,当我使用“odoo”用户运行应用程序时,它会失败,但是当我使用“amr”用户运行它时,它会启动。那么我如何让应用程序以“odoo”用户运行,这里是我的 rc 脚本:

#!/bin/sh
#
# PROVIDE: odoo
# REQUIRE: DAEMON
# KEYWORD: shutdown
#

. /etc/rc.subr

name="odoo"
user="odoo"
rcvar="odoo_enable"
odoo_command="/home/amr/erp/odoo/.venv/bin/python /home/amr/erp/odoo/odoo-bin -c /home/amr/erp/odoo/odoo.conf --without-demo=all"

pidfile="/var/run/${name}.pid"
command="/usr/sbin/daemon"                                                                               
command_args="-P ${pidfile} -u ${user} -r -f ${odoo_command}"                                             
                                                                                                          
load_rc_config "${name}"                                                                                 
: "${odoo_enable:=no}"                                                                                   
                                                                                                          
run_rc_command "$1"

答案1

cd /home/amr
chown -r odoo:odoo erp

然后重启服务

答案2

我跟随本指南用于安装和使用 odoo 作为服务。您在安装时可能会遇到一些问题,wkhtmltox因为man-db.

看一眼这里为了解决这个问题。

相关内容