Apache will online nich erreichbar sein
joe
- webserver
Hallo Leute,
ich habe mir FoxServ runtergeladen und installiert. Das besteht aus Apache, PHP, mySQL, etc... es scheint alles wunderbar zu funktionieren, allerdings nur solange ich die page über http://localhost/ aufrufe. Wenn ich sie online aufrufen will, über meine online-IP, sucht er nur einige Sekunden und zeigt letztendlich "Seite wurde nicht gefunden" an.
Woran kann das liegen? Wie was muss ich an der httpd.conf ändern?
joe
PS: Meine httpd.conf könnt ihr über meine URL oben runterladen.
Hi,
also IMHO unterstützt T-Online in der kostenlosen HP-Version (die du offensichtlich nutzt) weder Perl noch PHP oder MySQL. Ergo dürften deine PHP und/oder Perl-Scripte schlicht deshalb nicht funktionieren, weil der Server die entsprechende Unterstützung nicht anbietet.
Andererseits musst du die Seite natürlich erst hochladen, bevor du sie dir Online ansehen kannst, denn nur auf Grund der IP, mit der du unterwegs bist, ist dein "localhost" kein Webserver und wird sich deshalb auch nicht so verhalten.
mfg Siechfred
So war das nich gemeint...
ich hab einmal den kostenlosen T-online-Server, und jetzt hab ich mir selber einen auf meinen PC installiert (Apache). Und diesen 2. auf meiner Pladde kann man online nicht erreichen. Auf diesem Server funktionieren auch PHP, etc.
joe
Hmm,
ich glaube ich hatte dich wohl doch richtig verstanden ;-)
Aber zur Sicherheit noch mal die Frage:
Du hast ein z.B. ein Gästebuch mit PHP oder Perl gebaut, das liegt jetzt auf deinem PC zu Hause und soll Online nach dem Schema Link auf http://DeineIP/DeinVerzeichnis/cgi-bin/guestbook.pl aufgerufen werden können?
mfg SF
Hoi,
ja, ich will meine Page auf meinem lokalen Webserver online präsentieren.
Ich hab das mit dem Auskommentieren versucht und das mit DynDNS war schon vorher meine Idee, aber es will net funktionieren.
Was meiner Meinung nach das Problem noch sein kann, ist mein Router, allerdings meine ich, ihn richtig eingestellt zu haben (Port 80 auf meinen PC geroutet).
joe
Hi,
kommst Du denn über andere Ports (z.B. ssh) von aussen auf Deinen Rechner? Wenn nicht, könnte es wirklich an dem Router liegen. Klappt bei mir (QSC) auch nicht.
viele Grüße
frank
Tach,
also ich hab es hinbekommen einen BattleCom-Server, BattleCom ist ein Sprachchat mit Server-Clients-Verbindung, hinter meinem router zum laufen zu bekommen. Dieser verwendet einige Ports und ist deswegen, glaube ich, sogar schwieriger zu konfigurieren. Allerdings mein bescheidener Webserver mit dem Port 80 (oder brauche ich doch mehrere Ports?) will net laufen :]
joe
Hast du ev. eine Software-Firewall am laufen?
Gruss Michael
Moin,
Das ganze hat sich erledigt :D
Weiss grad nich wer, aber irgend jemand hier hatte recht: ich kann die Page nich von der eigenen Leitung aufrufen (von meinem INet-Anschluss). Andere können locker drauf zugreifen. Wundert mich aber, weil ich mich erinnern kann, dass das mal ging... vll war das noch ohne router oda so.
Danke für die ganzen Bemühungen : ]
joe
Hi Siechfried,
also IMHO unterstützt T-Online in der kostenlosen HP-Version (die du offensichtlich nutzt) weder Perl noch PHP oder MySQL. Ergo dürften deine PHP und/oder Perl-Scripte schlicht deshalb nicht funktionieren, weil der Server die entsprechende Unterstützung nicht anbietet.
Andererseits musst du die Seite natürlich erst hochladen, bevor du sie dir Online ansehen kannst, denn nur auf Grund der IP, mit der du unterwegs bist, ist dein "localhost" kein Webserver und wird sich deshalb auch nicht so verhalten.
Ich glaube, du hast seine Frage nicht verstanden. Er möchte seinen Lokalen Webserver über's Netz verfügbar machen, das hat _überhaupt nichts_ mit T-Online zu tun, ausser, dass er dort wohl Kunde ist. Er hat lediglich seine httd.conf dort hochgeladen, damit _wir_ sie uns anschauen können, um ihm zu sagen, was da geändert werden muss.
An Joe: du musst das Argument
ServerName localhost:80
in der httpd.conf mit "#" kommentieren, denn dann sucht der Apache sich seinen ServerNamen selber, also die online-IP. Alternativ kannst du dir eine Subdoamin bei http://dyndns.org/ holen und die dann als ServerName eintragen. Dazu lies aber bei DynDNS nach, was sonst notwendig ist.
Fabian
hallo joe,
ich habe mir FoxServ runtergeladen und installiert
Dazu suchst du bitte mal im Archiv nach dem Stichwort "Foxserv" bzw. nach dem Stichwort "bundle". Ich wiederhole mich gern: es ist _absolut_ davon abzuraten, sich solche bundle-Lösungen zu installieren, wenn man noch nicht viel von den einzelnen Komponenten weiß. Hole dir die Softwarepakete einzeln für deine Komponeten - Apache, mySQL, PHP - und installiere sie getrennt. Bei den Originalquellen bekommst du auch jeweils die aktuellen Pakete.
es scheint alles wunderbar zu funktionieren, allerdings nur solange ich die page über http://localhost/ aufrufe.
Eben. Und sobald du an irgendeiner Konfiguration (httpd.conf, php.ini ...) etwas selber einstellst, deine persönlichen Verzeichnisse änderst oder so etwas, ist alles kaputt.
Andrerseits: der Apache, den du dir installiert hast, kann ja gar keine feste, also "von außen" erreichbare IP haben. Du hast ja auch keine. Die IP, die dir dein Provider zuweist, gilt für deine Verbindung bzw. für dein "Netzwerkgerät" (Modem, DSL-Karte o.ä.), aber nicht für deinen lokalen Apache. Der hört, sofern du nichts anderes einstellst, nur auf die loopback-Adresse 127.0.0.1, die du als "localhost" kennst. Willst du ihn auch "von außen" erreichen, was du ja offenbar vorhast, gibt es zwar den Weg über dyndns.org, auf den manche Leute schwören - ich halte absolut nichts davon. Du kannst es aber probieren, wenn du möchtest. Und um zu prüfen, ob das geklappt hat, mußt du natürlich von einem anderen Rechner, der keine Netzwerkverbindung zu deinem Rechner hat, mal auf deinen Apache zuzugreifen versuchen.
was muss ich an der httpd.conf ändern?
Wahrscheinlich gar nichts. Du kannst höchstens versuchen, einen Servernamen vorzugeben oder deinem Apache sagen, daß er eine bestimmte IP berücksichtigen soll.
Du hast, wie deinem posting zu entnehmen ist, eine Anmeldung bei t-online. Das bedeutet, daß du immer dann, wenn du deinen Rechner online schaltest, von t-online eine IP zugewiesen bekommst, in der Regel ist das eine 217.x.x.x. Welche IP du zugewiesen bekommen hast, findest du heraus, indem du
ipconfig -all
auf der Konsole eingibst.
Es ist ziemlich gefährlich, einen Server aufzusetzen und sonst nichts weiter zu tun. Wenn du keinerlei Sicherheitseinstellungen (Firewall, gesperrte ports usw.) vornimmst, steht dein Rechner "offen wie ein Scheunentor" im Internet und kann von jedem Scriptkiddie dazu benutzt werden, beispielsweise Spam zu verschicken. Du kannst es mal ausprobieren:
Schreib dir deine zugewiesene IP auf, geh ins nächste Internetcafe und rufe dort von einem beliebigen Rechner aus in der "Netzwerkumgebung" deine IP auf. Du bekommst die Startseite deines Apache zu sehen, und falls du irgendwelche Freigaben hast, kannst du nach Herzenslust auf deinem Rechner herumarbeiten, sogar die Platte formatieren. Du brauchst also den Umweg über dyndns.org eigentlich gar nicht ... Aber natürlich könnte ich dasselbe machen, sobald ich weiß, wie dein Rechner heißt oder welche aktuelle IP du hast.
Also laß solche Versuche, deinen Apache "ins Netz" zu stellen, besser erstmal sein. Arbeite erstmal ein bißchen mit ihm, um ihn kennenzulernen, der Rest ergibt sich dann nach einer Weile. In der Regel gibt es auch gar keinen Grund, den eigenen Rechner über einen Webserver online zu stellen.
Grüße aus Berlin
Christoph S.
Hallo Christian,
Andrerseits: der Apache, den du dir installiert hast, kann ja gar keine feste, also "von außen" erreichbare IP haben. Du hast ja auch keine. Die IP, die dir dein Provider zuweist, gilt für deine Verbindung bzw. für dein "Netzwerkgerät" (Modem, DSL-Karte o.ä.), aber nicht für deinen lokalen Apache. Der hört, sofern du nichts anderes einstellst, nur auf die loopback-Adresse 127.0.0.1, die du als "localhost" kennst. Willst du ihn auch "von außen" erreichen, was du ja offenbar vorhast, gibt es zwar den Weg über dyndns.org, auf den manche Leute schwören - ich halte absolut nichts davon. Du kannst es aber probieren, wenn du möchtest. Und um zu prüfen, ob das geklappt hat, mußt du natürlich von einem anderen Rechner, der keine Netzwerkverbindung zu deinem Rechner hat, mal auf deinen Apache zuzugreifen versuchen.
Genau das wollte ich sagen ([pref:t=41806&m=228772]), konnte es aber nicht so gut ausdrücken.
mfg Siechfred
Moin!
Es ist ziemlich gefährlich, einen Server aufzusetzen und sonst nichts weiter zu tun. Wenn du keinerlei Sicherheitseinstellungen (Firewall, gesperrte ports usw.) vornimmst, steht dein Rechner "offen wie ein Scheunentor" im Internet und kann von jedem Scriptkiddie dazu benutzt werden, beispielsweise Spam zu verschicken.
Da erzählst du leider teilweise Unsinn.
Wenn man sich einen HTTP-Server installiert, wird genau ein Port geöffnet: Nr. 80. Über diesen Port kann man alles tun, was die Serversoftware erlaubt - inklusive dem, was die Sicherheitslücken der Software und des Betriebssystems erlauben. Es ist hier allerdings für Anfänger und auch Profis unmöglich, mehr zu tun als sich jeweils díe neueste, hoffentlich fehlerfreie Version zu installieren und eben darauf zu vertrauen, dass keine Lücken übersehen wurden.
Ein Server selbst benötigt keine Firewall, auch keine gesperrten Ports. Und Spam kann man auch nur dann versenden, wenn ein Mailserver installiert ist, und dieser aufgrund seiner Konfiguration Relaying erlaubt (also Mail annimmt für Mailboxen, für die er selbst nicht zuständig ist, um sie weiterzuleiten).
Ein weiterer installierter Server kann MySQL sein. MySQL bietet die Möglichkeit, ebenfalls über TCP/IP VErbindungen anzunehmen. Auf diese Weise kann man einen zentralen Datenbankserver von verschiedenen Webservern aus abfragen. Hier gilt bezüglich Sicherheit das bei HTTP gesagte: Neueste Version draufhaben. Außerdem wird die Sicherheit natürlich erhöht, indem MySQL so konfiguriert wird, dass nach außen kein Port offen ist, sondern die Zugriffe nur von intern zugelassen werden.
Schreib dir deine zugewiesene IP auf, geh ins nächste Internetcafe und rufe dort von einem beliebigen Rechner aus in der "Netzwerkumgebung" deine IP auf. Du bekommst die Startseite deines Apache zu sehen, und falls du irgendwelche Freigaben hast, kannst du nach Herzenslust auf deinem Rechner herumarbeiten, sogar die Platte formatieren.
Die Problematik, dass eigentlich fast jeder Rechner, der Netzwerkfreigaben hat und direkt ins Internet geht, diese Freigaben auch dem Internet zugänglich macht, ist eine ganz andere und hat mit dem Installieren von weiteren Servern nichts zu tun. Das ist primär ein Problem von Windows, und man kann es durch geeignete Konfiguration (oder zumindest durch die Verwendung von Passwörtern) verhindern, dass von außen zugegriffen wird.
Und man kann auch durch den Apache via HTTP die Festplatte nicht formatieren. Und ebenfalls nicht durch die Netzwerkumgebung. Da kann man freigegebene Dateien höchstens löschen, wenn man Schreibzugriff hat.
Mit anderen Worten: Du verbreitest unverantwortlich Panik durch Halbwahrheiten und Falschinformationen.
Also laß solche Versuche, deinen Apache "ins Netz" zu stellen, besser erstmal sein. Arbeite erstmal ein bißchen mit ihm, um ihn kennenzulernen, der Rest ergibt sich dann nach einer Weile. In der Regel gibt es auch gar keinen Grund, den eigenen Rechner über einen Webserver online zu stellen.
Versuch macht kluch. Und es hilft nicht wirklich, Anfänger immer davor zu warnen, es besser sein zu lassen, sondern sie müssen vollständig informiert werden, was sie tun und lassen sollten, um das umzusetzen, was sie wollen.
- Sven Rautenberg
Aha...du hast also einen Router..
welchen denn??
Du musst
1. Port 80 forwarden
2. In der Firewall Port 80 freigeben
Dir ist klar, das du aus deinem eigenen netz hinter dem Router nicht über die t-online IP auf den Apachen zugreifen kannst?? Musst dafür schon zum Nachbarn gehen.
Hi Sven,
Dir ist klar, das du aus deinem eigenen netz hinter dem Router nicht über die t-online IP auf den Apachen zugreifen kannst?? Musst dafür schon zum Nachbarn gehen.
Wie bitte? Das wäre mir neu. Wenn ich einen Router benutze kann ich doch über einen pseudo-Loopback lokal auf meine eigene IP zugreifen! Hab's grade ausprobiert, astrein...
Fabian
Hallo Fabian
Habe mich vielleicht schlecht ausgedrückt.
Natürlich kann ich per Loopback zugreifen, aber nicht mit meiner IP die T-Online mir gibt.
z.B. 192.168.0.1 geht, aber 80.145.23.21 nicht. Verstehst du was ich meine? deshalb ist es so schwer zu testen ob es klappt. Findest du z.B. auch be fli4l.de in den FAQs warum es nicht klappt.
Sven
Hallo Sven,
Habe mich vielleicht schlecht ausgedrückt.
Nein, du hast schlicht etwas falsches erzählt.
Natürlich kann ich per Loopback zugreifen, aber nicht mit meiner IP die T-Online mir gibt.
Dann hast du bei deiner Router-Konfiguration etwas falsch gemacht, das geht bei mir wunderbar. Ich kann auf die Adresse "nebenan" zugreifen, also kann ich auch auf meine eigene zugreifen, was soll das also?
Natürlich _kannst_ du das "verbieten", aber was sollte das?
z.B. 192.168.0.1 geht, aber 80.145.23.21 nicht. Verstehst du was ich meine? deshalb ist es so schwer zu testen ob es klappt. Findest du z.B. auch be fli4l.de in den FAQs warum es nicht klappt.
Das ist völliger Unsinn, hier bei mir klappt es doch. Allerdings ohne fli4l, ich weiß nicht wozu ich das bräuchte...
Ich kann ja auch ein Script bauen, das sich über die angegebene IP selbst aufruft, das dürfte nach deiner Theorie aber nicht gehen:
<?php
$ip = $_GET['ip']; // Alternativ hier auch $_SERVER['SERVER_NAME'], wenn der nicht auf Loopbak steht.
include("http://".$ip.$_SERVER['PHP_SELF']);
echo("Dieser Text darf nicht zu sehen sein, sonst funktioniert die Endlosschleife nicht...");
?>
Grüße, Fabian
Hallo Fabian, Hallo Sven,
z.B. 192.168.0.1 geht, aber 80.145.23.21 nicht. Verstehst du was ich meine? deshalb ist es so schwer zu testen ob es klappt. Findest du z.B. auch be fli4l.de in den FAQs warum es nicht klappt.
Das ist völliger Unsinn, hier bei mir klappt es doch
Um da jetzt mal etwas Klarheit zu schaffen: Sven hat erst einmal Recht, es geht nicht. Doch es gibt Tricks, das zu umgehen. Zur Aufklärung verweise ich einfach mal auf </archiv/2002/11/29753/#m160963>.
Viele Grüße,
Christian