das Script (tomcatwaechter.sh
) per cronjob alle 10 Minuten von 7-22 Uhr ausführen :
*/10 7-22 * * * /pfad/zu/tomcatwaechter.sh >/dev/null
wenn tomcat nicht mehr sauber antwortet dann neustart des Tomcat veranlassen:
#!/bin/sh wget -qO- http://meinTomcatServer:8080/anwendung/ >/dev/null f=$? if [ ! $f -eq 0 ]; then echo https://meinTomcatServer/ | mail -s Tomcatfehler admin@domain.de /etc/init.d/tomcat6 stop #/etc/init.d/mysql restart /etc/init.d/tomcat6 start # echo $f returnwert fi
in der Datei conf/server.xml folgender Parameter ergänzen:
<Connector port="8080" compression="on"
in Datei …tomcat/conf/web.xml
am Ende vor </web-app>
eintragen:
<filter> <filter-name>ExpiresFilter</filter-name> <filter-class>org.apache.catalina.filters.ExpiresFilter</filter-class> <init-param> <param-name>ExpiresByType image</param-name> <param-value>access plus 2 weeks</param-value> </init-param> <init-param> <param-name>ExpiresByType text/css</param-name> <param-value>access plus 2 weeks</param-value> </init-param> <init-param> <param-name>ExpiresByType text/html</param-name> <param-value>access plus 2 weeks</param-value> </init-param> <init-param> <param-name>ExpiresByType application/javascript</param-name> <param-value>access plus 2 weeks</param-value> </init-param> <init-param> <param-name>ExpiresByType text/javascript</param-name> <param-value>access plus 2 weeks</param-value> </init-param> </filter> <filter-mapping> <filter-name>ExpiresFilter</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> </filter-mapping>
dann tomcat neustart erforderlich
Eintrag in /etc/rc.local
(debian wheezy):
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
apache2 und apache2-mod_jk installieren
zypper in apache2 apache2-mod_jk
Rechner erstmal für SSL konfigurieren:
siehe apache ...
erst danach:
Konfigurationsverzeichnis erstellen:
mkdir /etc/apache2/mod_jk/
Konfigurationsdateien erstellen:
touch /etc/apache2/mod_jk/mod_jk.conf touch /etc/apache2/mod_jk/alfresco.properties
Konfigurationsdatei /etc/apache2/mod_jk/mod_jk.conf
bearbeiten:
JkLogFile /var/log/apache2/mod_jk.log JkShmFile /var/run/jk-runtime-status JkWorkersFile /etc/apache2/mod_jk/alfresco.properties JkLogLevel info
Konfigurationsdatei /etc/apache2/mod_jk/alfresco.properties
bearbeiten:
workers.tomcat_home=/usr/share/tomcat6 workers.java_home=$JAVA_HOME ps=/ worker.list=default worker.default.type=ajp13 worker.default.host=localhost worker.default.port=8009 worker.default.lbfactor=1
Konfigurationsdatei /etc/apache2/httpd.conf
bearbeiten:
... ServerName alfrescoSrv Include /etc/apache2/mod_jk/mod_jk.conf
Konfigurationsdatei /etc/apache2/vhosts.d/alfrescosrv.conf
bearbeiten:
<VirtualHost alfrescosrv:443> ServerAdmin admin@my.dom.ain ServerName alfrescoserver.my.dom.ain ServerAlias alfrescoserver HostNameLookups Off UseCanonicalName Off Header always set Strict-Transport-Security "max-age=31536000,includeSub JkMount /alfresco/* default JkMount /* default ...
anschließend apache2 neustarten und testen.
z.B. /var/log/tomcat8/
Datei conf/server.xml editieren:
<Host name="localhost" appBase="webapps" ... <Context path="/" allowLinking="true"/> ... #dann
Datei conf/web.xml editieren:
... <init-param> <param-name>listings</param-name> <param-value>true</param-value> </init-param> ... #dann mkdir webapps/logs chown tomcat8 webapps/logs mount --bind /var/log/tomcat8/ webapps/logs/ mount -o bind,remount,ro webapps/logs/ /etc/init.d/tomcat8 restart
danach sollten die Logdateien üner http://meinServer:8080/logs/ sichtbar sein.
Beispiel allegro:
Datei editieren: '/etc/tomcat8/tomcat-users.xml'
<role rolename="manager-gui"/> <role rolename="manager-status"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <user username="admin" password="geheim" roles="manager-gui,manager-status,manager-script,manager-jmx"/> ...
dann tomcat neustarten und anmelden mit admin/geheim
http://myserver:8080/manager/
http://myserver:8080/manager/html/
oder:
http://myserver:8080/manager/text/reload?path=/allegro
oder:
http://myserver:8080/manager/text/stop?path=/allegro
http://myserver:8080/manager/text/start?path=/allegro
http://myserver:8080/manager/text/sessions?path=/allegro
http://myserver:8080/manager/text/vminfo
http://myserver:8080/manager/status?XML=true
/usr/share/tomcat/webapps/share/getip.jsp
<%@ page import="java.net.*" %> <% String addr = "error"; try { InetAddress inetAddress = InetAddress.getLocalHost(); addr = request.getRemoteAddr(); } catch (UnknownHostException e) { e.printStackTrace(); } %> <h2> Ermittlung der Client-IP-Adresse:<br><hr><br> Client-IP: <%=addr %> </h2>
(Dateieigentümer noch auf tomcat ändern.)
dann https://mytomcat/share/getip.jsp
siehe auch Track Plus