FreeBSDでOdoo ERPをデーモンとして実行する方法は?

FreeBSDでOdoo ERPをデーモンとして実行する方法は?

gitを使用してodoo ERPを複製し、/home/amr/erp/odooディレクトリにあります。もちろん、仮想環境を作成し、/usr/local/etc/rc.dに起動スクリプト「odoo」を作成しました。私の興味は、rcスクリプトをrootとして実行することではなかったので、ログインしていないユーザーができるスクリプトを作成しました。次のコマンドを使用します。

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

その後、サービスを再起動します。

おすすめ記事