
Ich habe Apache 2.4 auf Debian Jessie und hoste mehrere Sites als virtuelle Hosts. Eine dieser Sites läuft auf JSP, daher habe ich Tomcat 8 installiert und verwende mod_jk.
Meine virtuelle Host-Konfigurationsdatei für Apache lautet:
<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 [email protected]
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>
In der Datei server.xml von Tomcat habe ich einen Host-Eintrag als:
<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" />
Die Seite läuft hierhttp://www.dimitros-apartments.gr
Ich erhalte die Fehlermeldung „Berechtigung verweigert“ beim Zugriff aufhttp://www.dimitros-apartments.gr.
Ich verwende ispconfig und muss für jede Domäne ein Verzeichnis haben, in dem sich die Domänenverzeichnisse von Apache befinden, unabhängig davon, ob diese Domäne von Apache oder in meinem Fall von Tomcat bedient wird. Für diese Domäne habe ich also ein entsprechendes Verzeichnis sowohl auf Apache als auch auf Tomcat. Ich habe auch eine index.jsp sowohl im Domänenstammverzeichnis von Tomcat als auch im Domänenstammverzeichnis von Apache.
Wenn ich zugreifehttp://www.dimitros-apartments.gr/index.jspIch bekomme eine nicht kompilierte JSP-Seite in meinem Browser (ich sehe den Quellcode). Merkwürdig ist, dass diese nicht kompilierte Seite nicht aus dem Tomcat-Verzeichnis, sondern aus dem Domänenverzeichnis von Apache stammt.
jede Hilfe ist willkommen.
Vielen Dank im Voraus, Christoforos
Antwort1
Es scheint, als hätte ich in einer alten Dokumentation nachgesehen. Für alle dürfte das gleiche Problem vorliegen, die Zeilen
JkMount /dimitros-apartments.gr/* ajp13_worker
JkMount /dimitros-apartments.gr ajp13_worker
muss sich ändern zu
JkMount /* ajp13_worker