Eigenen Rechner als Server?

Hallo,
ich möchte eine Webanwendung programmieren über die man sich einloggen kann und dann halt sein Profil und seinen anderen Kram den man in der Webanwendung machen kann dann halt sieht.

Das Ding ist ich brauche ja einen Server, was in dem Fall mein Rechner wäre auf dem aber nur in einer Textdatei der Username und das Passwort aller Nutzer gespeichert werden soll.. Den Stuff den die Clients dann von ihrem Rechner aus machen der soll bei denen auf dem Rechner gespeichert werden.
Was aber bedeuten würde dass mein Rechner doch immer laufen müsste und das Programm auch oder? Denn ansonsten wird in meiner Abwesenheit ja kein neuer Client sich anmelden können oder?
Ich hab jetzt drei Probleme:
1. Ich möchte natürlich nicht das mein Rechner immer läuft, aber sich trotzdem jederzeit Clients sich anmelden können
2. Weiß ich nicht wie ich die Kommunikation mit den Rechnern hinbekomme
3. Weiß ich nicht wie ich meinen Rechner als Server einrichte.

Ich weiß das ich ziemlich elementare Dinge nicht weiß, aber das ist ja der Grund weshalb ich es machen möchte.
Es wäre nett, wenn ihr mir einfach links oder Empfehlungen geben könntet wo ich mich in das Thema am besten einlesen kann oder welche Bibliotheken ich mir mal anschauen sollte.

Vielen Dank schonmal
 

temi

Top Contributor
Ich weiß das ich ziemlich elementare Dinge nicht weiß, aber das ist ja der Grund weshalb ich es machen möchte.
Das sind auch ziemlich komplexe Dinge, besonders auch was Datenschutz und Sicherheit angeht. Ein Server, der immer läuft, wird auch zum Angriffspunkt von bösen Menschen.

Ich würde mich an deiner Stelle zum Ausprobieren und Üben erst mal auf dein lokales Netz beschränken (dann halt ohne Gäste von außerhalb). Setz dir dazu z. B. einen virtuellen Server auf, mit dem du dich verbinden kannst. Damit bist du erst mal gut beschäftigt. Stichworte mit denen du dich da beschäftigen kannst wären etwa REST, Spring Boot.

Viel später irgendwann kannst du dir einen virtuellen Server mieten, auf dem deine Software laufen kann. Oder du beschaffst dir einen Raspi, den du zuhause ständig laufen lassen kannst (geht natürlich nicht, wenn du Millionen von Gästen hast).

Textdatei der Username und das Passwort
Nö, so nicht. In der Praxis speichert man Username und Hashwert des Passworts.
 
Zuletzt bearbeitet:

KonradN

Super-Moderator
Mitarbeiter
1. Ich möchte natürlich nicht das mein Rechner immer läuft, aber sich trotzdem jederzeit Clients sich anmelden können
Also Anmelden können sich die Clients nur am Server und der muss nun einmal laufen. Wenn Dein Rechner nicht immer laufen soll, dann muss eben ein anderer Rechner immer laufen und auf dem läuft dann der Server.

2. Weiß ich nicht wie ich die Kommunikation mit den Rechnern hinbekomme
Das hast Du mit "Webanwendung" doch schon gesagt. Dann läuft die Kommunikation über http(s) und Du hast da nichts weiter zu machen. Das Protokoll wird Dir auf Serverseite ein Framework abnehmen und auf Clientseite hast Du dann vermutlich einfach den Browser.
Wenn es um die reine Netzwerk-Erreichbarkeit angeht: Wenn Du nur im lokalen Netz bist, dann sollte es gehen. Wenn es über das Internet gehen soll: Da musst Du Dich tiefer mit beschäftigen. Hier geht es um elementare Security! Da keine Ahnung zu haben ist einfach grob fahrlässig.

3. Weiß ich nicht wie ich meinen Rechner als Server einrichte.
Da ist nichts groß einzurichten. Ein Server ist auch nur ein Computer. Er läuft dann halt durch.
Wenn Du eine Anwendung hast, dann kann man sich Dinge überlegen wie: Services, d.h. der Computer startet beim Start direkt die Applikation auch ohne dass ein User angemeldet ist. Das sind aber Dinge, die man machen kann, wenn es soweit ist.

Generell solltest Du Dir genau überlegen, was Du überhaupt willst. Du hast mehrere Bereiche abzudecken von der Software Entwicklung hin zur Administration. In beiden Bereichen ist die Sicherheit wichtig. Da wäre mein Ratschlag: Mach nicht alles auf einmal - das kann eigentlich nur schief gehen. Evtl. fängst Du einfach mal an, und nutzt bestehende Software. Also erste Schritte mit z.B. XAMPP oder so und da einen Apache zum laufen zu kriegen und so.
 
Y

yfons123

Gast
was ich empfehlen würde ist hyper V oder Vmware aufsetzen und darauf mal einen Server zu installieren

dein Computer "spielt" dann den client und auf den Server läuft deine Anwendung
damit ist auch alles in deinem netzwerk und du kannst dich mit deiner web anwendung spielen

der unterschied ist halt der "server" sollte in der theorie tag und nacht durchlaufen.. der braucht das aber nicht können wenn du keine anwendung hast :D
 

temi

Top Contributor
3. Weiß ich nicht wie ich meinen Rechner als Server einrichte.
Ich hab es oben schon angedeutet, aber noch mal etwas konkreter.

Zum Ausprobieren ist es am einfachsten, wenn du dir z. B. Virtualbox installierst und damit auf einer virtuellen Maschine ein Server-Betriebssystem deiner Wahl (Linux-Systeme wie Ubuntu Server sind kostenlos zu haben) einrichtest. Auf diesem Serversystem kannst du dann prima alles mögliche testen ohne Gefahr (die virtuelle Maschine lässt sich einfach klonen oder du nutzt Snapshots). Das Tolle ist, das dieser virtuelle Server auf deinem Computer laufen kann und du dich mit dem Webbrowser darauf verbinden kannst. Du benötigst also keinen zusätzlichen Rechner.

Aber alle deine oben erwähnten Themen sind jedes "eine Wissenschaft für sich". Du wirst erst mal einiges zu tun und zu lernen haben. Mach nicht zu viel auf einmal, lieber Stück für Stück.
 
Zuletzt bearbeitet:

KonradN

Super-Moderator
Mitarbeiter
Ich selbst würde explizit davon abraten, da noch mehr Komplexität hinein zu bringen. Es gibt absolut keine Notwendigkeit für eine VM oder so. Und wenn dann da noch ein unbekanntes System installiert wird: Wie soll dies klappen?

Daher wirklich Stück für Stück vorgehen - und egal mit was für einem Software Stack er arbeiten möchte: Das geht mit jedem (üblichen) Betriebssystem.

Und wenn, dann wäre mein Ratschlag ggf. ein Raspberry Pi oder so - dann hat er einen dedizierten Server und sein Computer muss nicht durchlaufen. Aber auch das ist einfach nur Overkill für die ersten Schritt. Und da würde ich vor allem Wert auf Security legen.
 

temi

Top Contributor
Ich selbst würde explizit davon abraten, da noch mehr Komplexität hinein zu bringen. Es gibt absolut keine Notwendigkeit für eine VM oder so. Und wenn dann da noch ein unbekanntes System installiert wird: Wie soll dies klappen?

Daher wirklich Stück für Stück vorgehen - und egal mit was für einem Software Stack er arbeiten möchte: Das geht mit jedem (üblichen) Betriebssystem.

Und wenn, dann wäre mein Ratschlag ggf. ein Raspberry Pi oder so - dann hat er einen dedizierten Server und sein Computer muss nicht durchlaufen. Aber auch das ist einfach nur Overkill für die ersten Schritt. Und da würde ich vor allem Wert auf Security legen.
Das Thema ist komplex und besteht aus mehreren Themenfeldern mit denen sie/er sich intensiv beschäftigen muss. Der Betrieb eines Servers ist nur ein kleiner Teil davon und von "durchlaufen" ist sie/er noch meilenweit entfernt. Falls er einen Raspi hat, dann in Ordnung (der muss allerdings auch installiert werden), aber die virtuelle Lösung erfordert keinen Kostenaufwand und ich würde nicht das Risiko eingehen mir mein Arbeitsystem mit allen möglichen XAMPP und sonstigen Installationen zu zerschießen. Das ist ausdrücklich meine persönliche Meinung.

Wenn sie/er zunächst mit seiner Webanwendung und beispielsweise mit Spring Boot beginnt, dann braucht sie/er sich natürlich erst mal noch gar nicht um einen Server zu kümmern. Das kommt dann später.
 

KonradN

Super-Moderator
Mitarbeiter
ich würde nicht das Risiko eingehen mir mein Arbeitsystem mit allen möglichen XAMPP und sonstigen Installationen zu zerschießen.
Das Risiko ist ganz klar da, ja.

Aber ich sehe halt auch das große Risiko, dass der TE schlicht überfordert ist vom Umfang und den ganzen Notwendigkeiten. Und auch mit Virtualbox hast Du direkt eine Installation, die Du durchführen musst. Und ggf. beisst sich das dann noch mit einem vorhandenen Hyper-V oder BIOS Einstellungen sind ggf. anzupassen, ... Das Risiko wird sich also so oder so ergeben.
 

temi

Top Contributor
Das Risiko ist ganz klar da, ja.

Aber ich sehe halt auch das große Risiko, dass der TE schlicht überfordert ist vom Umfang und den ganzen Notwendigkeiten. Und auch mit Virtualbox hast Du direkt eine Installation, die Du durchführen musst. Und ggf. beisst sich das dann noch mit einem vorhandenen Hyper-V oder BIOS Einstellungen sind ggf. anzupassen, ... Das Risiko wird sich also so oder so ergeben.
Also eines sollte dem TE jetzt klar sein: Es gibt viel zu tun!
 
Das sind auch ziemlich komplexe Dinge, besonders auch was Datenschutz und Sicherheit angeht. Ein Server, der immer läuft, wird auch zum Angriffspunkt von bösen Menschen.

Ich würde mich an deiner Stelle zum Ausprobieren und Üben erst mal auf dein lokales Netz beschränken
Nö, so nicht. In der Praxis speichert man Username und Hashwert des Passworts.
Ja ich habe auch nicht vor das Größer zu machen eigentlich ist es nur zum probieren und mich selbst herausfordern ob ich das schaffe. Vielen Dank für deine Antwort
 
Vielen Dank für all eure Antworten. Auch das mit der Sicherheit. Ich denke da ich nicht vorhabe irgendwas größeres zumachen wird es bei mir zuhause im Netzwerk bleiben(falls ich es überhaupt schaffe)... und dann sollte das eher unproblematisch sein oder?
 

temi

Top Contributor
Vielen Dank für all eure Antworten. Auch das mit der Sicherheit. Ich denke da ich nicht vorhabe irgendwas größeres zumachen wird es bei mir zuhause im Netzwerk bleiben(falls ich es überhaupt schaffe)... und dann sollte das eher unproblematisch sein oder?
Daheim bist du dein größtes Sicherheitsrisiko ;)

Pass halt auf, dass du nicht versehentlich Ports nach außen öffnest, so dass dein Netzwerk plötzlich öffentlich erreichbar wird. Das wäre dann das nächste Thema für dich. Wie geschrieben, alles sehr komplex und vielfältig. Da kann man sich gut eine längere Zeit mit beschäftigen.

Das Projekt insgesamt gesehen berührt halt viele verschiedene Aufgabenbereiche, von der Softwareentwicklung über die Netzwerk- zur (Linux-) Serveradministration. Aber durchaus spannend und lohnenswert mal reinzuschnuppern.
 
Zuletzt bearbeitet:

Oneixee5

Top Contributor
Vom Sicherheitsaspekt mal abgesehen, kannst du mit einem RaspberryPi (oder ähnliches) schon vieles lösen. Der ist stark genug um einen Server + Datenbank zu betreiben, verbraucht wenig Strom und kann immer laufen.
In deinem Router kannst du bestimmt DyDNS und eine Portweiterleitung einrichten (kann man auch weglassen, wenn nur im eigen Netzwerk erreichbar ausreicht). Damit hast du einen 24/7 laufenden Server der aus dem Internet erreichbar ist, für ein paar Euro.
Die Wartung und Konfiguration des RaspberryPi kannst du über SSH von deinem Rechner aus erledigen. Es ist also kein separater Monitor/Tastatur erforderlich.
Die Kommunikation ist auch unproblematisch, entweder mit einem Netwerkkabel am WLan-Router anstecken ober ein WLan-Stick anbringen (wenn nicht bereits vorhanden).
Es ist auch unproblematisch auf dem RaspberryPi eine Firewall etc. zu installieren. Linux bringt da ganz viel mit und es gibt eine Unzahl von Anleitungen und Tutorials.
Ich habe auch mal so angefangen. Zuerst RaspberryPi als Minecraft-Server für die Kinder, dann ein paar eigene Anwendungen.
 

mihe7

Top Contributor
Was mir spontan einfällt:

1. Alle (Netzwerk-)Dienste, die nicht benötigt werden, abschalten.
2. Alle Ports sperren, die nicht benötigt werden.
3. SSH-Zugang: root sperren, keine Passwörter nur per Public Key Authentifizierung, nur sichere Verfahren verwenden, alles andere am besten abschalten.
4. fail2ban aufsetzen (man könnte auch über Sperren ganzer IP-Bereiche nachdenken)
5. System aktuell halten.
6. Testen. Insbesondere nmap ist Dein Freund.

Dann könntest Du noch

7. einen Reverse Proxy aufsetzen und
8. den Spaß in Containern laufen lassen.

Natürlich achtest Du auf sichere Passwörter, sofern Du welche hast. Passwörter werden nicht gespeichert sondern gehasht - und zwar wenigstens gesalzen, ggf. auch gepfeffert. Eine Anmeldung mit Passwort darf ruhig dauern, da spielen ein paar Sekunden mehr keine Rolle.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Jose05 Eigenen Messanger Netzwerkprogrammierung 10
Java_RY Die IP-Adresse des Eigenen Hostes ausgeben Netzwerkprogrammierung 4
N Eigenen mini webbrowser fernsteuern Netzwerkprogrammierung 1
H p12 zertifikat in eigenen KeyStore importieren Netzwerkprogrammierung 2
D Exception Handling bei In/Outputsockets in eigenen Threads Netzwerkprogrammierung 1
J Problem beim versenden von eigenen Objekten über RMI Netzwerkprogrammierung 2
R Eigenen FTP Server erstellen Netzwerkprogrammierung 5
S Eigenen Ping Befehl programmieren? Netzwerkprogrammierung 5
M Socket Hole Punching auf Rechner mit mobilem Zugang Netzwerkprogrammierung 1
X Mit Java eine Applikation auf einem anderen Windows Rechner (Windows Server 2008) starten Netzwerkprogrammierung 1
A Server auf eigenem Rechner Netzwerkprogrammierung 14
J Erster Server-Client läuft auf lokalem Rechner problemlos. Zwei Rechner über das Internet nicht Netzwerkprogrammierung 8
S XAMPP auf anderem Rechner erreichen Netzwerkprogrammierung 6
S anderer Rechner wird nicht gefunden Netzwerkprogrammierung 20
M Subnetz-Rechner Netzwerkprogrammierung 2
A java im netzwerk anderen rechner runterfahren Netzwerkprogrammierung 3
c_sidi90 Alle Rechner im Netzwerk ermitteln Netzwerkprogrammierung 17
V Verbindung zweier Rechner über das Internet mit Sockets Netzwerkprogrammierung 8
M RMI auf lokalem Rechner Netzwerkprogrammierung 12
K Getrennte Rechner für RMI-Server/RMI-Registry, bzw. Alternativen? Netzwerkprogrammierung 5
J Mit Java Anwendung ein (externes) Programm auf einem AIX Rechner starten Netzwerkprogrammierung 6
D Client-Rechner stürzt ab - was dann? Netzwerkprogrammierung 2
S welche Rechner sind im lokalen Netz online Netzwerkprogrammierung 11
T Andere Rechner im Netz finden Netzwerkprogrammierung 21
M Rechner einer Domäne auslesen? Netzwerkprogrammierung 3
D Multicast geht nur auf einem Rechner Netzwerkprogrammierung 9
J Kopieren von entfernten Rechner Teil 2 Netzwerkprogrammierung 11
J Kopieren von entfernten Rechner Netzwerkprogrammierung 5
A Broadcast - senden eines Packetes an alle rechner im netz Netzwerkprogrammierung 15
D Zugriff auf Rechner im Lan Netzwerkprogrammierung 2
F http Post auf einen Grafana Server Netzwerkprogrammierung 3
W Socket Server -> lesen von / schreiben zu php-script Netzwerkprogrammierung 6
E Server mit GUI Netzwerkprogrammierung 4
E FTP FTPS Server gibt Fehlernachricht "522 SSL/TLS required on the data channel" zurück Netzwerkprogrammierung 1
I Performanteste Kommunikationsmethode zwischen Client u. Server Netzwerkprogrammierung 4
L Socket Automatische Zuweisung von Server und Client Rolle Netzwerkprogrammierung 12
FrankenDerStein HTTP Https Server Bibliothek für Linux und Android gesucht. Netzwerkprogrammierung 7
ExceptionOfExpectation Server/Client-Kommunikation Netzwerkprogrammierung 34
M Server-Client-System für Browsergame Netzwerkprogrammierung 5
J Datei Download vom Server Netzwerkprogrammierung 8
izoards Mehrere TCP Verbindungen auf einen Server [alles Local] Netzwerkprogrammierung 2
Yonnig Threads mit Client/Server und GUI (laufend bis button-click) Netzwerkprogrammierung 9
J Client-Server und SOAP Netzwerkprogrammierung 23
K Threads/Server/telnet Fehler Netzwerkprogrammierung 2
J Multithreaded-Server Netzwerkprogrammierung 21
JaXnPriVate Java HTTPS Server (Secure Sockets) Netzwerkprogrammierung 15
L30nS RMI RMI-Server kann Dialog nicht volkommen anzeigen Netzwerkprogrammierung 2
L30nS RMI Aufruf einer Client-Methode von einem RMI-Server Netzwerkprogrammierung 3
L Server-Socket liest Input-Stream nicht Netzwerkprogrammierung 5
T String von Client zu Server kommt nicht an Netzwerkprogrammierung 92
D WebSocket Server mit HTML Client und Java Server Netzwerkprogrammierung 5
S Von Java auf passwortgeschützten Server zugreifen + Umgang mit Ports Netzwerkprogrammierung 28
S Probleme bei Java-Installation auf Server (Linux/Shell/Terminal) Netzwerkprogrammierung 6
S Java: Anbindung an einen realen Server? (+ Portfreigabe) Netzwerkprogrammierung 8
D Server - Client Informationsaustausch, Möglichkeiten Netzwerkprogrammierung 3
H Socket Kann ein Socket server 2 dimensionale Arrays empfangen und versenden? Netzwerkprogrammierung 3
H Socket Chat entwickeln mit Java Server Client Netzwerkprogrammierung 4
X Kann ich einen Client/Server verbindung hinkriegen die mir alle paar Sekunden die aktuellen Daten per Realtime zuschickt ? Netzwerkprogrammierung 9
Z Kann nicht Daten vom Server lesen Socket Netzwerkprogrammierung 10
S HTTP Post?!? - Java Server Netzwerkprogrammierung 7
F Verbindung zu einem LDAP Server über Java Netzwerkprogrammierung 4
D Slf4j - Logging - Client-Server Architektur Netzwerkprogrammierung 3
F NodeJs-Server auf Firebase hosten ? Netzwerkprogrammierung 3
J client server mit nur einem PC Netzwerkprogrammierung 33
M Socket Nachricht von TCP-Client an Server schicken Netzwerkprogrammierung 12
M Socket Verbindung Matlab(Server) Java(Client) Netzwerkprogrammierung 1
H HTTP Glassfish (v5) Application Server - Bibliothek zur Verfügung stellen Netzwerkprogrammierung 4
B HttpClient - Server (Jetty) - getInputStream - EOF Netzwerkprogrammierung 3
P TCP-Server Netzwerkprogrammierung 1
R Socket FATAL EXCEPTION MAIN bei Socket based client/server app Netzwerkprogrammierung 2
F Server für Java Applikationen Netzwerkprogrammierung 16
H Einfacher Server funktioniert nicht Netzwerkprogrammierung 1
G Server-Client IO Problem Netzwerkprogrammierung 6
T Mikrofonaudio über Java Server an Webbrowser streamen Netzwerkprogrammierung 13
I Socket Das erste Server-Client Programm Netzwerkprogrammierung 16
T HTTPS-Requests an Server: POST-Parameter kommen nicht an Netzwerkprogrammierung 5
L Socket Wie kann ich checken ob ein User eine Nachricht per Outputstream an den Server gesendet hat? Netzwerkprogrammierung 1
T Jetty Server LOGGING Netzwerkprogrammierung 1
L Strings an Server senden und in MYSQL speichern? Netzwerkprogrammierung 3
Aruetiise Socket Java Programm auf Server Netzwerkprogrammierung 3
T server empfängt nur 1 Buchstaben vom String Netzwerkprogrammierung 1
S Spiel mit Server programmieren Netzwerkprogrammierung 2
N Post u Head Request an Server Netzwerkprogrammierung 4
J Socket Ein Chat Server Tutorial Netzwerkprogrammierung 8
M Socket Server antwortet dem Client nicht Netzwerkprogrammierung 6
J Socket Tutorial zu Multiplayer Server schreiben? Netzwerkprogrammierung 5
S Java Chat Server Netzwerkprogrammierung 8
E Kurze Textnachrichten über einen Server von meinem Handy auf den Computer laden. Netzwerkprogrammierung 9
I Client/Server Kommunikation bei einem Spiel Netzwerkprogrammierung 4
E Objekte versenden, Client-Server Netzwerkprogrammierung 25
C Mini Client-Server-Anwendung funktioniert nicht Netzwerkprogrammierung 8
D Socket Message an einen Server senden? Netzwerkprogrammierung 8
J FTP FTP Zugriff über Proxy Server Netzwerkprogrammierung 1
KaffeeFan Programmierung mit Cloud-Server Netzwerkprogrammierung 0
L Socket Problem mit Server Netzwerkprogrammierung 1
cezary Socket Paralleler Server ? Netzwerkprogrammierung 1
I Socket Leicht zu DDosender Server Netzwerkprogrammierung 4
agent47 HTTPs Server Netzwerkprogrammierung 5
J Chat Server starten über GUI problem Netzwerkprogrammierung 4
J Prüfen, ob remote UDT Server erreichbar ist Netzwerkprogrammierung 0

Ähnliche Java Themen

Neue Themen


Oben