git을 사용하여 odoo ERP를 복제했으며 /home/amr/erp/odoo 디렉토리에 있습니다. 물론 가상 환경을 만들고 /usr/local/etc/rc.d에 시작 스크립트 "odoo"를 만들었습니다. 내 관심사는 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
그런 다음 서비스를 다시 시작하십시오.