{"id":793,"date":"2020-07-17T14:04:19","date_gmt":"2020-07-17T12:04:19","guid":{"rendered":"https:\/\/www.virtualberater.com\/?p=793"},"modified":"2020-11-05T12:49:46","modified_gmt":"2020-11-05T11:49:46","slug":"ein-java-dienst-mit-systemctl-einrichten","status":"publish","type":"post","link":"https:\/\/www.virtualberater.com\/index.php\/2020\/07\/17\/ein-java-dienst-mit-systemctl-einrichten\/","title":{"rendered":"Ein Java Dienst mit systemctl einrichten"},"content":{"rendered":"\n<p>In Debian gibt es seit einigen Jahren f\u00fcr die Diensteverwaltung <em>systemctl <\/em>oder <em>systemd<\/em>. Das Kommandozeilentool <em>systemctl <\/em>gibt dir dabei die M\u00f6glichkeit einen Dienst einzurichten bzw. zu <em>starten<\/em>, <em>stoppen<\/em>, bei Konfigurations-\u00e4nderungen zu <em>reloaden <\/em>oder zu <em>restarten<\/em>. Ausserdem kannst die dir auch jederzeit mit <em>status <\/em>den Zustand deines Dienstes anschauen. Auch systemctl greift dabei auf einen Dienst zu, das ist der Dienst <em>systemd<\/em>(Daemon). In diesem Howto will ich zeigen, wie du einen eigenen Dienst mit <em>systemctl <\/em>in einem Debian System einrichtest.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Die Umgebung<\/h2>\n\n\n\n<p>Ich f\u00fchre das ganze Howto auf einem Armbian durch, also ein Debian das f\u00fcr den <a href=\"https:\/\/de.wikipedia.org\/wiki\/Allwinner_Technology\" target=\"_blank\" rel=\"noreferrer noopener\">ARM Prozessor A20 von AllwinnerTech<\/a> ausgerichtet ist. Es ist ganz genau ein <a rel=\"noreferrer noopener\" href=\"https:\/\/www.amazon.de\/Cubietruck-Cubieboard-DualCore-DDR3-RAM-1080p\/dp\/B00QAKI8LC\" target=\"_blank\">Cubietruck 3<\/a>, also ein Einplatinencomputer. Das Armbian basiert auf ein Debian 8. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Der Dienst<\/h2>\n\n\n\n<p>Mein Dienst besteht aus einen Java Programm mit dem sch\u00f6nen sprechenden Namen<strong> MultiUserChatServer.jar<\/strong>. Das Programm zeigt auf einfache Weise wie einfach man mit Java Netzwerverbindungen erstellen kannst. Die Java Programmierung steht hier aber nicht auf dem Plan. Der Dienst <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Der Client<\/h2>\n\n\n\n<p>Um meinen Dienst nach dem einrichten zu testen, existiert auch noch ein Client mit dem Namen <strong>MultiUserNetworkClient.jar<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Die Vorbereitung<\/h2>\n\n\n\n<p>Das es sich bei meinen Diensten um ein Java Programm handelt, muss ein Java auf dem Zielsystem eingerichtet sein. Mein MultiUserChatServer ist mit dem JDK 8 compiliert worden. Das bedeutet, das auf meinem Zielsystem auch ein Java 8 installiert sein muss. Mit apt installiert man das ben\u00f6tigt Java wie hier:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo apt install openjdk-8-jre<\/pre>\n\n\n\n<p>Nach der erfolgreichen Installation, ben\u00f6tige ich ein Heimatverzeichniss. Grunds\u00e4tzlich handhabe ich das so , das ich eigene Programme im Linuxsystem immer unter \/opt ablege. Dort erstelle ich mir ein Verzeichniss in das ich meine MultiUserChatServer.jar ablege. Ich nenne das Verzeichniss chatserver.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir \/opt\/chatserver<\/code><\/pre>\n\n\n\n<p>Nachdem ich die Datei MultiUserChatServer.jar dorthin kopiert habe, ben\u00f6tige ich noch einen User der s\u00e4mtlich berechtigungen f\u00fcr das ausf\u00fchren der MultiChatServer &#8222;funktionen&#8220; hat. Daf\u00fcr lege ich mir ersteinmal eine Gruppe appmanager an:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo groupadd -r appmanager<\/code><\/pre>\n\n\n\n<p>und einen User chatserveruser:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo useradd -r -s \/bin\/false -g appmanager chatserveruser<\/code><\/pre>\n\n\n\n<p>der parameter -r erstellt einen Systemuser, also einen User der sich nicht einloggen kann, -s sorgt daf\u00fcr das er keine Shell bekommt (\/bin\/false). Die Gruppe sollte klar sein und dann der eigentliche Username. Ich schau mir nochmals das Produkt meiner Arbeit an, dabei Sieht man folgendes:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>id chatserveruser\nuid=998(chatserveruser) gid=997(appmanager) groups=997(appmanager)<\/code><\/pre>\n\n\n\n<p>mein User ben\u00f6tigt noch rechte auf dem \/opt\/chatserver Verzeichniss:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo chown -R jvmapps:appmgr \/opt\/chatserver<\/code><\/pre>\n\n\n\n<p>Die Usereinrichtung ist fertig.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Erstellen der systemd Servicedatei<\/h2>\n\n\n\n<p>mit dem Befehl:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> sudo nano \/etc\/systemd\/system\/multichat.service<\/code><\/pre>\n\n\n\n<p>erstelle ich mir eine Textdatei im mitgegebene Verzeichniss \/etc\/systemd\/system. Dort trage ich folgende Infos ein:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;Unit]\nDescription=Java MultiChatServer\n\n\n&#91;Service]\nWorkingDirectory=\/opt\/chatserver\nExecStart=\/usr\/lib\/jvm\/java-8-openjdk-armhf\/bin\/java -jar \/opt\/chatserver\/MultiUserChatServer.jar\nUser=chatserveruser\nType=simple\nRestart=on-failure\nRestartSec=10\n\n&#91;Install]\nWantedBy=multi-user.target\n<\/code><\/pre>\n\n\n\n<p>Die oben aufgef\u00fchrten Einstellungen habe ich auf dieser <a href=\"https:\/\/www.virtualberater.com\/?p=801\" target=\"_blank\" rel=\"noreferrer noopener\">Kurz\u00fcbersicht <\/a>nochmals zusammengefasst und erkl\u00e4rt. Nachdem ich die oben dargestellt Datei abgespeichert habe, ben\u00f6tigt mein systemd ein reload:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl daemon-reload<\/code><\/pre>\n\n\n\n<p>Nun kann ich den Dienst starten mit:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl start multichat.service<\/code><\/pre>\n\n\n\n<p>Mit dem Befehl:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl status multichat<\/code><\/pre>\n\n\n\n<p>Aus dem o.g. Befehl erfolgt folgende Ausgabe:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>root@aquatruck:\/# systemctl status multichat\n\u25cf multichat.service - Java MultiChatServer\n   Loaded: loaded (\/etc\/systemd\/system\/multichat.service; enabled)\n   Active: active (running) since Thu 2020-07-02 07:05:22 CEST; 8s ago\n Main PID: 21008 (java)\n   CGroup: \/system.slice\/multichat.service\n           \u2514\u250021008 \/usr\/lib\/jvm\/java-8-openjdk-armhf\/bin\/java -jar \/opt\/prod\/MultiUserChatServer.jar\n\nJul 02 07:05:22 aquatruck systemd&#91;1]: Started Java MultiChatServer.\nJul 02 07:05:23 aquatruck java&#91;21008]: Server horcht......\n\n<\/code><\/pre>\n\n\n\n<p>Also mein Server horcht und wartet nun auf den Test.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Der Test<\/h2>\n\n\n\n<p>Beim testen sollte nat\u00fcrlich klar sein was das oben eingerichtet Programm macht. In der Einleitung hatte ich bereits grob  beschrieben worum es bei dem MultiUserChatServer geht. Der Server horcht, ganz genau auf dem Port  4445, und wartet auf eine Anfrage auf einem Client. Wenn ich nun den Client starte, an der Kommandozeile werde ich aufgefordert etwas zum Server zu senden. Danach schaue ich mir den Status an, dort sollte das eingegebene auftauchen. Ich start den Client mit:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>franz@aquatruck:~$ java -jar MultiUserNetworkClient.jar\nClient Address : aquatruck\/192.168.178.113\nGeben Sie ihre Nachricht ein und bet\u00e4tigen Sie ENTER ( Enter QUIT f\u00fcr beenden):\n<\/code><\/pre>\n\n\n\n<p>Und gebe dort die Nachricht systemd ist cool ein.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>franz@aquatruck:~$ java -jar MultiUserNetworkClient.jar\nClient Address : aquatruck\/192.168.178.113\nGeben Sie ihre Nachricht ein und bet\u00e4tigen Sie ENTER ( Enter QUIT f\u00fcr beenden):\nsystemd ist cool\nServer Antwort : systemd ist cool 2020-07-02T07:07:20.680\n<\/code><\/pre>\n\n\n\n<p>Der Server Antwortet mit dem Inhalt der Nachricht und der Uhrzeit. In dem Status meines Services erscheint nach absenden des Befehls:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl status multichat<\/code><\/pre>\n\n\n\n<p>Die Ausgabe:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>root@aquatruck:\/# systemctl status multichat\n\u25cf multichat.service - Java MultiChatServer\n   Loaded: loaded (\/etc\/systemd\/system\/multichat.service; enabled)\n   Active: active (running) since Thu 2020-07-02 07:05:22 CEST; 6min ago\n Main PID: 21008 (java)\n   CGroup: \/system.slice\/multichat.service\n           \u2514\u250021008 \/usr\/lib\/jvm\/java-8-openjdk-armhf\/bin\/java -jar \/opt\/prod\/MultiUserChatServer.jar\n\nJul 02 07:05:22 aquatruck systemd&#91;1]: Started Java MultiChatServer.\nJul 02 07:05:23 aquatruck java&#91;21008]: Server horcht......\nJul 02 07:06:14 aquatruck java&#91;21008]: Verbindung zum clint aufgebaut\nJul 02 07:07:20 aquatruck java&#91;21008]: Response to Client  :  systemd ist cool 2020-07-02T07:07:20.680\n<\/code><\/pre>\n\n\n\n<p>Der Test war also erfolgreich.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Zusammenfassung<\/h2>\n\n\n\n<ol class=\"wp-block-list\"><li>Servicevorbereitungen bestehend aus:<ul><li>Welcher User ist Verantwortlich<\/li><li>Welche Zugriffsrechte ben\u00f6tigt der User<\/li><li>Welche Umgebungsbedingungen ben\u00f6tigt mein Dienst<\/li><\/ul><\/li><li>Erstellen der Service Datei unter \/etc\/systemd\/system\/<ul><li>Die unter Punkt 1 gewonnen Erkenntnisse wandern in diese Datei. Das abspeichern der Datei nicht vergessen.<\/li><\/ul><\/li><li>Dienste reloaden mit <em>sudo systemctl daemon-reload<\/em><\/li><li>Testen<ul><li>Falls die Tests nicht erfolgreich sind, das Gesamtkunstwerk nochmals \u00fcberpr\u00fcfen.<\/li><\/ul><\/li><\/ol>\n\n\n\n<p>Damit Ihr das ganze auch ausprobieren k\u00f6nnt, habe ich die beiden Dateien f\u00fcr den Chat auch als <a rel=\"noreferrer noopener\" href=\"https:\/\/www.virtualberater.com\/wp-content\/uploads\/2020\/07\/multiuserchat.zip\" target=\"_blank\">Download hier<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Debian gibt es seit einigen Jahren f\u00fcr die Diensteverwaltung systemctl oder systemd. Das Kommandozeilentool systemctl gibt dir dabei die M\u00f6glichkeit einen Dienst einzurichten bzw. zu starten, stoppen, bei Konfigurations-\u00e4nderungen zu reloaden oder zu restarten. Ausserdem kannst die dir auch jederzeit mit status den Zustand deines Dienstes anschauen. Auch systemctl [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,6],"tags":[],"class_list":["post-793","post","type-post","status-publish","format-standard","hentry","category-allgemein","category-java"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Ein Java Dienst mit systemctl einrichten - Virtualberater<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.virtualberater.com\/index.php\/2020\/07\/17\/ein-java-dienst-mit-systemctl-einrichten\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ein Java Dienst mit systemctl einrichten - Virtualberater\" \/>\n<meta property=\"og:description\" content=\"In Debian gibt es seit einigen Jahren f\u00fcr die Diensteverwaltung systemctl oder systemd. Das Kommandozeilentool systemctl gibt dir dabei die M\u00f6glichkeit einen Dienst einzurichten bzw. zu starten, stoppen, bei Konfigurations-\u00e4nderungen zu reloaden oder zu restarten. Ausserdem kannst die dir auch jederzeit mit status den Zustand deines Dienstes anschauen. Auch systemctl [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.virtualberater.com\/index.php\/2020\/07\/17\/ein-java-dienst-mit-systemctl-einrichten\/\" \/>\n<meta property=\"og:site_name\" content=\"Virtualberater\" \/>\n<meta property=\"article:published_time\" content=\"2020-07-17T12:04:19+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-11-05T11:49:46+00:00\" \/>\n<meta name=\"author\" content=\"Franz-Martin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Franz-Martin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"5\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.virtualberater.com\/index.php\/2020\/07\/17\/ein-java-dienst-mit-systemctl-einrichten\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.virtualberater.com\/index.php\/2020\/07\/17\/ein-java-dienst-mit-systemctl-einrichten\/\"},\"author\":{\"name\":\"Franz-Martin\",\"@id\":\"https:\/\/www.virtualberater.com\/#\/schema\/person\/c70d622c592ff122093a39649b040609\"},\"headline\":\"Ein Java Dienst mit systemctl einrichten\",\"datePublished\":\"2020-07-17T12:04:19+00:00\",\"dateModified\":\"2020-11-05T11:49:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.virtualberater.com\/index.php\/2020\/07\/17\/ein-java-dienst-mit-systemctl-einrichten\/\"},\"wordCount\":672,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.virtualberater.com\/#\/schema\/person\/c70d622c592ff122093a39649b040609\"},\"articleSection\":{\"1\":\"Java\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.virtualberater.com\/index.php\/2020\/07\/17\/ein-java-dienst-mit-systemctl-einrichten\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.virtualberater.com\/index.php\/2020\/07\/17\/ein-java-dienst-mit-systemctl-einrichten\/\",\"url\":\"https:\/\/www.virtualberater.com\/index.php\/2020\/07\/17\/ein-java-dienst-mit-systemctl-einrichten\/\",\"name\":\"Ein Java Dienst mit systemctl einrichten - Virtualberater\",\"isPartOf\":{\"@id\":\"https:\/\/www.virtualberater.com\/#website\"},\"datePublished\":\"2020-07-17T12:04:19+00:00\",\"dateModified\":\"2020-11-05T11:49:46+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.virtualberater.com\/index.php\/2020\/07\/17\/ein-java-dienst-mit-systemctl-einrichten\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.virtualberater.com\/index.php\/2020\/07\/17\/ein-java-dienst-mit-systemctl-einrichten\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.virtualberater.com\/index.php\/2020\/07\/17\/ein-java-dienst-mit-systemctl-einrichten\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\/\/www.virtualberater.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ein Java Dienst mit systemctl einrichten\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.virtualberater.com\/#website\",\"url\":\"https:\/\/www.virtualberater.com\/\",\"name\":\"Virtualberater\",\"description\":\"Java und mehr\",\"publisher\":{\"@id\":\"https:\/\/www.virtualberater.com\/#\/schema\/person\/c70d622c592ff122093a39649b040609\"},\"alternateName\":\"Java Entwicklung, Microframeworks und Cloud-Native Solutions\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.virtualberater.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/www.virtualberater.com\/#\/schema\/person\/c70d622c592ff122093a39649b040609\",\"name\":\"Franz-Martin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.virtualberater.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/383ead0152e9bb024087006ad8dbfa33de9e321b670411b3370ad907f770a666?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/383ead0152e9bb024087006ad8dbfa33de9e321b670411b3370ad907f770a666?s=96&d=mm&r=g\",\"caption\":\"Franz-Martin\"},\"logo\":{\"@id\":\"https:\/\/www.virtualberater.com\/#\/schema\/person\/image\/\"},\"url\":\"https:\/\/www.virtualberater.com\/index.php\/author\/franz-martin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Ein Java Dienst mit systemctl einrichten - Virtualberater","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.virtualberater.com\/index.php\/2020\/07\/17\/ein-java-dienst-mit-systemctl-einrichten\/","og_locale":"de_DE","og_type":"article","og_title":"Ein Java Dienst mit systemctl einrichten - Virtualberater","og_description":"In Debian gibt es seit einigen Jahren f\u00fcr die Diensteverwaltung systemctl oder systemd. Das Kommandozeilentool systemctl gibt dir dabei die M\u00f6glichkeit einen Dienst einzurichten bzw. zu starten, stoppen, bei Konfigurations-\u00e4nderungen zu reloaden oder zu restarten. Ausserdem kannst die dir auch jederzeit mit status den Zustand deines Dienstes anschauen. Auch systemctl [&hellip;]","og_url":"https:\/\/www.virtualberater.com\/index.php\/2020\/07\/17\/ein-java-dienst-mit-systemctl-einrichten\/","og_site_name":"Virtualberater","article_published_time":"2020-07-17T12:04:19+00:00","article_modified_time":"2020-11-05T11:49:46+00:00","author":"Franz-Martin","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Franz-Martin","Gesch\u00e4tzte Lesezeit":"5\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.virtualberater.com\/index.php\/2020\/07\/17\/ein-java-dienst-mit-systemctl-einrichten\/#article","isPartOf":{"@id":"https:\/\/www.virtualberater.com\/index.php\/2020\/07\/17\/ein-java-dienst-mit-systemctl-einrichten\/"},"author":{"name":"Franz-Martin","@id":"https:\/\/www.virtualberater.com\/#\/schema\/person\/c70d622c592ff122093a39649b040609"},"headline":"Ein Java Dienst mit systemctl einrichten","datePublished":"2020-07-17T12:04:19+00:00","dateModified":"2020-11-05T11:49:46+00:00","mainEntityOfPage":{"@id":"https:\/\/www.virtualberater.com\/index.php\/2020\/07\/17\/ein-java-dienst-mit-systemctl-einrichten\/"},"wordCount":672,"commentCount":0,"publisher":{"@id":"https:\/\/www.virtualberater.com\/#\/schema\/person\/c70d622c592ff122093a39649b040609"},"articleSection":{"1":"Java"},"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.virtualberater.com\/index.php\/2020\/07\/17\/ein-java-dienst-mit-systemctl-einrichten\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.virtualberater.com\/index.php\/2020\/07\/17\/ein-java-dienst-mit-systemctl-einrichten\/","url":"https:\/\/www.virtualberater.com\/index.php\/2020\/07\/17\/ein-java-dienst-mit-systemctl-einrichten\/","name":"Ein Java Dienst mit systemctl einrichten - Virtualberater","isPartOf":{"@id":"https:\/\/www.virtualberater.com\/#website"},"datePublished":"2020-07-17T12:04:19+00:00","dateModified":"2020-11-05T11:49:46+00:00","breadcrumb":{"@id":"https:\/\/www.virtualberater.com\/index.php\/2020\/07\/17\/ein-java-dienst-mit-systemctl-einrichten\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.virtualberater.com\/index.php\/2020\/07\/17\/ein-java-dienst-mit-systemctl-einrichten\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.virtualberater.com\/index.php\/2020\/07\/17\/ein-java-dienst-mit-systemctl-einrichten\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/www.virtualberater.com\/"},{"@type":"ListItem","position":2,"name":"Ein Java Dienst mit systemctl einrichten"}]},{"@type":"WebSite","@id":"https:\/\/www.virtualberater.com\/#website","url":"https:\/\/www.virtualberater.com\/","name":"Virtualberater","description":"Java und mehr","publisher":{"@id":"https:\/\/www.virtualberater.com\/#\/schema\/person\/c70d622c592ff122093a39649b040609"},"alternateName":"Java Entwicklung, Microframeworks und Cloud-Native Solutions","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.virtualberater.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":["Person","Organization"],"@id":"https:\/\/www.virtualberater.com\/#\/schema\/person\/c70d622c592ff122093a39649b040609","name":"Franz-Martin","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.virtualberater.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/383ead0152e9bb024087006ad8dbfa33de9e321b670411b3370ad907f770a666?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/383ead0152e9bb024087006ad8dbfa33de9e321b670411b3370ad907f770a666?s=96&d=mm&r=g","caption":"Franz-Martin"},"logo":{"@id":"https:\/\/www.virtualberater.com\/#\/schema\/person\/image\/"},"url":"https:\/\/www.virtualberater.com\/index.php\/author\/franz-martin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.virtualberater.com\/index.php\/wp-json\/wp\/v2\/posts\/793","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.virtualberater.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.virtualberater.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.virtualberater.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.virtualberater.com\/index.php\/wp-json\/wp\/v2\/comments?post=793"}],"version-history":[{"count":11,"href":"https:\/\/www.virtualberater.com\/index.php\/wp-json\/wp\/v2\/posts\/793\/revisions"}],"predecessor-version":[{"id":836,"href":"https:\/\/www.virtualberater.com\/index.php\/wp-json\/wp\/v2\/posts\/793\/revisions\/836"}],"wp:attachment":[{"href":"https:\/\/www.virtualberater.com\/index.php\/wp-json\/wp\/v2\/media?parent=793"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.virtualberater.com\/index.php\/wp-json\/wp\/v2\/categories?post=793"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.virtualberater.com\/index.php\/wp-json\/wp\/v2\/tags?post=793"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}