Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Apache und Tomcat auf selbem Port

Mitglied: Tiggalot

Tiggalot (Level 1) - Jetzt verbinden

09.08.2011, aktualisiert 10.08.2011, 5674 Aufrufe, 12 Kommentare

Hallo,

Ich würde gerne wissen ob es möglich ist einen Apache2 und einen Tomcat6 Server auf dem selben Server mit zwei NICs, und damit zwei IPs, auf dem selben Port zu betreiben.

Wie das nunmal so läuft habe ich einen Debian Server für zwei verschiedene Anwendungen. Zum einen hätten wir da eine eLearning Plattform, die sich mit einem klassischen LAMP begnügt, und dann hätten wir ein XWiki, das auf Java basiert und daher einen Tomcat braucht. Aufgrund programmiertechnischer Gegebenheiten funktioniert das XWiki wohl nicht 100%ig, wenn es durch mod_jk hinter dem Apache steckt...

Mein Server hat zwei IPs über zwei Netzwerkkarten, eth0 172.16.0.142 und eth1 172.16.0.144.

Zunächst habe ich den Tomcat Server installiert und dazu gebracht das er auf Port 80 läuft und nur auf eth0 anspricht.
Per apt-get wurden tomcat6 und tomcat6-admin installiert

/etc/default/tomcat6
01.
...
02.
TOMCAT6_SECURITY=no
03.
....
04.
AUTHBIND=yes
05.
...
/etc/tomcat6/server.xml
01.
...
02.
 <Connector port="80" protocol="HTTP/1.1"
03.
               address="172.16.0.142"
04.
               connectionTimeout="20000"
05.
               URIEncoding="UTF-8"
06.
               redirectPort="8443" />
07.
...
Nachdem ich den Tomcat gestartet habe konnte ich erfolgreich die Default Seite des Tomcat im Browser sehen.

Im nächsten Schritt habe ich den Apache installiert und versucht ihm zu sagen das er nur auf eth1 Port hören soll.
/etc/apache2/ports.conf
01.
...
02.
Listen 172.16.0.144:80
03.
...
Der Virtuelle Host den ich fürs eLearning angelegt habe soll auch nur auf eth1 reagieren
/etc/apache2/sites-enabled/learning
01.
<VirtualHost 172.16.0.144:80>
02.
...
Wenn ich nun versuche den Apache zu starten bekomme ich einen Fehler, das der Port schon in Verwendung wäre. Wenn ich den Tomcat schließe kann ich den Apache starten. Danach den Tomcat wieder starten klappt allerdings nicht wirklich. In der Log Datei steht dann letztendlich ebenfalls das der Port nicht verfügbar ist.

Gibt es noch etwas das ich übersehen habe, oder ist es wirklich nicht Möglich den Tomcat und den Apache gleichzeitig auf Port 80 auf verschiedene IPs zu binden? Momentan habe ich den Tomcat auf Port 8080 umgestellt, und könnte das notfalls auch weiter so laufen lassen, aber leider hat der Nutzerkreis der auf das XWiki zugreift nur einen geringen IT-Wissensstand und ich habe keine Lust alle zwei Tage angerufen zu werden, weil etwas angeblich nicht funktioniert und in Wirklichkeit nur das :8080 vergessen wurde.

LG
Mitglied: 16568
09.08.2011 um 14:53 Uhr
Doch, dat geht...

Leider ist meine Glaskugel etwas trübe...


Lonesome Walker
Bitte warten ..
Mitglied: Tiggalot
09.08.2011 um 17:00 Uhr
Essig soll bei trübem Glas helfen ;)

Wäre dir sehr dankbar, wenn du da nochmal bissl nachschauen könntest.

Lg
Tigga
Bitte warten ..
Mitglied: 16568
09.08.2011 um 17:34 Uhr
Tja, leider ist die Glaskugel auch mit Essig sehr trübe...

Denk doch mal nach...
Was wird hier wohl fehlen...?


Lonesome Walker
Bitte warten ..
Mitglied: dog
09.08.2011 um 17:57 Uhr
Wenn schon nicht mod_jk, dann mod_proxy aber doch keinen Tomcat auf Port 80...
Bitte warten ..
Mitglied: Tiggalot
10.08.2011 um 09:00 Uhr
Vermutlich fehlt ein zweiter Server der das macht...
Sorry, wenn ich in den letzten 1,5 Tagen in denen ich mich damit befasst habe auf eine Lösung gestossen wäre die funktioniert, dann hätte ich hier keine Frage gestellt.
Habe bisher nur einfache LAMPs mit 2-3 virtuellen Hosts aufgesetzt, und von Tomcat habe ich nicht wirklich Ahnung.

Lg
Tigga
Bitte warten ..
Mitglied: 16568
10.08.2011 um 11:45 Uhr
Okay, dann zieh ich Dir halt mal den Wurm aus der Nase:

WELCHE VERSION von Debian?
Aktuell gepatcht?
Wie war Dein Installationsvorgehen?
(apt-get oder aptitude? Welche Pakete genau?)
Wie is der Inhalt Deiner Configs?

Man kann nur helfen, wenn man auch was preis gibt...

mod_jk ist bekannt dafür, nicht in jeder Konstellation zu laufen, aber bisher hatte ich nur wenig Probleme damit.
Wenn man dann noch die Chance hat, dafür sogar eine eigene IP zu kriegen, dann sehe ich da ohnehin keine Probleme...


Lonesome Walker
Bitte warten ..
Mitglied: Tiggalot
10.08.2011 um 16:45 Uhr
Die Installation habe ich gemäß einer Anleitung gemacht die ich bekommen habe. Mir wurde gesagt das wir wenn irgendmöglich mod_jk vermeiden sollen, weil es die Performance des auf XWiki basierenden Systems negativ beeinflusst.

Debian Wheezy DVD Installation gestartet. Experten Installation, da sonst Grub nicht mit dem SAS Controler klar kommt.
Reine Basisinstallation und dabei bereits einen schweizer Mirror als apt-Repository reingenommen. Root Zugriff per SSH gesperrt, lokalen Nutzer mit sudo Rechten ausgestattet.

Als allererstes danach habe ich die beiden Netzwerkkarten dazu gebracht beim Systemstart beide zu starten und sich vom DHCP eine Adresse zu beziehen. Also folgendes in der /etc/network/interfaces eingetragen
01.
# The loopback network interface
02.
auto lo
03.
iface lo inet loopback
04.

05.
# The primary network interface
06.
allow-hotplug eth0
07.
allow-hotplug eth1
Danach mittels apt-get openssh-server installiert und fortan alles remote per SSH gemacht.

Per apt-get install zunächst den Tomcat und ein Java JDK installiert
01.
apt-get install tomcat6 tomcat6-admin sun-java6-jdk
Dann die /etc/default/tomcat6 mit vi bearbeitet, um das Java Verzeichnis anzupassen, Tomcat Security auf off zu setzen und Tomcat mittels AUTHBIND zu ermöglichen auf einem der well known Ports zu agieren
01.
TOMCAT6_USER=tomcat6
02.
#<!-- EDITED HERE
03.
JAVA_HOME=/usr/lib/jvm/java-6-sun
04.
#<!-- EDITED -->
05.
JAVA_OPTS="-Djava.awt.headless=true -Xmx128m -XX:+UseConcMarkSweepGC"
06.
#<!-- EDITED HERE
07.
TOMCAT6_SECURITY=no
08.
#<!-- EDITED -->
09.
#<!-- EDITED HERE
10.
AUTHBIND=yes
#<!-- EDITED -->
Danach in der /etc/tomcat6/server.xml meinen Connector auf Port 80 an die 1. IP gebunden
01.
<?xml version='1.0' encoding='utf-8'?>
02.
<!-- EDITED HERE -->
03.
<Server port="9005" shutdown="SHUTDOWN">
04.
<!-- EDITED -->
05.

06.
  <Listener className="org.apache.catalina.core.JasperListener" />
07.
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
08.
  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
09.
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
10.

11.
  <GlobalNamingResources>
12.
    <Resource name="UserDatabase" auth="Container"
13.
              type="org.apache.catalina.UserDatabase"
14.
              description="User database that can be updated and saved"
15.
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
16.
              pathname="conf/tomcat-users.xml" />
17.
  </GlobalNamingResources>
18.

19.
  <Service name="Catalina">
20.

21.
<!-- EDITED HERE -->
22.
    <Connector port="80" protocol="HTTP/1.1"
23.
               address="192.168.0.142"
24.
               connectionTimeout="20000"
25.
               URIEncoding="UTF-8"
26.
               redirectPort="8443" />
27.
<!-- EDITED -->
28.

29.
    <Engine name="Catalina" defaultHost="localhost">
30.

31.
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
32.
             resourceName="UserDatabase"/>
33.

34.
      <Host name="localhost"  appBase="webapps"
35.
            unpackWARs="true" autoDeploy="true"
36.
            xmlValidation="false" xmlNamespaceAware="false">
37.
      </Host>
38.
    </Engine>
39.
  </Service>
40.
</Server>
Die /etc/tomcat6/tomcat-users.xml bearbeitet
01.
<?xml version='1.0' encoding='utf-8'?>
02.
<tomcat-users>
03.
  <role rolename="tomcat"/>
04.
  <role rolename="manager"/>
05.
  <role rolename="admin"/>
06.
  <user username="tomcat" password="*****" roles="tomcat,admin,manager"/>
07.
</tomcat-users>
An diesem Punkt habe ich den Tomcat mit /etc/init.d/tomcat6 restart die Konfiguration übernehmen lassen und konnte auch über Port 80 auf die Default index.htm von Tomcat per Browser zugreifen

Als nächstes habe ich den Apache installiert
01.
apt-get install apache2
In der /etc/apache2/ports.conf habe ich den Apache auf die 2. IP gebunden
01.
<!-- EDITED HERE -->
02.
Listen 192.168.0.144:80
03.
<!-- EDITED -->
04.

05.
<IfModule mod_ssl.c>
06.
    Listen 443
07.
</IfModule>
08.

09.
<IfModule mod_gnutls.c>
10.
    Listen 443
11.
</IfModule>
Habe den default Eintrag aus /etc/apache2/sites-enabled gelöscht und mir aus dessen Konfiguration einen eigenen erstellt
/etc/apache2/sites-available/custom
01.
#<!-- EDITED HERE -->
02.
<VirtualHost 192.168.0.144:80>
03.
        ServerAdmin admin@server.com
04.
        ServerName server2.server.com
05.
        DocumentRoot /var/www/learning
06.
        <Directory />
07.
                Options FollowSymLinks
08.
                AllowOverride None
09.
        </Directory>
10.
        <Directory /var/www/learning/>
11.
                Options Indexes FollowSymLinks MultiViews
12.
                AllowOverride None
13.
                Order allow,deny
14.
                allow from all
15.
        </Directory>
16.
#<!-- EDITED -->
17.
        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
18.
        <Directory "/usr/lib/cgi-bin">
19.
                AllowOverride None
20.
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
21.
                Order allow,deny
22.
                Allow from all
23.
        </Directory>
24.

25.
        ErrorLog ${APACHE_LOG_DIR}/error.log
26.

27.
        LogLevel warn
28.

29.
        CustomLog ${APACHE_LOG_DIR}/access.log combined
30.

31.
</VirtualHost>
Dann einen Symlink in sites-enabled dazu erstellt.

Wenn ich nun versucht habe mit /etc/init.d/apache2 start den Apache zu starten bekam ich eine Fehlermeldung bekommen in der Sinngemäß stand das der Port schon in Verwendung ist.
Wenn ich den Tomcat gestoppt habe konnte ich den Apache starten, aber bekam danach beim Versuch den Tomcat zu starten eine Fehlermeldung...
Bitte warten ..
Mitglied: Tiggalot
10.08.2011 um 16:52 Uhr
Nachdem ich die Dokumentation zu mod_proxy überflogen (heute ist einer der Tage an denen man irgendwie zu gernichts kommt) habe weiß ich nicht ob das funktionieren wird.

Unser XWiki arbeitet mit verschiedenen Mandanten, die mit einer URL angesprochen werden müssen, und ich konnte jetzt auf die schnelle nichts finden um das zu gewährleisten. Aber wie gesagt, ich habe die Doku noch nicht wirklich verinnerlicht
Bitte warten ..
Mitglied: 16568
10.08.2011 um 18:16 Uhr
Aaalso:

1. Wheezy -> testing -> NEVER EVER PRODUKTIV.

2. sun-java6-jre <- is das auch installiert???

3. editiere mal Deine sites-available/custom auf den Anfang hier:
01.
NameVirtualHost 192.168.0.144:80
02.
<VirtualHost 192.168.0.144:80>
4. in der ports.conf hast Du ja:
01.
<IfModule mod_ssl.c> 
02.
    Listen 443 
03.
</IfModule> 
04.
<IfModule mod_gnutls.c> 
05.
    Listen 443 
06.
</IfModule>
Da sollte man dann auch ma die IP dazukleben...

Und dann mal den Tomcatz abwürgen, Apache abwürgen, Tomcat starten, Apachen starten.

Was kommt nu?


Lonesome Walker
(Debian Consultant, der gerade mal eine VM aufsetzt, um das mit Wheezy nachzuvollziehen... :-P )
Was soll ich sagen... geht.
Bitte warten ..
Mitglied: Tiggalot
11.08.2011 um 10:10 Uhr
Bei mir hat das so direkt leider nicht funktioniert. Der Apache lief ohne Probleme an, aber der Tomcat hat zwar beim Start nichts direkt gesagt, aber erreichbar war er trotzdem nicht.

Hatte dann nochmal einen Blick in die catalina.out geworfen und dort stand dann
01.
java.net.SocketException: No such file or directory
Dies, und das Schlagwort Tomcat6, bei google eingegeben hat mich dazu geführt das ich beim authbind noch etwas anpassen musste.

Also mit vi die /etc/authbind/byuid/107 geöffnet und wie folgt geändert
01.
#0.0.0.0/0:1,1023
02.
192.168.0.142/24:1,1023
Dann den Tomcat nochmal durchstarten lassen und jetzt funktioniert es... Irgendwie... Ich weiß nicht ob die miese Performance die ich da gerade rausbekomme am Server liegt, oder ob unsere IT-Abteilung mal wieder am Netz herumbastelt (machen die immer genau dann gerne wenn man es gerad nicht brauchen kann)...

Ich werde das jetzt mal übers Wochenende so laufen lassen. Sollte sich das von der Performance her nicht einpendeln werde ich es wieder zurückstellen.

Auf jeden Fall schonmal vielen herzlichen Dank für die Hilfe
Lg
Tigga
Bitte warten ..
Mitglied: 16568
11.08.2011 um 16:27 Uhr
Zum Thema Performance:

sehr viele berichten davon, seit sie den Tomcat auf einen anderen Port gebogen hätten, wären da Probleme.
Keine Ahnung, ob da was dran ist, aber ich war eh nie ein Fan von Tomcat...


Lonesome Walker
Bitte warten ..
Mitglied: Tiggalot
12.08.2011 um 07:51 Uhr
Mitlerweile hat es sich scheinbar eingependelt. Von der Performance kann ich subjektiv keinen Unterschied mehr zu vorher feststellen.
Entweder mußte sich der Server erst an die neue Situation gewöhnen, oder die IT hat wirklich wieder am Netz gebastelt.

Lg
Tigga
Bitte warten ..
Ähnliche Inhalte
Verschlüsselung & Zertifikate
Tomcat Server Verschlüsselung
gelöst Frage von NISS60Verschlüsselung & Zertifikate2 Kommentare

Damit der Tomcat Server seine WebApps verschlüsselt bereit stellen kann muss die Config angepasst werden. Für die Bereitstellung und ...

Webentwicklung
X-Frame-Options in Tomcat ausschalten
Frage von fishfaceeddyWebentwicklung3 Kommentare

Hallo zusammen Bei einer Tomcat-Installation haben wir neu den HeaderSecurityFilter eingesetzt. Damit kommt nun die X-Frame-Options mit deny automatisch ...

Java

Berechtigungen Tomcat-Java über Windows Dienste

Frage von Ballos2kJava

Hallo, ich habe ein Problem, wo ich einfach nicht weiter komme. Ich habe einen Apache Tomcat Server, der über ...

Java

Apache Tomcat Alias für Applicationen (ohne Restart

Frage von puseidrJava

hallo zusammen, Kurze Einleitung zu meinem Problem: Zur Zeit mache ich ein Praktikum in einer IT-Firma die ein Teil-Produkt ...

Neue Wissensbeiträge
Humor (lol)
Und wie seid Ihr gegen Cyberattacken gewappnet?
Information von DerWoWusste vor 14 StundenHumor (lol)4 Kommentare

aber wo ist der Hammer? :-)

Sicherheit
Ein weiterer Microsoft-Stirnklatscher
Information von DerWoWusste vor 1 TagSicherheit7 Kommentare

Habe gerade einen Artikel zu einem Sicherheitsproblem gefunden, welches mir zu seiner Zeit (gepatcht 2015) wohl durchgerutscht ist. Es ...

Windows 10
Upgradepfade Windows 10 LTSC
Erfahrungsbericht von Datenreise vor 1 TagWindows 10

Nur eine kurze Info, für diejenigen, die es interessiert, da es hierzu im Netz aus nachvollziehbaren Gründen nicht allzu ...

Administrator.de Feedback
Wartungsarbeiten heute Nacht (Update)
Information von Frank vor 1 TagAdministrator.de Feedback10 Kommentare

Hallo User, durch Umbauarbeiten in unserem Rechenzentrum (am Backbone) kann es heute Nacht (14-15.01.2019) zu kurzen Ausfällen unserer Seite ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 - kein Boot mehr nach Domänenaustritt
gelöst Frage von Ghost108Windows 1025 Kommentare

Hallo zusammen, habe hier eine Windows 10 Maschine, die ich gerne aus der Domäne austreten lassen möchte. Nach Austritt ...

Windows 10
Windows 10 1803 - nicht identifiziertes Netzwerk - kein Login an Domäne möglich
Frage von Tomy389Windows 1021 Kommentare

Hallo Zusammen, ich hoffe zu dem Thema gibt es nicht schon einen Thread aber ich sollte eigentlich schon alles ...

Exchange Server
Microsoft Exchange Ser ver 2016 CU 8 auf den neuesten Stand bringen
gelöst Frage von Hendrik2586Exchange Server20 Kommentare

Hallo an euch alle. :) Kurze Frage. Ich habe hier einen Exchange Server wie o.g. Problem ist das wir ...

Microsoft
SFirm 4.0 auf Terminalserver startet für jeden angemeldeten Benutzer diverse Dienste
Frage von Frank84Microsoft17 Kommentare

Hallo zusammen, wir verwenden Sfirm 4.0 auf einem Terminalserver (der SQL Server ist auf einem separaten Server), das Problem ...