You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Χριστόφορος Κορυφίδης <ch...@gmail.com> on 2018/08/27 09:03:24 UTC

Apache 2.4 tomcat 8 setup problem

I have an apache 2.4 on Debian Jessie and I host several sites as virtual hosts.
On of these sites is running on jsp so I hav installed tomcat 8 and I
use mod_jk.

My virtual host configuration file for apache is:

    <Directory /var/www/dimitros-apartments.gr>
                    AllowOverride None
                    Require all denied
            </Directory>

    <VirtualHost *:80>
            ServerName dimitros-apartments.gr
            ServerAlias www.dimitros-apartments.gr
            #<Location "/">
            #    JkUriSet worker ajp13:localhost:8009
            #</Location>
            JkMount /dimitros-apartments.gr/* ajp13_worker
            JkMount /dimitros-apartments.gr ajp13_worker

            DocumentRoot /var/www/dimitros-apartments.gr/web
    #        DocumentRoot /var/lib/tomcat8/webapps/dimitros-apartments.gr
    #       ApJServMount /servlet /ROOT
    #       <Directory
"/var/lib/tomcat8/webapps/dimitros-apartments.gr/WEB-INF">
    #               Options None
    #               Deny from all
    #       </Directory>
            ServerAdmin admin@dimitros-apartments.gr
            ErrorLog /var/log/ispconfig/httpd/dimitros-apartments.gr/error.log
            Alias /error/ "/var/www/dimitros-apartments.gr/web/error/"
            ErrorDocument 400 /error/400.html
            ErrorDocument 401 /error/401.html
            ErrorDocument 403 /error/403.html
            ErrorDocument 404 /error/404.html
            ErrorDocument 405 /error/405.html
            ErrorDocument 500 /error/500.html
            ErrorDocument 502 /error/502.html
            ErrorDocument 503 /error/503.html

            <IfModule mod_ssl.c>
                    </IfModule>

                    <Directory /var/www/dimitros-apartments.gr/web>
                                    # Clear PHP settings of this website
                                    <FilesMatch ".+\.ph(p[345]?|t|tml)$">
                                                    SetHandler None
                                    </FilesMatch>
                                    Options +FollowSymLinks +Indexes
                                    AllowOverride None
                                    Require all granted
                   </Directory>
                   <Directory /var/www/clients/client1/web12/web>
                                    # Clear PHP settings of this website
                                    <FilesMatch ".+\.ph(p[345]?|t|tml)$">
                                                    SetHandler None
                                    </FilesMatch>
     Options +FollowSymLinks +Indexes
                                    AllowOverride None
                                    Require all granted
                    </Directory>




                    # suexec enabled
                    <IfModule mod_suexec.c>
                            SuexecUserGroup web12 client1
                    </IfModule>
                    # php as fast-cgi enabled
            # For config options see:
http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html
                    <IfModule mod_fcgid.c>
                                    FcgidIdleTimeout 300
                                    FcgidProcessLifeTime 3600
                                    # FcgidMaxProcesses 1000
                                    FcgidMaxRequestsPerProcess 5000
                                    FcgidMinProcessesPerClass 0
                                    FcgidMaxProcessesPerClass 10
                                    FcgidConnectTimeout 3
                                    FcgidIOTimeout 600
                                    FcgidBusyTimeout 3600
                                    FcgidMaxRequestLen 1073741824
                    </IfModule>
                    #<Directory /var/www/dimitros-apartments.gr/web>
                    #               <FilesMatch "\.php[345]?$">
                    #                       SetHandler fcgid-script
                    #               </FilesMatch>
                    #               FCGIWrapper
/var/www/php-fcgi-scripts/web12/.php-fcgi-starter .php
                    #               FCGIWrapper
/var/www/php-fcgi-scripts/web12/.php-fcgi-starter .php3
                    #               FCGIWrapper
/var/www/php-fcgi-scripts/web12/.php-fcgi-starter .php4
                    #               FCGIWrapper
/var/www/php-fcgi-scripts/web12/.php-fcgi-starter .php5
                    #               Options +ExecCGI
                    #               AllowOverride All
                    #
Require all granted
                    #                               </Directory>
                    #<Directory /var/www/clients/client1/web12/web>
                    #               <FilesMatch "\.php[345]?$">
                    #                       SetHandler fcgid-script
                    #               </FilesMatch>
                    #               FCGIWrapper
/var/www/php-fcgi-scripts/web12/.php-fcgi-starter .php
                    #               FCGIWrapper
/var/www/php-fcgi-scripts/web12/.php-fcgi-starter .php3
                    #               FCGIWrapper
/var/www/php-fcgi-scripts/web12/.php-fcgi-starter .php4
                    #               FCGIWrapper
/var/www/php-fcgi-scripts/web12/.php-fcgi-starter .php5
                    #               Options +ExecCGI
                    #               AllowOverride All
                    #               Require all granted
                    #       </Directory>
                    # add support for apache mpm_itk
                    <IfModule mpm_itk_module>
                            AssignUserId web12 client1
                    </IfModule>

                    <IfModule mod_dav_fs.c>
                    # Do not execute PHP files in webdav directory
                            <Directory /var/www/clients/client1/web12/webdav>
                                    <ifModule mod_security2.c>
                                            SecRuleRemoveById 960015
                                            SecRuleRemoveById 960032
                                    </ifModule>
                                    <FilesMatch "\.ph(p3?|tml)$">
                                            SetHandler None
                                    </FilesMatch>
                            </Directory>
                            DavLockDB /var/www/clients/client1/web12/tmp/DavLock
                            # DO NOT REMOVE THE COMMENTS!
                            # IF YOU REMOVE THEM, WEBDAV WILL NOT WORK ANYMORE!
          # WEBDAV BEGIN
                            # WEBDAV END
                    </IfModule>



    </VirtualHost>

On tomcat's server.xml I have a host record as:

    <Host name="www.dimitros-apartments.gr" appBase="/var/lib/tomcat8/webapps" >
        <Alias>dimitros-apartments.gr</Alias>
        <Context path=""
docBase="/var/lib/tomcat8/webapps/dimitros-apartments.gr" />
   </Host>


Site is running here http://www.dimitros-apartments.gr

I get a permission denied error where I access
http://www.dimitros-apartments.gr.

I use ispconfig and for each domain I must have it's directory where
apache's domains directories resides, regardless if this domain is
served from apache or in my case from tomcat. So for this domain I
have a corresponding directory on both apache and tomcat. I also have
an index.jsp on both tomcat domain root directory and apache's domain
root directory.

When I access http://www.dimitros-apartments.gr/index.jsp I get an
uncompiled jsp page ( I see the source code ) on my browser.
A strange think is that this uncompiled page, is not from tomcat's
directory but from apache's domain directory.

any help is appreciated.

Thanks in advance,
Christoforos

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Apache 2.4 tomcat 8 setup problem

Posted by "André Warnier (tomcat)" <aw...@ice-sa.com>.
Hi.
.. hmm, where to begin ? ...

Maybe first :
In your case, it looks like you may be more familiar with the configuration of Apache 
httpd, than with the configuration of mod_jk and of tomcat.
So just as a possible tip : there is an alternative, at the Apache httpd level, to mod_jk.
See here : http://httpd.apache.org/docs/2.4/mod/mod_proxy_ajp.html
The advantage is
a) that the configuration of the mod_proxy_ajp module is entirely in the httpd.conf 
configuration file, and requires no additional mod_jk specific files
b) that it avoids the usage of all these "Jk*" commands, which are often a bit less easy 
to use, in terms of how they combine with the other Apache httpd configuration directives.
c) that the mod_proxy_ajp configuration is much the same as for any other Apache httpd 
proxy module
d) that the mod_proxy_ajp is a part of the standard Apache httpd package, so you do not 
need to install anything extra. (mod_jk can be more difficult to get under some Linux 
versions).

Second, and only if you still prefer to use mod_jk :

1) from the configuration that you show below (and particularly the commented-out bits), 
it looks like you may have copied (or referred to) some pretty old documentation about how 
to do this, and that this documentation referred to very old (and probably outdated) 
versions of tomcat and/or mod_jk.

The correct and up-to-date documentation about mod_jk should be consulted here :
top : https://tomcat.apache.org/connectors-doc/
and in particular for you : https://tomcat.apache.org/connectors-doc/reference/apache.html

2) this is probably wrong :
 >              JkMount /dimitros-apartments.gr/* ajp13_worker
 >              JkMount /dimitros-apartments.gr ajp13_worker

The "dimitros-apartments.gr" part is the hostname, and should not be a part of the URIs 
which you proxy to tomcat via JkMount.
So if you really want, under Apache httpd, to proxy "everything" to the back-end tomcat, 
the following would be better and sufficient :

 > JkMount /* ajp13_worker

(assuming that "ajp13_worker" is correctly defined and configured in a 
"workers.properties" file.)

3) it becomes a bit more complicated if you want to have some things delegated to tomcat, 
but you also want tome other things to be served directly by your front-end Apache httpd.

But maybe let's start with the beginning, and make the appropriate choice for you between 
mod_jk and mod_proxy_ajp.

In any case, when you post your configuration again, make it easier for the people here, 
and remove the commented-out configuration lines. It is a bit difficult to read now, with 
all the comments.
(But thank you for posting the versions of Apache httpd and tomcat, and explaining the 
context and what you want to achieve; that really helps).




On 27.08.2018 11:03, Χριστόφορος Κορυφίδης wrote:
> I have an apache 2.4 on Debian Jessie and I host several sites as virtual hosts.
> On of these sites is running on jsp so I hav installed tomcat 8 and I
> use mod_jk.
>
> My virtual host configuration file for apache is:
>
>      <Directory /var/www/dimitros-apartments.gr>
>                      AllowOverride None
>                      Require all denied
>              </Directory>
>
>      <VirtualHost *:80>
>              ServerName dimitros-apartments.gr
>              ServerAlias www.dimitros-apartments.gr
>              #<Location "/">
>              #    JkUriSet worker ajp13:localhost:8009
>              #</Location>
>              JkMount /dimitros-apartments.gr/* ajp13_worker
>              JkMount /dimitros-apartments.gr ajp13_worker
>
>              DocumentRoot /var/www/dimitros-apartments.gr/web
>      #        DocumentRoot /var/lib/tomcat8/webapps/dimitros-apartments.gr
>      #       ApJServMount /servlet /ROOT
>      #       <Directory
> "/var/lib/tomcat8/webapps/dimitros-apartments.gr/WEB-INF">
>      #               Options None
>      #               Deny from all
>      #       </Directory>
>              ServerAdmin admin@dimitros-apartments.gr
>              ErrorLog /var/log/ispconfig/httpd/dimitros-apartments.gr/error.log
>              Alias /error/ "/var/www/dimitros-apartments.gr/web/error/"
>              ErrorDocument 400 /error/400.html
>              ErrorDocument 401 /error/401.html
>              ErrorDocument 403 /error/403.html
>              ErrorDocument 404 /error/404.html
>              ErrorDocument 405 /error/405.html
>              ErrorDocument 500 /error/500.html
>              ErrorDocument 502 /error/502.html
>              ErrorDocument 503 /error/503.html
>
>              <IfModule mod_ssl.c>
>                      </IfModule>
>
>                      <Directory /var/www/dimitros-apartments.gr/web>
>                                      # Clear PHP settings of this website
>                                      <FilesMatch ".+\.ph(p[345]?|t|tml)$">
>                                                      SetHandler None
>                                      </FilesMatch>
>                                      Options +FollowSymLinks +Indexes
>                                      AllowOverride None
>                                      Require all granted
>                     </Directory>
>                     <Directory /var/www/clients/client1/web12/web>
>                                      # Clear PHP settings of this website
>                                      <FilesMatch ".+\.ph(p[345]?|t|tml)$">
>                                                      SetHandler None
>                                      </FilesMatch>
>       Options +FollowSymLinks +Indexes
>                                      AllowOverride None
>                                      Require all granted
>                      </Directory>
>
>
>
>
>                      # suexec enabled
>                      <IfModule mod_suexec.c>
>                              SuexecUserGroup web12 client1
>                      </IfModule>
>                      # php as fast-cgi enabled
>              # For config options see:
> http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html
>                      <IfModule mod_fcgid.c>
>                                      FcgidIdleTimeout 300
>                                      FcgidProcessLifeTime 3600
>                                      # FcgidMaxProcesses 1000
>                                      FcgidMaxRequestsPerProcess 5000
>                                      FcgidMinProcessesPerClass 0
>                                      FcgidMaxProcessesPerClass 10
>                                      FcgidConnectTimeout 3
>                                      FcgidIOTimeout 600
>                                      FcgidBusyTimeout 3600
>                                      FcgidMaxRequestLen 1073741824
>                      </IfModule>
>                      #<Directory /var/www/dimitros-apartments.gr/web>
>                      #               <FilesMatch "\.php[345]?$">
>                      #                       SetHandler fcgid-script
>                      #               </FilesMatch>
>                      #               FCGIWrapper
> /var/www/php-fcgi-scripts/web12/.php-fcgi-starter .php
>                      #               FCGIWrapper
> /var/www/php-fcgi-scripts/web12/.php-fcgi-starter .php3
>                      #               FCGIWrapper
> /var/www/php-fcgi-scripts/web12/.php-fcgi-starter .php4
>                      #               FCGIWrapper
> /var/www/php-fcgi-scripts/web12/.php-fcgi-starter .php5
>                      #               Options +ExecCGI
>                      #               AllowOverride All
>                      #
> Require all granted
>                      #                               </Directory>
>                      #<Directory /var/www/clients/client1/web12/web>
>                      #               <FilesMatch "\.php[345]?$">
>                      #                       SetHandler fcgid-script
>                      #               </FilesMatch>
>                      #               FCGIWrapper
> /var/www/php-fcgi-scripts/web12/.php-fcgi-starter .php
>                      #               FCGIWrapper
> /var/www/php-fcgi-scripts/web12/.php-fcgi-starter .php3
>                      #               FCGIWrapper
> /var/www/php-fcgi-scripts/web12/.php-fcgi-starter .php4
>                      #               FCGIWrapper
> /var/www/php-fcgi-scripts/web12/.php-fcgi-starter .php5
>                      #               Options +ExecCGI
>                      #               AllowOverride All
>                      #               Require all granted
>                      #       </Directory>
>                      # add support for apache mpm_itk
>                      <IfModule mpm_itk_module>
>                              AssignUserId web12 client1
>                      </IfModule>
>
>                      <IfModule mod_dav_fs.c>
>                      # Do not execute PHP files in webdav directory
>                              <Directory /var/www/clients/client1/web12/webdav>
>                                      <ifModule mod_security2.c>
>                                              SecRuleRemoveById 960015
>                                              SecRuleRemoveById 960032
>                                      </ifModule>
>                                      <FilesMatch "\.ph(p3?|tml)$">
>                                              SetHandler None
>                                      </FilesMatch>
>                              </Directory>
>                              DavLockDB /var/www/clients/client1/web12/tmp/DavLock
>                              # DO NOT REMOVE THE COMMENTS!
>                              # IF YOU REMOVE THEM, WEBDAV WILL NOT WORK ANYMORE!
>            # WEBDAV BEGIN
>                              # WEBDAV END
>                      </IfModule>
>
>
>
>      </VirtualHost>
>
> On tomcat's server.xml I have a host record as:
>
>      <Host name="www.dimitros-apartments.gr" appBase="/var/lib/tomcat8/webapps" >
>          <Alias>dimitros-apartments.gr</Alias>
>          <Context path=""
> docBase="/var/lib/tomcat8/webapps/dimitros-apartments.gr" />
>     </Host>
>
>
> Site is running here http://www.dimitros-apartments.gr
>
> I get a permission denied error where I access
> http://www.dimitros-apartments.gr.
>
> I use ispconfig and for each domain I must have it's directory where
> apache's domains directories resides, regardless if this domain is
> served from apache or in my case from tomcat. So for this domain I
> have a corresponding directory on both apache and tomcat. I also have
> an index.jsp on both tomcat domain root directory and apache's domain
> root directory.
>
> When I access http://www.dimitros-apartments.gr/index.jsp I get an
> uncompiled jsp page ( I see the source code ) on my browser.
> A strange think is that this uncompiled page, is not from tomcat's
> directory but from apache's domain directory.
>
> any help is appreciated.
>
> Thanks in advance,
> Christoforos
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org