Re: Tomcat, Apache web-server : Simultaneously running both servers and Virtual Hosting.
Hi, Thank you for the links, I will go through it. I have configured Apache Tomcat to serve multiple webapps depending upon the URL, but Apache web-server is what seems to be stopping me. The major problem I am having is I cannot find any examples if someone has tried to do this before. I have gone a bit further since I posted the question in the mailing list. Can you please check out this question : http://serverfault.com/questions/740534/apache-webserver-tomcat-runing-multiple-tomcat-webapps-and-apache-webserver Thanks a lot. Now my only-problem is how to inform Apache2 that, don't process this URL, just forward it. I will read it in parallel what you gave. Regards, Akshay S
Re: Tomcat, Apache web-server : Simultaneously running both servers and Virtual Hosting.
On 07.12.2015 11:26, Kernel freak wrote: 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. 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. 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. 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. Tomcat changes : server.xml : www.domain-first.com www.domain-second.com 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 in sites-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.. Hi. You may have a lot of reading to do, specially on the Apache httpd side. It will be worth it in the end, to be able to think "globally" about the issues, and to be able to decide where best to do what. 1) Virtual Hosts : http://httpd.apache.org/docs/2.2/vhosts/ --> name-based virtual hosts 2) Proxying from Apache to Tomcat : http://httpd.apache.org/docs/2.2/mod/mod_proxy.html http://httpd.apache.org/docs/2.2/mod/mod_proxy_ajp.html (an alternative to mod_jk) .. and mod_jk you already know 3) URL Rewriting : http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html (allows you to do a lot of things, in combination with mod_proxy, but at a much finer level) Also, a tip if you want to use mod_jk in combination with all the Apache-httpd modules above : look at an alternative way to configure proxying from httpd to Tomcat, here : http://tomcat.apache.org/connectors-doc/reference/apache.html section : Using SetHandler and Environment Variables This method replaces the JkMount/JkUnMount, and fits nicely in Apache httpd's scheme, together with mod_rewrite, mod_proxy etc.. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Tomcat, Apache web-server : Simultaneously running both servers and Virtual Hosting.
Thank you for the changes you suggested. First problem is, not all the webapps have Https enabled, so I have to use port-number 80. Can you suggest me an alternative configuration. I have changed it to port 8080 and given a proxyPort=80 as follows : < --> - // Multiple webapp declarations My sites-enabled file looks like this : ServerAdmin webmaster@localhost ServerName www.domain-shop.com DocumentRoot /var/www Options FollowSymLinks AllowOverride None Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all ErrorLog ${APACHE_LOG_DIR}/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined ServerName www.domain_tomcat.de ServerAlias domain_tomcat.de ProxyRequests off ProxyPreserveHost On Order deny,allow Allow from all ProxyPass / ajp://localhost:8010/ ProxyPassReverse / ajp://localhost:8010/Order allow,deny Allow from all workers.properties looks like : worker.list = worker_app1 worker.worker_app1.type = lb worker.worker_app1.balance_workers = app1_instance1 worker.worker_app1.sticky_session = true worker.worker_app1.sticky_session_force = false worker.worker_app1.method = busyness worker.app1_instance1.type = ajp13 worker.app1_instance1.host = 127.0.0.1 worker.app1_instance1.port = 8010 worker.app1_instance1.host = localhost worker.app1_instance1.lbfactor = 1 worker.app1_instance1.socket_timeout = 40 worker.app1_instance1.socket_keepalive = true worker.app1_instance1.reply_timeout = 3 uriworkermap.properties looks like : # Proxy everything to backend: /|/* = worker_app1; jk.conf in modules-enabled JkWorkersFile /etc/apache2/workrs.properties JkLogFile /var/log/apache2/mod_jk.log JkLogLevel notice JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " JkOptions +ForwardURIProxy JkMountFile /etc/apache2/uriworkermap.properties After this, when I try to open domain_tomcat.de, I get : The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, [no address given] and inform them of the time the error occurred, and anything you might have done that may have caused the error. More information about this error may be available in the server error log. So, what am I missing. Kindly let me know. Thanks a lot. :-) On Mon, Dec 7, 2015 at 3:48 PM, Frederik Nosi wrote: > (Yes, it's me who replied on serverfault.com, on this one: > http://serverfault.com/questions/740534/apache-webserver-tomcat-runing-multiple-tomcat-webapps-and-apache-webserver > ), > On 12/07/2015 11:26 AM, Kernel freak wrote: > > 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 > iswww.domain-one.com, then the specific webapp or website must be served. > > 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. > > 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. > > 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. > > Tomcat changes : server.xml : > > protocol="org.apache.coyote.http11.Http11NioProtocol" > compression="force" compressionMinSize="1024" >connectionTimeout="2" maxPostSize="5242880" >URIEncoding="utf-8" > compressableMimeType="text/html,text/xml,text/plain,text/css,text/ > javascript,application/x-javascript,application/javascript"/> > > > > You're using port 80 on your server for tomcat, that's why apache fails to > start, because port 80 is in use, see later. > > > 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"
Re: Tomcat, Apache web-server : Simultaneously running both servers and Virtual Hosting.
So you don't know what mistake I am making in the configuration? On Mon, Dec 7, 2015 at 4:52 PM, Hassan Schroederwrote: > On Mon, Dec 7, 2015 at 7:11 AM, Kernel freak > wrote: > > > More information about this error may be available in the server error > log. > > > > So, what am I missing. > > To start, the information in the server log referenced above. > > Secondly, I'd strongly recommend you start out by using plain old > mod_proxy and mod_proxy_http rather than mod_jk - less config > required, doesn't require changing your Tomcat config other than > picking a different port number than 80 for your connectors. > > Good luck, > -- > Hassan Schroeder hassan.schroe...@gmail.com > http://about.me/hassanschroeder > twitter: @hassan > Consulting Availability : Silicon Valley or remote > > - > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > >
Re: Tomcat, Apache web-server : Simultaneously running both servers and Virtual Hosting.
On Mon, Dec 7, 2015 at 7:11 AM, Kernel freakwrote: > More information about this error may be available in the server error log. > > So, what am I missing. To start, the information in the server log referenced above. Secondly, I'd strongly recommend you start out by using plain old mod_proxy and mod_proxy_http rather than mod_jk - less config required, doesn't require changing your Tomcat config other than picking a different port number than 80 for your connectors. Good luck, -- Hassan Schroeder hassan.schroe...@gmail.com http://about.me/hassanschroeder twitter: @hassan Consulting Availability : Silicon Valley or remote - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Tomcat, Apache web-server : Simultaneously running both servers and Virtual Hosting.
On Mon, Dec 7, 2015 at 7:58 AM, Kernel freakwrote: > So you don't know what mistake I am making in the configuration? Why would I? I don't have your server log to inspect. And I haven't used mod_jk in a very long time, so I didn't even bother looking at your config. Also, FYI, Apache httpd has a built-in configuration checker that you could (and apparently should) run (hint) :-) -- Hassan Schroeder hassan.schroe...@gmail.com http://about.me/hassanschroeder twitter: @hassan Consulting Availability : Silicon Valley or remote - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Tomcat Webinar Series: TLS virtual hosting 8th Dec 2015
Just a gentle reminder. This webinar is scheduled for tomorrow. Invitations with access details are in the archives: 10.00 UTC http://markmail.org/message/4bby2xijssm54aip 21.00 UTC http://markmail.org/message/hjkdx5hptbqq3b6d Mark On 02/12/2015 10:50, Mark Thomas wrote: > Hi, > > The topic of the second Tomcat webinar will be TLS virtual hosting. > > It will be on Tuesday 8th December at 10.00 UTC and 21.00 UTC. > Invitations to the webinar so you can watch it live will be sent to the > users list later today. The recording will be made available shortly > afterwards via the Tomcat YouTube channel [1] where you can also view > the first webinar on Tomcat 9 and HTTP/2. > > I hope to see you there. > > Mark > > [1] https://www.youtube.com/channel/UCpqpJ0-G1lYfUBQ6_36Au_g > > - > 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
Re: URL based redirection working partially with Apache tomcat
Hi Chris, I was able to finally resolve it by adding Host elements directly in server.xml and creating separate webapps folder for each app to hold the WAR file. I am on to a bigger fish. I will post a question soon in mailing list. Thank you. On Thu, Dec 3, 2015 at 6:37 PM, Christopher Schultz < ch...@christopherschultz.net> wrote: > To whom it may concern, > > On 12/3/15 10:54 AM, Kernel freak wrote: > > Hello friends, > > > > I would like to deploy multiple webapps(as of now 2,waiting for domain > name > > for 3rd) on a single Apache Tomcat instance. I have been partially > > successful as one URL is working properly, other is not. > > > > Situation : > > 1) I have created two folders called domain1_webapps and domain2_webapps > > and put the respective webapps named ROOT.war in each of them. > > 2) Then I configured server.xml as mentioned below. > > > > > > > autoDeploy="true"/> > > unpackWARs="true" > > appBase="domain1_webapps"/> > > unpackWARs="true" > > appBase="domain2_webapps"/> > > > > Right now when I call www.domain-one.com( not domain-one.com), I get the > > correct site. But for the 2nd one, I have to call > > www.domain-two.com/app_name. > > > > *How can I remove in 2nd domain the app_name context-path which is > getting > > appended. Kindly let me know. * > > > > The ironical situation is I have not kept the app_name anywhere, guess > > Tomcat must be retrieving it from POM.xml. > > > > Reference question on SO : > > > http://stackoverflow.com/questions/34069289/apache-tomcat-url-based-redirection-partially-works > > Have you read the documentation for how to deploy a web application in > Tomcat? > > > http://tomcat.apache.org/tomcat-8.0-doc/config/context.html#Defining_a_context > > -chris > > - > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > >
Tomcat, Apache web-server : Simultaneously running both servers and Virtual Hosting.
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. 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. 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. 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. Tomcat changes : server.xml : www.domain-first.com www.domain-second.com 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 in sites-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.
[ANN] Apache Tomcat 8.0.30 available
The Apache Tomcat team announces the immediate availability of Apache Tomcat 8.0.30. Apache Tomcat 8 is an open source software implementation of the Java Servlet, JavaServer Pages, Java Unified Expression Language and Java WebSocket technologies. Apache Tomcat 8.0.30 includes fixes for issues identified in 8.0.29 as well as other enhancements and changes. The notable changes since 8.0.29 include: - Location headers for redirects now use relative URIs. This can be controlled by Context with the useRelativeRedirects attribute. - Correct a regression in 8.0.29 that broke redirects for context roots. - Restore the default setting of quoteAttributeEL in Jasper to true to align with 8.0.26/7.0.64 and earlier as well as other JSP implementations. Please refer to the change log for the complete list of changes: http://tomcat.apache.org/tomcat-8.0-doc/changelog.html Downloads: http://tomcat.apache.org/download-80.cgi Migration guides from Apache Tomcat 5.5.x, 6.0.x and 7.0.x: http://tomcat.apache.org/migration.html Enjoy! - The Apache Tomcat team - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Tomcat, Apache web-server : Simultaneously running both servers and Virtual Hosting.
Akshay, On 12/7/15 5:26 AM, Kernel freak wrote: > protocol="org.apache.coyote.http11.Http11NioProtocol" > compression="force" compressionMinSize="1024" >connectionTimeout="2" maxPostSize="5242880" >URIEncoding="utf-8" > compressableMimeType="text/html,text/xml,text/plain,text/css,text/ > javascript,application/x-javascript,application/javascript"/> > > > 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"/> You have configured Tomcat for ports 80 and 443. When you start httpd: > [] 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! ... you get a port conflict. You have to choose: httpd or Tomcat on port 80 (and 443). > I understand that Tomcat is running on 80, but how do I then configure > the servers so they can run simultaneously. It looks like you started configuring for mod_jk, but didn't really finish. What you have to do is proxy *all* applications from http -> Tomcat. Then remove the HTTP from Tomcat and rely exclusively on the AJP connector(s). (You really only need one single AJP connector, since it will forward TLS information across to Tomcat.) -chris - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Tomcat, Apache web-server : Simultaneously running both servers and Virtual Hosting.
Akshay, On 12/7/15 2:53 PM, Christopher Schultz wrote: > Akshay, > > On 12/7/15 5:26 AM, Kernel freak wrote: >> > protocol="org.apache.coyote.http11.Http11NioProtocol" >> compression="force" compressionMinSize="1024" >>connectionTimeout="2" maxPostSize="5242880" >>URIEncoding="utf-8" >> compressableMimeType="text/html,text/xml,text/plain,text/css,text/ >> javascript,application/x-javascript,application/javascript"/> >> >> >> > 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"/> > > You have configured Tomcat for ports 80 and 443. When you start httpd: > >> [] 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! > > ... you get a port conflict. You have to choose: httpd or Tomcat on port > 80 (and 443). > >> I understand that Tomcat is running on 80, but how do I then configure >> the servers so they can run simultaneously. > > It looks like you started configuring for mod_jk, but didn't really > finish. What you have to do is proxy *all* applications from http -> > Tomcat. Then remove the HTTP from Tomcat and rely > exclusively on the AJP connector(s). (You really only need one single > AJP connector, since it will forward TLS information across to Tomcat.) Have a look at http://people.apache.org/~schultz/ApacheCon%20NA%202015/Load-balancing%20Tomcat%20with%20mod_jk.pdf starting at slide 19. -chris - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org