Im using tomcat on ubuntu server, and Im trying to use monit to keep it alive always. But my problem is that monit dont work because
/etc/init.d/tomcat start
Throws this error:
touch: cannot touch '/opt/tomcat/latest/logs/catalina.out': Permission denied
/opt/tomcat/latest/bin/catalina.sh: 467: /opt/tomcat/latest/bin/catalina.sh: cannot create /opt/tomcat/latest/logs/catalina.out: Permission denied
If I give permissions 777 to catalina.out, tomcat dont work. But if I change the permissions to 755 I cant start with init.d
How can I solve it?
This is my "monit" code:
check process tomcat with pidfile "/opt/tomcat/apache-tomcat-9.0.27/temp/tomcat.pid"
start program = "/etc/init.d/tomcat start"
stop program = "/etc/init.d/tomcat stop"
if failed port 8080 for 5 cycles then restart
Thanks
Per default Monit is executed as root, but the Permission denied
message might indicate that your Monit is not ran as root.
I see two solutions:
/usr/bin/sudo
before your init script likestart program = "/usr/bin/sudo /etc/init.d/tomcat start"