# Java-Programm auf einem Server starten



## UserxY12 (4. Okt 2011)

Ich bin ein totaler Anfänger was Netzwerkprogrammierung angeht und hoffe jemand kann mir helfen 

Ich habe eine Clientseitige und Serverseitige Applikation für einen Chat geschrieben. Auf meinem Rechner funktioniert das auch alles wunderbar. Nun habe ich eine Frage: Wo/Wie finde ich bspw. einen Host, der mein Serverprogramm startet und permanent laufen lässt? Gibt es überhaupt Hosts die soetwas anbieten? Wenn ja: Welche? Und wenn der Host so etwas anbietet, wie kann ich das Programm dort dann starten? Ich kann ja nicht auf einem fremden Rechner "java Serverprogr" eingeben...

Es geht mir also allgemein um die Frage, wie ich eine Java-Anwendung auf einem externen Rechner permanent laufen lassen kann. Ich habe jetzt schon eine ganze weile gegoogelt aber keine wirkliche Antwort gefunden ... 


Vielen Dank


----------



## TheDarkRose (4. Okt 2011)

Was bist denn bereit zu zahlen?


----------



## XHelp (4. Okt 2011)

> Ich kann ja nicht auf einem fremden Rechner "java Serverprogr" eingeben...


Ja sicher kannst du es, wenn du ssh Zugang hast.


> Ich habe jetzt schon eine ganze weile gegoogelt aber keine wirkliche Antwort gefunden


Sicher? "host java application" bringt doch genügend Ergebnisse :bahnhof: Schau mal richtung vServer


----------



## faetzminator (4. Okt 2011)

UserxY12 hat gesagt.:


> Nun habe ich eine Frage: Wo/Wie finde ich bspw. einen Host, der mein Serverprogramm startet und permanent laufen lässt?


Entweder du mietest einen ganzen Server, oder einen virtuellen. Such in Google nach "vserver". 





UserxY12 hat gesagt.:


> Gibt es überhaupt Hosts die soetwas anbieten? Wenn ja: Welche?


Ja, diverse. Xencon, Hetzner, ... 





UserxY12 hat gesagt.:


> Und wenn der Host so etwas anbietet, wie kann ich das Programm dort dann starten? Ich kann ja nicht auf einem fremden Rechner "java Serverprogr" eingeben...


Natürlich, du kannst per SSH oder sonst was verbinden und dann dein Programm als Daemon eintragen...



UserxY12 hat gesagt.:


> Es geht mir also allgemein um die Frage, wie ich eine Java-Anwendung auf einem externen Rechner permanent laufen lassen kann.


Nicht anders als lokal...


----------



## Empire Phoenix (4. Okt 2011)

Root oder v server mieten (mit ganz geringer chance gibt es da auch umsonst angebote)
Dann über remote shell (linux) oder remote desktop(windows) das programm dort starten.


----------



## TheDarkRose (4. Okt 2011)

XHelp hat gesagt.:


> Schau mal richtung vServer



Aber bitte wenn schon nur *managed *vServer. Denn wenn ich so die Fragestellung des TO (soll keine persönlicher Angriff sein) lese, dann sind hier nicht die Kompetenzen zur Administration und Absicherung eines Servers vorhanden.



Empire Phoenix hat gesagt.:


> Root oder v server mieten (mit ganz geringer chance gibt es da auch umsonst angebote)
> Dann über remote shell (linux) oder remote desktop(windows) das programm dort starten.


Warum schlagt ihr immer jeden User direkt vServer vor, obwohl wahrscheinlich zu 80% nicht die Fähigkeiten, diesen zu Administrieren vorhanden sind ??? :noe:???:L


----------



## UserxY12 (4. Okt 2011)

Aha, also ist ein solcher Service etwas "besonderes", das immer kostenpflichtig ist.

Wer bietet so etwas an und, wie oben schon gefragt, wie sage ich dem Host, dass er mein Javaprogramm starten soll und laufen lassen soll?


----------



## TheDarkRose (4. Okt 2011)

Wie ich schon gefragt habe, was zahlst du?


----------



## XHelp (4. Okt 2011)

TheDarkRose hat gesagt.:


> Aber bitte wenn schon nur managed vServer


Och naja, ich gönn' den anderen die Freude am kostenlosem vServer


----------



## TheDarkRose (4. Okt 2011)

XHelp hat gesagt.:


> Och naja, ich gönn' den anderen die Freude am kostenlosem vServer



:lol: You made my day


----------



## faetzminator (4. Okt 2011)

TheDarkRose hat gesagt.:


> Warum schlagt ihr immer jeden User direkt vServer vor, obwohl wahrscheinlich zu 80% nicht die Fähigkeiten, diesen zu Administrieren vorhanden sind ??? :noe:???:L



Weil er wissen will, wie man es macht (oder _machen würde_). Es gibt nunmal keine Alternative, und die TO's immer von ihren Ideen abbringen, macht auch nicht mehr Spass.


----------



## UserxY12 (4. Okt 2011)

Wow, das sind ja viele Antworten in nur so kurzer Zeit. Danke schonmal! Mir ist das ganze jetzt auf jeden Fall schon klarer. Allerdings habe ich die Abkürzung SSH gerade zum ersten mal hier gelesen und auch gleich mal bei Wikipedia nachgeschaut. Ich wusste bis jetzt nicht, dass man eine fremde Kommandozeile vom eigenen Rechner aus bedienen kann.

Wie kann ich mich am besten in diese ganze Materie einarbeiten/einlesen? Bzw. was empfehlt ihr mir, um der Materie näher zu kommen?


Danke


----------



## TheDarkRose (4. Okt 2011)

faetzminator hat gesagt.:


> Weil er wissen will, wie man es macht (oder _machen würde_). Es gibt nunmal keine Alternative, und die TO's immer von ihren Ideen abbringen, macht auch nicht mehr Spass.



Also das erstere wäre mal ein Homeserver wo die Serverapplikation läuft, per DynDNS und PortForwarding erreichbar gemacht. Dort kann man auch lernen, wie man sich um die Sicherheit eines Servers kümmert, etc. Stromkosten sind halt nicht so schön, aber da lernt man schön.


----------



## TheDarkRose (4. Okt 2011)

UserxY12 hat gesagt.:


> Wie kann ich mich am besten in diese ganze Materie einarbeiten/einlesen? Bzw. was empfehlt ihr mir, um der Materie näher zu kommen?


Goooogle + entsprechende Suchbegriffe, wie Linux, server, homeserver, etc.
Achja und gute 1 bis 2 Jahre.


----------



## darekkay (4. Okt 2011)

Oder, wie bereits erwähnt: managed server

Denk dran - du haftest für deinen vServer oder root-Server. Sollte dieser gehackt werden, weil du dich nicht darum kümmerst, und z.B. zur Verbreitung von pornografischen Inhalten genutzt werden, so wirst DU im Knast landen. Ist es dir wert, nur um ein Java-Programm laufen zu lassen?

Managed Server kosten mehr, dafür werden sie von erfahrenen Administratoren gewartet - und alles wird so eingerichtet, wie du es dir wünschst.


----------



## timbeau (4. Okt 2011)

Gibt es hierzu Urteile? Wenn ich Teil eines Botnetzes bin, werde ich ja auch nicht haftbar gemacht.


----------



## darekkay (4. Okt 2011)

Urteile habe ich jetzt auf die Schnelle nicht gefunden.
Es ist wohl im Prinzip wie bei Down- und Uploads von rechtlich geschützten Inhalten - beides ist illegal/strafbar, aber letzten Endes trifft es die wenigsten. Da die Server-Anbieter in den AGBs jegliche Haftung auf den Benutzer übertragen, haftet dieser auch im Falle einer Anklage (diese muss natürlich erst stattfinden). Sollte sein Server gehackt werden und Kinderpornographie verbreitet werden, dann ist er dafür auch verantwortlich. 
Analog: wenn ich keine WEP/WPA-Verschlüsselung in meinem WLAN-Netz benutze, und ein Dritter über das Netz illegal runterlädt, so hafte ich ebenfalls dafür.

Im Prinzip finde ich es auch in Ordnung - genau deswegen sollte man sich eben einen managed server holen, wenn man keine Ahnung hat. Und schließlich: Unwissenheit schützt nicht vor der Bestrafung.


----------



## timbeau (4. Okt 2011)

Ich finde es zum Teil in Ordnung. Letztendlich wird sicherlich auch entschieden in wie weit, es einem Menschen möglich ist, Maßnahmen gegen etwas illegales zu treffen. Im Gegensatz zu illegalen Down/Uploads wird hier derjenige ja nicht selber tätig. 

Und wenn ich mein WLAN nur mit WEP verschlüssle, weil ich 80Jahre alt bin, dann ist das halt so. Und wenn ich mir einen Server miete und der wird geknackt, dann ist das erst mal so. Ob ich als Nichtprofi das Wissen haben muss, dass a) es sicherere/gemanagede Server gibt und b) ich diesen Server hätte besser absichern müssen, ist denke ich von Fall zu Fall unterschiedlich. Die AGBs sind natürlich immer sehr für den Aussteller. Deshlab müssen diese nicht unbedingt rechtlich perfekt sein. 

Sorry für Off-Topic


----------



## Empire Phoenix (4. Okt 2011)

Stimmt ur begrenzt so, wenn man anchweislich sich um die sicherhiet gekümmert hat ist man da meistena uch raus. Wie bei WPA halt.

-> Sichere Passwörter
-> Updates regelmäßig
-> Antivirensoftware
-> ect.


----------



## Empire Phoenix (4. Okt 2011)

timbeau hat gesagt.:


> Ich finde es zum Teil in Ordnung. Letztendlich wird sicherlich auch entschieden in wie weit, es einem Menschen möglich ist, Maßnahmen gegen etwas illegales zu treffen. Im Gegensatz zu illegalen Down/Uploads wird hier derjenige ja nicht selber tätig.
> 
> Und wenn ich mein WLAN nur mit WEP verschlüssle, weil ich 80Jahre alt bin, dann ist das halt so. Und wenn ich mir einen Server miete und der wird geknackt, dann ist das erst mal so. Ob ich als Nichtprofi das Wissen haben muss, dass a) es sicherere/gemanagede Server gibt und b) ich diesen Server hätte besser absichern müssen, ist denke ich von Fall zu Fall unterschiedlich. Die AGBs sind natürlich immer sehr für den Aussteller. Deshlab müssen diese nicht unbedingt rechtlich perfekt sein.
> 
> Sorry für Off-Topic




Stimmt so nicht, du bist mit haftbar. UNd unwissenhiet schützt nicht.


----------



## timbeau (4. Okt 2011)

Empire Phoenix hat gesagt.:


> Stimmt so nicht, du bist mit haftbar. UNd unwissenhiet schützt nicht.




Stimmt so auch nicht! Kein Mensch kann von dir verlangen, dass du perfekt bist. Der Spruch ist alt und ausgelutscht. Vieles muss auch "vertretbar" sein. Und unter vertretbar versteht man bei einem Administrator der Serverfarmen verwaltet etwas anderes als bei einem Schüler der sich mal nen Server mietet. 

Beim Wlan wird ja auch nicht verlangt, dass du WPA2, Mac-Filter und SSID-Unterdrückung einstellst. Obwohl man sich das Wissen sicherlich aneigenen könnte.


----------



## darekkay (4. Okt 2011)

timbeau hat gesagt.:


> Stimmt so auch nicht! Kein Mensch kann von dir verlangen, dass du perfekt bist. Der Spruch ist alt und ausgelutscht. Vieles muss auch "vertretbar" sein. Und unter vertretbar versteht man bei einem Administrator der Serverfarmen verwaltet etwas anderes als bei einem Schüler der sich mal nen Server mietet.
> 
> Beim Wlan wird ja auch nicht verlangt, dass du WPA2, Mac-Filter und SSID-Unterdrückung einstellst. Obwohl man sich das Wissen sicherlich aneigenen könnte.



Der Spruch mag alt klingen - stimmt aber nun mal. Sonst könntest du einfach immer behaupten, du wüsstest es nicht.

Natürlich ist kein Mensch oder System perfekt. Aber du solltest perfekt genug sein, um dir die AGBs durchzulesen, bevor du einen Vertrag abschließt.

Bei WLAN hat man entweder:
a) keine Ahnung -> Techniker holen, der davon Ahnung hat
b) Ahnung, und macht es selbst

Wer meint, keine Ahnung zu haben und trotzdem alles selbst einrichten zu wollen, der ist im Endeffekt auch selbst schuld. Die meisten Anbieter informieren aber die Benutzer darüber, dass sie ein Passwort wählen sollten. Und wer WEP benutzt, hat ein "sicheres" System. Denn der Angreifer muss erstmal in dein System eindrignen (=> illegal), und somit sollte dieser für eventuelle Schäden haften. Nun musst du aber wahrscheinlich erstmal beweisen, dass nicht du derjenige bist, der etwas heruntergeladen hat..

Das Rechtssystem ist im Bereich Internet ja sowieso noch alles andere als ausgereift. Und richtige Anklagen gegen Privatleute sind auch noch viel zu selten, als das man Angst davor haben sollte..


----------



## timbeau (4. Okt 2011)

darekkay hat gesagt.:


> Der Spruch mag alt klingen - stimmt aber nun mal. Sonst könntest du einfach immer behaupten, du wüsstest es nicht.
> 
> Natürlich ist kein Mensch oder System perfekt. Aber du solltest perfekt genug sein, um dir die AGBs durchzulesen, bevor du einen Vertrag abschließt.
> 
> ...



Das mag ja sein, dass du das so siehst, im Gegensatz zum Server gibt es hierzu genügend Urteile. Und diese besagen, dass man zumutbare Maßnahmen ergreift. Ob WEP noch dazu gehört, möchte ich in bestimmten Fällen bezweifeln. 

Was du meinst ist im übrigen die Störerhaftung des Anschlussinhabers.

Im übrigen kann ich auch AGBs die ich unterschrieben habe anfechten.


----------



## UserxY12 (4. Okt 2011)

Hallo, ich wollte mich nochmal melden. Mir ist das jetzt alles viel klarer und ich würde meinen Chatserver gerne auf meinem Zweitrechner laufen lassen. Nun habe ich aber folgendes Problem: Intern, also über den localhost funktioniert meine Client/Server-Anwendung wunderbar. Jetzt wollte ich den nächsten Schritt tun und den Server über eine dyndns ansprechen. Meine dyndns funktioniert und apache horcht auf port 80, alles wunderbar. Aber komischerweise kann ich meine Java-Serveranwendung nicht ansprechen. Ich habe den notwendigen Port im Router freigegeben und erhalte, wenn ich mich mit einem Client verbinde, eine Connection refused Ausnahme. Woran kann diese Ausnahme liegen? Ich haben den Port, auf dem der Server horcht im Router freigegeben und weiß nun nicht mehr weiter. Ich würde mich wirklich freuen, wenn ich wüsste, wie ich das zum Laufen bringe. Ich hoffe dass mir jemand helfen kann.

Wenn ihr noch irgendwelche Infos usw. braucht, dann einfach bescheid sagen. Den Code habe ich jetzt mal nicht gepostet, da es ja auf dem localhost läuft und daran wohl nicht liegen kann.

Vielen, vielen Dank


----------



## UserxY12 (5. Okt 2011)

Hat sich erledigt  Ich habe an die falsche interne IP weitergeleitet.


----------



## faetzminator (5. Okt 2011)

Wenn dir Dyndns irgendwann nicht mehr genügt, kannst du einfach noch eine fixe IP und eine beliebige Domain kaufen - dann noch DNS Server laufen lassen und du bist ein Stückchen näher am vServer  Hab ich (nebst einem vServer) auch


----------



## UserxY12 (5. Okt 2011)

Was hat es denn für einen Sinn eine feste IP zu kaufen? Dyndns leitet doch sowieso an die richtige IP weiter, oder? Und was versteht man unter einem "DNS-Server"?


----------



## faetzminator (5. Okt 2011)

UserxY12 hat gesagt.:


> Was hat es denn für einen Sinn eine feste IP zu kaufen?


Dass du eine "richtige" Domain verwenden kannst, also z.B. [c]userxy12.de[/c]. 





UserxY12 hat gesagt.:


> Dyndns leitet doch sowieso an die richtige IP weiter, oder?


Natürlich, man hat halt einfach (bei den meisten Providern) Verbindungsunterbrüche, wenn nach x Stunden die nicht-statische IP released wird. 





UserxY12 hat gesagt.:


> Und was versteht man unter einem "DNS-Server"?


Eigentlich mein ich ein DNS Daemon, aber irgendwie hat sich der Begriff "DNS Server" eingebürgert. Also einfach ein DNSD, welcher die Domain in eine IP umwandelt.


----------



## TheDarkRose (5. Okt 2011)

faetzminator hat gesagt.:


> Dass du eine "richtige" Domain verwenden kannst, also z.B. [c]userxy12.de[/c].


geht auch mit DynDNS, in dem man in der "richtigen" Domain einen CNAME auf die DynDNS Adresse erstellt.

@TO, lass dich jetzt nicht verwirren, und verbleib mal so.


----------



## faetzminator (5. Okt 2011)

TheDarkRose hat gesagt.:


> geht auch mit DynDNS, in dem man in der "richtigen" Domain einen CNAME auf die DynDNS Adresse erstellt.


Was aber voraussetzt, dass man einen DNSD hat, was wiederum voraussetzt, dass man irgendwo einen Host mit fixer IP besitzt 



TheDarkRose hat gesagt.:


> @TO, lass dich jetzt nicht verwirren, und verbleib mal so.



Ich wollt nur die weiterführenden Möglichkeiten aufzeigen, auch ohne dass man sich ein v-/Rootserver kauft.


----------



## TheDarkRose (5. Okt 2011)

faetzminator hat gesagt.:


> Was aber voraussetzt, dass man einen DNSD hat, was wiederum voraussetzt, dass man irgendwo einen Host mit fixer IP besitzt



Nicht unbedingt. Bei den meisten Domainanbietern kann man deren DNS-Server verwenden.

P.S.: Der Begriff DNS-Server ist schon korrekt, da hier der Daemon als Server fungiert. Als Daemon können nämlich auch Client oder bestimmte Systemdienste (z.B. Cronjob) laufen. Daemon != Server


----------



## faetzminator (5. Okt 2011)

TheDarkRose hat gesagt.:


> Nicht unbedingt. Bei den meisten Domainanbietern kann man deren DNS-Server verwenden.


Wirklich? Das hats damals (bei switch.ch) nicht (gratis) gegeben, da müsste ich nochmals über die Bücher 



TheDarkRose hat gesagt.:


> P.S.: Der Begriff DNS-Server ist schon korrekt, da hier der Daemon als Server fungiert. Als Daemon können nämlich auch Client oder bestimmte Systemdienste (z.B. Cronjob) laufen. Daemon != Server



Jaja, aber umgekehrt wird wird der Server auch eher als Hardware gesehen, insofern fährt man mit Daemon auch gut  Denn du hast (logischerweise) keinen DNS Client Daemon am laufen. Aber ist ja auch egal, wir wissen immerhin, von was wir sprechen


----------



## UserxY12 (5. Okt 2011)

Ich hoffe das wird nicht  zu viel für diesen Thread aber ich bin ja gerade am experimentieren mit Netzwerken und habe nun auch ein wenig mit RMI rumprobiert. Ich habe natürlich erstmal versucht das alles auf dem localhost zum laufen zu bringen und auf Port 1099 tut es das auch. Jetzt habe ich das auf port 2222 versucht und komischerweise erhalte ich dann eine NotBoundException. Wenn ihr code oder etwas anderes braucht, dann sagt einfach bescheid.
Ein zweites Problem ist, dass wenn ich mit rmiregistry oder LocateRegistry.createRegistry(ip); einen Namensservice öffne, dann wird er nicht mehr beendet. Wie kann ich diesen wieder beenden?


----------



## XHelp (5. Okt 2011)

Doch, das wird zu viel für diesen Thread. Wenn du eine konkrete Frage zu einem anderen Thema hast - dann mach einen neuen Thread auf


----------

