Pretty simple answer, you either,
1. Change the Tomcat port, E.g. 8080 so it doesn't collide with httpd, or
2. Listen (IPaddr1):80 to httpd and bind (IPaddr2):80 to Tomcat.
The second can be more confusing, since if you bind localhost:80 to Tomcat, httpd won't respond unless you make a request to its own IP listener.
Tomcat changes : server.xml :Now on to the 2nd stage of problem, where I have hosted a CMS on Apache server, and would like to call it with a URL, but also keep Apache tomcat running in parallel, and this is the main problem I am dealing with.I have partial success in these regards as I have already configured Apache Tomcat to host multiple webapps, and call them based on URL. It is working.Hello friends,I am working on some server side changes in which I have the webapps or website hosted by Apache server is called by the URL. So if url is www.domain-one.com, then the specific webapp or website must be served.This may seem like a Apache server issue, but it's both, as I want to run Apache web-server and Apache tomcat simultaneously with Virtual hosting. I just hope there might be people here who know both servers.I tried mod_jk without any luck. Here are the changes I made to tomcat and apache server.<Connector port="80" protocol="org.apache.coyote.http11.Http11NioProtocol" compression="force" compressionMinSize="1024" connectionTimeout="20000" maxPostSize="5242880" URIEncoding="utf-8" compressableMimeType="text/html,text/xml,text/plain,text/css,text/ _javascript_,application/x-_javascript_,application/_javascript_"/> <Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxPostSize="5242880" SSLEnabled="true" maxThreads="200" compre$ compressionMinSize="1024" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="keystorefile" keystorePass="PASSWORD" URIEncoding="utf-8" compressableMimeType="text/html,text/xml,text/plain,text/css,text/ _javascript_,application/x-_javascript_,application/_javascript_"/> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"/> <Host name="domain-first.com" autoDeploy="true" unpackWARs="true" appBase="tooltank_webapps"> <Alias>www.domain-first.com</Alias> <Context path=""/> </Host> <Host name="domain-second.com" autoDeploy="true" unpackWARs="true" appBase="aupair_webapps"> <Alias>www.domain-second.com</Alias> <Context path=""/> </Host> <Connector port="8010" protocol="AJP/1.3" redirectPort="443" URIEncoding="utf-8" compressableMimeType="text/html,text/xml,text/plain,text/css,text/ _javascript_,application/x-_javascript_,application/_javascript_" />
Installed mod_jk with following command :
apt-get install libapache2-mod-jk
Created file workers.properties in /etc/apache2/
# Define 1 real worker using ajp13 worker.list=worker # Set properties for worker (ajp13) worker.worker.type=ajp13 worker.worker.host=localhost worker.worker.port=8010
Instructed jk.conf to load this file :
JkWorkersFile /etc/apache2/workers.properties
Finally edited
000-default
insites-enabled
to add :
JkMount /home/user/tomcat_directory/* worker1
Then restarted Apache2, and I got this error :
[....] Restarting web server: apache2(98)Address already in use: make_sock: could not bind to address [::]:80 (98)Address already in use: make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down Unable to open logs Action 'start' failed. The Apache error log may have more information. failed!
I understand that Tomcat is running on 80, but how do I then configure the servers so they can run simultaneously.
Kindly let me know..
Regards,
Akshay S.