{"id":246,"date":"2018-12-23T14:39:00","date_gmt":"2018-12-23T13:39:00","guid":{"rendered":"https:\/\/jet0jlh.de\/?p=246"},"modified":"2020-06-28T12:22:44","modified_gmt":"2020-06-28T10:22:44","slug":"nexcloud-einrichten","status":"publish","type":"post","link":"https:\/\/jet0jlh.de\/?p=246","title":{"rendered":"Nexcloud einrichten"},"content":{"rendered":"\n<p><strong>Vorab:<\/strong> Das Tutorial setzt auf eine sehr abgesicherte Cloudl\u00f6sung. Wer bestimmte Sicherheiteinstellungen so nicht \u00fcbernehmen m\u00f6chte oder es anders implementieren m\u00f6chte, sollte sich im klaren sein, dass seine Daten eventuell \u00f6ffentlich zug\u00e4nglich in der Cloud liegen.<br>Als Grundlage hierf\u00fcr gehe ich von einem Apache2 Webserver mit php7.2, einer Mysql\/MariaDB Datenbank und dem passenden mysql Connector aus. Wenn noch nicht vorhanden, dann den Server auf den aktuellen Stand bringen und wie folgt installieren:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>apt update\napt upgrade\napt install apache2 libapache2-mod-php7.2 mysql-server php7.2-mysql<\/code><\/pre>\n\n\n\n<p>Nun richten wir f\u00fcr unsere Cloud ein Verzeichnis auf dem Server ein, laden uns die neuste Version der Nextcloud und sichern diese mit den passenden Rechten ab. Ich verwende hier gerne den \/srv Pfad:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd \/srv\nwget https:\/\/download.nextcloud.com\/server\/releases\/nextcloud-15.0.0.zip #Bitte nach aktuellem Pfad suchen https:\/\/nextcloud.com\/install\/\nunzip nextcloud-15.0.0.zip\nrm nextcloud-15.0.0.zip\nchown -R www-data:www-data .\/nextcloud\nchmod -R 770 .\/nextcloud<\/code><\/pre>\n\n\n\n<p>Nun geht es daran, dem Apache mitzuteilen, dass dieser auch auf \/srv oder wer will nur auf \/srv\/nextcloud zugreifen darf.<br>Hierzu wird die Datei \/etc\/apache2\/apache2.conf bearbeitet. Standardm\u00e4\u00dfig gibt es bereits den ben\u00f6tigten Eintrag in dieser Datei und muss daher nur noch einkommentiert und leicht angepasst werden:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;Directory \/srv\/nextcloud>\n       Options Indexes FollowSymLinks\n       AllowOverride All\n       Require all granted\n&lt;\/Directory><\/code><\/pre>\n\n\n\n<p>Nun m\u00fcssen wir Apache nur noch mitteilen, was zutun ist, wenn jemand auf unsere Cloud zugreifen will.<br>Hierzu gibt es zwei unterscheidungen. Daher nur bei einem der Punkt weitermachen. Was ich als zwingen notwendig erachte ist, dass die Cloud nur verschl\u00fcsselt erreichbar ist. Daher wird nur das gezeigt.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Keine Dom\u00e4ne vorhanden<\/h2>\n\n\n\n<p>Da keine Dom\u00e4ne vorhanden ist, k\u00f6nnen wir nicht per Subdom\u00e4ne die Cloud zur Verf\u00fcgung stellen. Daher wird nur die Seite zur Verf\u00fcgung gestellt. Man k\u00f6nnte aber \u00fcber andere Ports mehrere Seiten zur Verf\u00fcgung stellen. Hierzu muss aber der entsprechende Port noch in der Apache Konfiguration bekannt gemacht werden. Ich gehe aber davon aus, dass der Apache sonst nichts eingertichtet ist und bisher keine Anpassungen gemacht wurden!<br>Als erstes muss ein selbstausgestelltes Zertifikat ausgestellt werden: <a href=\"?p=244\">Zum Tutorial<\/a><br>Nun leeren wir die Datei \/etc\/apache2\/sites-available\/000-default.conf und f\u00fcgen folgenden Inhalt ein:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;VirtualHost *:80>\n\tDocumentRoot \"\/srv\/nextcloud\"\n\t&lt;IfModule mod_rewrite.c>\n\t\tRewriteEngine On\n\t\tRewriteCond %{HTTPS} off\n\t\tRewriteRule (.*) https:\/\/%{HTTP_HOST}%{REQUEST_URI} &#91;R=301,L]\n\t&lt;\/IfModule>\n&lt;\/VirtualHost>\n&lt;IfModule mod_ssl.c>\n\t&lt;VirtualHost *:443>\n\t\tDocumentRoot \"\/srv\/nextcloud\"\n\t\tSSLEngine on\n\t\tSSLCertificateFile &lt;path>\/server.crt\n\t\tSSLCertificateChainFile &lt;path>\/server.csr\n\t\tSSLCertificateKeyFile &lt;path>\/server.key\n\t&lt;\/VirtualHost>\n&lt;\/IfModule><\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">2. Eine Dom\u00e4ne ist vorhanden<\/h2>\n\n\n\n<p>Zuerst erstellen wir f\u00fcr unsere Cloud eine neue Konfigurationsdatei f\u00fcr den Apache Server z.B. \/etc\/apache2\/sites-available\/nextcloud.conf und f\u00fcgen dort folgenden einfachen Inhalt ein:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;VirtualHost *:80>\n        ServerName nextcloud.domainname.de\n        DocumentRoot \"\/srv\/nextcloud\"\n&lt;\/VirtualHost><\/code><\/pre>\n\n\n\n<p>Nun erstellen wir uns f\u00fcr unsere Dom\u00e4ne und der gew\u00fcnschten Subdom\u00e4ne bei Let&#8217;s Encrypt ein Zertifikat und lassen den Apache automatisch konfigurieren: <span class=\"has-inline-color has-vivid-red-color\">Tutorial folgt noch<\/span><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Hier geht es dann wieder f\u00fcr alle weiter<\/h2>\n\n\n\n<p>Nun aktivieren wir noch die ben\u00f6tigent Module wie folgt und aktivieren die neue Konfiguration:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>a2enmod ssl rewrite\nservice apache2 restart<\/code><\/pre>\n\n\n\n<p>Bevor es nun auf der Website selber weiter geht muss noch kurz eine neue Datenbank angelegt werden und am Besten noch ein seperater Benutzer der nur auf diese Datenbank zugreifen darf. <span class=\"has-inline-color has-vivid-red-color\">Tutorial folgt vielleicht<\/span><br><br>Die restliche Konfiguration wird nun auf der Website durchgef\u00fchrt. Die ben\u00f6tigten Angaben sind selbstsprechend. Hierzu wird meiner Meinung nach kein Tutorial ben\u00f6tigt.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vorab: Das Tutorial setzt auf eine sehr abgesicherte Cloudl\u00f6sung. Wer bestimmte Sicherheiteinstellungen so nicht \u00fcbernehmen m\u00f6chte oder es anders implementieren m\u00f6chte, sollte sich im klaren sein, dass seine Daten eventuell \u00f6ffentlich zug\u00e4nglich in der Cloud liegen.Als Grundlage hierf\u00fcr gehe ich von einem Apache2 Webserver mit php7.2, einer Mysql\/MariaDB Datenbank und&#8230; <a href=\"https:\/\/jet0jlh.de\/?p=246\">Read more &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20],"tags":[],"class_list":["post-246","post","type-post","status-publish","format-standard","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/jet0jlh.de\/index.php?rest_route=\/wp\/v2\/posts\/246","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jet0jlh.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jet0jlh.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jet0jlh.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jet0jlh.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=246"}],"version-history":[{"count":1,"href":"https:\/\/jet0jlh.de\/index.php?rest_route=\/wp\/v2\/posts\/246\/revisions"}],"predecessor-version":[{"id":247,"href":"https:\/\/jet0jlh.de\/index.php?rest_route=\/wp\/v2\/posts\/246\/revisions\/247"}],"wp:attachment":[{"href":"https:\/\/jet0jlh.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=246"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jet0jlh.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=246"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jet0jlh.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=246"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}