-----Original Message----- From: Daniel Mikusa [mailto:dmik...@gopivotal.com] Sent: Wednesday, January 15, 2014 10:19 AM To: Tomcat Users List Subject: Re: [tomcat7] rhel 6 - init.d script works; does not start on reboot
On Jan 15, 2014, at 11:01 AM, "Bush, Eddie" <eddie.b...@williams.com> wrote: > > > -----Original Message----- > From: Daniel Mikusa [mailto:dmik...@gopivotal.com] > Sent: Wednesday, January 15, 2014 9:54 AM > To: Tomcat Users List > Subject: Re: [tomcat7] rhel 6 - init.d script works; does not start on reboot > > On Jan 15, 2014, at 10:32 AM, "Bush, Eddie" <eddie.b...@williams.com> wrote: > >> Howdy, List! >> >> I'm in a bit of a pickle here. I'm a senior dev, and quite good at that, but >> for my new client I'm also charged with configuring our machines. We're >> running on Tomcat 7, so I grabbed the tgz and installed it per the >> instructions. >> >> Everything works great! ... until I reboot the server :) At that point, >> everything else comes up, but tomcat does not. >> >> I have removed all logs and rebooted and see nothing notable in any of the >> tomcat logs (because, of course, it did not start), nor can I find anything >> in syslog or messages. The chkconfig command reports that the script is >> configured to run for runlevel 2-5, and I've even inspected the links in >> rc.d/rc*.d and they are linked to the init.d script (which is the same >> danged script that works interactively via "service tomcat start/stop"!) > > Dan> Where did you get the init script from? > EB> Off the net somewhere, initially. I tweaked it to use sudo to change user > to tomcat:tomcat though, and I changed the chkconfig declaration to be > extremely similar to what nginx uses, since that works fine. chkconfig likes > the script, and sets it up in what looks to be perfect form (comparing to > other things). These are pretty standard scripts though, yes? They basically > just delegate to the scripts distributed with tomcat, which all end up > calling catalina.sh :-) Dan> Since it's not standard, can you include it here? It may be perfectly fine, but it would be nice to see it regardless. EB> cat /etc/init.d/tomcat #!/bin/bash echo "Let's start Tomcat! ... because Tomcat rocks!" > /tmp/tomcat.log # chkconfig: - 84 16 # description: Tomcat Start Stop Restart # processname: tomcat ### BEGIN INIT INFO # Provides: tomcat # Required-Start: $local_fs $remote_fs $network # Required-Stop: $local_fs $remote_fs $network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: start stop and restart tomcat ### END INIT INFO JAVA_HOME=/usr/java/jdk1.7.0_45 export JAVA_HOME PATH=$JAVA_HOME/bin:$PATH export PATH CATALINA_HOME=/usr/share/apache-tomcat-7.0.47 echo "JAVA_HOME = $JAVA_HOME" >> /tmp/tomcat.log echo "PATH = $PATH" >> /tmp/tomcat.log echo "CATALINA_HOME = $CATALINA_HOME" >> /tmp/tomcat.log case $1 in start) echo "START requested!" >> /tmp/tomcat.log sudo -g tomcat -u tomcat sh $CATALINA_HOME/bin/startup.sh ;; stop) echo "STOP requested!" >> /tmp/tomcat.log sudo -g tomcat -u tomcat sh $CATALINA_HOME/bin/shutdown.sh ;; restart) echo "RESTART requested!" >> /tmp/tomcat.log sudo -g tomcat -u tomcat sh $CATALINA_HOME/bin/shutdown.sh sudo -g tomcat -u tomcat sh $CATALINA_HOME/bin/startup.sh ;; esac exit 0 Dan> Also, can you confirm that the init script is actually being called? It would be helpful to know how far things get before they break down. Since you've said that *no* Tomcat logs get created, I would expect that things don't get very far. Maybe add some logging / echo statements to see what does and doesn't run. EB> Genius suggestion. I'm disappointed I didn't think about it. Turns out that it does try to start. EB> cat /tmp/tomcat.log Let's start Tomcat! ... because Tomcat rocks! JAVA_HOME = /usr/java/jdk1.7.0_45 PATH = /usr/java/jdk1.7.0_45/bin:/sbin:/usr/sbin:/bin:/usr/bin CATALINA_HOME = /usr/share/apache-tomcat-7.0.47 START requested! EB> So it feels like that sudo command fails. However, I see nothing in /var/log/sudolog. Is sudo the issue? EB> I was trying su in the script, but it complained about the account not having login enabled. sudo worked interactively, so I assumed that ought to work! EB> I looked at adding jsvc, but I don't have a lot of control over channels that the machine is subscribed to, and that seems to be in the optional channel. EB> I have (rhel6) a daemon command, and I had considered updating to use that, but the sudo works interactively so I stuck with that (if it ain't broke, right?) > >> >> This may be more of a *nix question than a tomcat question, but I thought >> I'd try here first since it is in the context of tomcat itself. >> >> Thoughts? Suggestions? > > Dan> Have you verified that user / permissions are set correct to run as a > service? Keep in mind that running as a service may be running Tomcat as a > different user. > EB> I guess I'm not sure what you mean here. Apologies. However, I did chown > -R tomcat:tomcat on the entire install. First start after that reminded me I > needed to clean the logs out before expecting it to work :-) but I can now > start this interactively using "sudo service tomcat start" and stop it, etc. > EB> Perhaps I should add that I was raised on Unix, including being schooled > in Unix administration. It's been years, but I do have a decent amount of > experience with Unix, shell scripting, etc. :-) Dan> Sounds like you've got the general idea of what I was saying here. Good to know how the permissions are set on the Tomcat directory. EB> Awesome :-) yes, I Dan > > Dan > >> I have Google'd myself to death! I'm at my wits end! I'm honestly at the >> point of thinking about punting this issue until another day or possibly >> resigning to making sure that any workflow which involves a server reboot >> includes a step for starting tomcat (yuck!). >> >> Thanks in advance for any input! >> >> Eddie >> >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org