On Wed, Aug 10, 2016 at 10:06 AM, Sean Son <linuxmailinglistsem...@gmail.com > wrote:
> > > On Tue, Aug 9, 2016 at 5:05 PM, Mark Eggers <its_toas...@yahoo.com.invalid > > wrote: > >> Sean, >> >> >> On 8/9/2016 1:55 PM, Sean Son wrote: >> > On Mon, Aug 8, 2016 at 11:31 AM, Mark Eggers >> > <its_toas...@yahoo.com.invalid> wrote: >> > >> >> Sean, >> >> >> >> On 8/8/2016 7:10 AM, Sean Son wrote: >> >>> On Fri, Aug 5, 2016 at 5:34 PM, Mark Eggers >> >> <its_toas...@yahoo.com.invalid> >> >>> wrote: >> >>> >> >>>> On 8/5/2016 2:19 PM, Sean Son wrote: >> >>>>> Hello! >> >>>>> >> >>>>> I am currently running Tomcat 8 on RHEL 7.2 with one web >> >>>>> application called AppVet (A mobile Application Vetting >> >>>>> program). The application works well but when I tried to use >> >>>>> a script to allow tomcat to start up at boot, the webapp >> >>>>> gives an authentication error. I saw the following error in >> >>>>> the logs for appvet: >> >>>>> >> >>>>> >> >>>>> [ERROR] Could not connect to database: >> >>>>> com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: >> >>>>> Communications link failure >> >>>>> >> >>>>> The last packet sent successfully to the server was 0 >> >>>>> milliseconds ago. The driver has not received any packets >> >>>>> from the server. Make sure your MySQL password in your >> >>>>> AppVetProperties.xml file is correct >> >>>>> >> >>>>> >> >>>>> I know for a fact that the MySQL password is correct in that >> >>>>> XML file. I double checked it already. Any ideas on how I >> >>>>> should fix this error? >> >>>>> >> >>>>> This is the script that I am using for startup/shutdown of >> >>>>> Tomcat8 on boot: >> >>>>> >> >>>>> http://pastebin.com/mrvfDtTD >> >>>>> >> >>>>> Thanks! >> >>>>> >> >>>>> Sean >> >>>>> >> >>>> >> >>>> It appears that your Tomcat process is running as root. Do not >> >>>> do this. >> >>>> >> >>>> Is your MySQL server up and running before Tomcat is started? >> >>>> >> >>>> . . . just my two cents /mde/ >> >>>> >> >>>> >> >>> Hello thank you for your response >> >>> >> >>> I created a user account for Tomcat, I will set the script to use >> >>> that account instead of the root account. Question though, does >> >>> this account need a password? >> >> >> >> Yes, especially since you'll be running a service. >> >> >> >> Note that if you're running Tomcat on a privileged port (less than >> >> 1024), a non-root account will not be able to bind to this port. >> >> >> >> You have three choices. >> >> >> >> 1. iptables >> >> >> >> route port 80 to port 8080 (Tomcat default) internally. Take a look >> >> at the iptables documentation. >> >> >> >> 2. jsvc >> >> >> >> jsvc from the Apache Commons Daemon project allows you to run a >> >> service such as Tomcat more easily. I don't remember if there is an >> >> RPM for RHEL or not (possible in EPEL). It's configuration and >> >> startup script are different, but the documentation is a good start >> >> (there are Tomcat examples). >> >> >> >> https://commons.apache.org/proper/commons-daemon/jsvc.html >> >> >> >> 3. Apache HTTPD front end with mod_proxy_ajp or mod_jk >> >> >> >> I'd do this if you need Apache HTTPD for other web applications (a >> >> PHP application, perhaps). There is good documentation available on >> >> the Tomcat web site, as well as a ton of discussion on the mailing >> >> list to get this running. >> >> >> >> If you don't feel like building software, I'd recommend >> >> mod_proxy_ajp. I find mod_jk more flexible and a little easier to >> >> use (opinions on easy of use vary), but you'd have to build mod_jk >> >> from source. It's easy to do, but some people find that a little >> >> more challenging. >> >> >> >>> >> >>> Also, I cant tell if the MySQL server is up and running prior to >> >>> Tomcat being started. I know that mysqld is enabled to start at >> >>> boot, but I dont know if Tomcat starts prior to MySQL. How would >> >>> I figure that out? >> >>> >> >> >> >> I thought REHL 7 uses systemd and not init scripts? >> >> >> >> There have been many discussions on the mailing list concerning >> >> systemd and Tomcat. I think someone has posted appropriate systemd >> >> scripts. >> >> >> >> If not, then look at /etc/rc3.d. Start and stop scripts are >> >> executed in numerical order. Start scripts start with S, stop >> >> scripts start with K. >> >> >> >> Adjust the numbers in your Tomcat init script (/etc/initinit.d) so >> >> that the start comes after MySQL (second number in the chkconfig >> >> line). >> >> >> >> You'll have to chkconfig --del and chkconfig --add to have the new >> >> numbers take effect in /etc/rcx.d. >> >> >> >>> >> >>> Thanks! >> >>> >> >> >> >> . . . just my two cents /mde/ >> >> >> >> >> >> >> > >> > hello thank you for your response. >> > >> > So i decided to go the SystemD route and I found this article >> > online: >> > >> > https://panovski.me/install-tomcat-8-on-centos-7/ >> > >> > I followed the instructions and instead of downloading Tomcat and >> > installing it in /opt/tomcat, I copied the existing Tomcat >> > installation, which was in /home/username, into /opt/tomcat and I >> > gave the entire installation directory, an owner and group of tomcat. >> > Then I set up the following tomcat.service unit file: >> > >> > >> > [Unit] Description=Apache Tomcat Web Application Container >> > After=network.target >> > >> > [Service] Type=forking PIDFile=/var/run/tomcat.pid >> > Environment=CATALINA_PID=/var/run/tomcat.pid >> > Environment=JAVA_HOME=/usr/java/jdk1.8.0_92 >> > Environment=CATALINA_HOME=/opt/tomcat/apache-tomcat-8.0.35 >> > Environment=CATALINA_BASE=/opt/tomcat/apache-tomcat-8.0.35 >> > Environment=CATALINA_OPTS= >> > >> > ExecStart=/opt/tomcat/apache-tomcat-8.0.35/bin/jsvc \ >> > -Dcatalina.home=${CATALINA_HOME} \ -Dcatalina.base=${CATALINA_BASE} >> > \ -cp >> > ${CATALINA_HOME}/bin/commons-daemon.jar:${CATALINA_HOME}/bin >> /bootstrap.jar:${CATALINA_HOME}/bin/tomcat-juli.jar >> > >> > >> \ >> > -user tomcat \ -java-home ${JAVA_HOME} \ -pidfile /var/run/tomcat.pid >> > \ -errfile SYSLOG \ -outfile SYSLOG \ $CATALINA_OPTS \ >> > org.apache.catalina.startup.Bootstrap >> > >> > ExecStop=/opt/tomcat/bin/jsvc \ -pidfile /var/run/tomcat.pid \ -stop >> > \ org.apache.catalina.startup.Bootstrap >> > >> > [Install] WantedBy=multi-user.target >> > >> > >> > >> > I set up JSVC as well just like how the article suggested, but when I >> > run systemctl start tomcat and I try to browse to https://IP >> > Address:8443 (I am using SSL on Tomcat), I get the following errors >> > in the webbrowser: >> > >> > http://pastebin.com/8RANM5NF >> > >> > Any ideas on what I should do to resolve this issue? >> > >> > Thanks! >> > >> >> Looks like a permissions problem: >> >> /opt/tomcat/apache-tomcat-8.0.35/work/Catalina/localhost/ROO >> T/org/apache/jsp/index_jsp.class >> (Permission denied) >> >> What are the permissions and ownership (owner, group) for the files and >> directories under /opt/tomcat - especially >> /opt/tomcat/apache-tomcat-8.0.35? >> >> . . . just my two cents >> /mde/ >> >> > Hello ! thank you for your response > > I checked the permissions for that path: the owner and group for the path > is tomcat:tomcat EXCEPT for the index_jsp.class and index_jsp.java, both of > which are owned/group by root. So it looks like when the systemd unit is > ran, the two files are created by root as opposed to by Tomcat. how would > I fix this? > > > Thanks! > > > Hello I changed the permissions on the two files tomcat:tomcat and restarted Tomcat... it took a while, probably close to 10 minutes for the server to come up but now I can see the Tomcat start page.. How come it takes so long for it to start up? Any way that I can speed up the process? Thanks