{"id":5,"date":"2016-09-23T13:18:28","date_gmt":"2016-09-23T11:18:28","guid":{"rendered":"https:\/\/thierrys-blog.dynu.com\/?p=5"},"modified":"2016-10-12T20:19:55","modified_gmt":"2016-10-12T18:19:55","slug":"apache2-konfiguration-virtualhosts","status":"publish","type":"post","link":"https:\/\/thierrys-blog.ch\/index.php\/2016\/09\/23\/apache2-konfiguration-virtualhosts\/","title":{"rendered":"Apache2 Konfiguration VirtualHosts"},"content":{"rendered":"<p>Der\u00a0Apache Webserver kann aus einem oder mehreren VirtualHost bestehen. Somit kann man mehrere Webseiten auf dem gleichen Server hosten. In der Konfiguration wird danach bestimmt welche Domain bzw Subdomain auf welche Webseite zugreift.<\/p>\n<p>Aus Erfahrungen empfiehlt es sich f\u00fcr jede Website eine Konfigurationsdatei zu erstellen.<\/p>\n<p>Eine grundlegende VirtualHost Konfiguration sieht so aus:<\/p>\n<pre class=\"lang:default decode:true\">&lt;VirtualHost *:80&gt; \r\nServerName example.ch \r\nDocumentRoot \/var\/www\/example.ch\/ \r\n&lt;\/VirtualHost&gt;<\/pre>\n<ol>\n<li>In der ersten Zeile wird der Port angegeben auf welchem er lauschen soll.<\/li>\n<li>In der zweiten Zeile wird die Domain definiert f\u00fcr die der VirtualHost zust\u00e4ndig sein soll.<\/li>\n<li>In der dritten Zeile wird das Wurzelverzeichnis angegeben, in dem die index.html oder\u00a0index.php Datei liegt.<\/li>\n<\/ol>\n<p>Die VirtualHost Konfigurationsdatei werden unter <strong>\/etc\/apache2\/sites-available\/<\/strong> geschrieben und \u00fcblicherweise mit dem Domainnamen benennt Bsp. <strong>example.ch.conf<\/strong><\/p>\n<p>Danach m\u00fcssen wir neu angelegte VH-Konfigurationsdateien zuerst aktivieren damit diese vom Apache Webserver beachtet werden.<\/p>\n<pre class=\"lang:default decode:true\">a2ensite example.ch.conf<\/pre>\n<p>Ebenfalls m\u00fcssen die Konfigurationen neu eingelesen werden<\/p>\n<pre class=\"lang:default decode:true \">service apache2 reload\r\n<\/pre>\n<p>Somit ist der VirtualHost aktiv und man kann \u00fcber den Domainnamen auf die Website zugreifen.<\/p>\n<p>Ein VirtualHost l\u00e4sst sich ebenfalls auch wieder \u00fcber folgenden Befehl deaktivieren<\/p>\n<pre class=\"lang:default decode:true\">a2dissite example.ch.conf\r\n<\/pre>\n<p>Auch in diesem Fall ist es n\u00f6tig, den Webserver \u00fcber den Befehl <strong>&#8222;service apache2 reload&#8220;<\/strong> neu zu laden.<\/p>\n<p>&nbsp;<\/p>\n<p>Bei mir sehen mittlerweile alle VirtualHost wie folgt aus:<\/p>\n<pre class=\"lang:default decode:true\">&lt;VirtualHost *:80&gt;\r\n        ServerName example.ch\r\n\r\n        # Das folgende erzwingt SSL\r\n        RewriteEngine On\r\n        RewriteCond %{HTTPS} off\r\n        RewriteRule (.*) https:\/\/%{HTTP_HOST}%{REQUEST_URI}\r\n&lt;\/VirtualHost&gt;\r\n\r\n&lt;VirtualHost *:443&gt;\r\n    ServerName example.ch\r\n    DocumentRoot \/var\/www\/\r\n    ServerAlias www.example.ch\r\n\r\n # Example SSL configuration\r\n  SSLEngine on\r\n  SSLProtocol all -SSLv2\r\n  SSLCertificateFile \"\/etc\/letsencrypt\/live\/example.ch\/fullchain.pem\"\r\n  SSLCertificateKeyFile \"\/etc\/letsencrypt\/live\/example.ch\/privkey.pem\"\r\n\r\n&lt;\/VirtualHost&gt;<\/pre>\n<p>In diesem Fall wird man immer von Port 80 auf Port 443 gelangen und eine SSL Verschl\u00fcsselung erhalten. Da ich mit Let&#8217;s Encrypt meine Zertifikate erstelle gibt es auch keine Zertifikatfehler und kann Problemlos mit einer SSL Verschl\u00fcsselung auf der Website surfen. Wie man Let&#8217;s Encrypt nutzt zeige ich euch in einem n\u00e4chsten Blog.<\/p>\n<p>&nbsp;<\/p>\n<p>Es gibt Zahlreiche\u00a0Einstellungsm\u00f6glichkeiten f\u00fcr einen VirtualHost, auf die ich zun\u00e4chst nicht weiter eingehen m\u00f6chte. Bei der default.conf sind diverse Einstellungen beschrieben und vorgeben.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Der\u00a0Apache Webserver kann aus einem oder mehreren VirtualHost bestehen. Somit kann man mehrere Webseiten auf dem gleichen Server hosten. In<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":true,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[6],"tags":[],"class_list":["post-5","post","type-post","status-publish","format-standard","hentry","category-webserver"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p7VJBK-5","_links":{"self":[{"href":"https:\/\/thierrys-blog.ch\/index.php\/wp-json\/wp\/v2\/posts\/5","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thierrys-blog.ch\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thierrys-blog.ch\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thierrys-blog.ch\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thierrys-blog.ch\/index.php\/wp-json\/wp\/v2\/comments?post=5"}],"version-history":[{"count":9,"href":"https:\/\/thierrys-blog.ch\/index.php\/wp-json\/wp\/v2\/posts\/5\/revisions"}],"predecessor-version":[{"id":88,"href":"https:\/\/thierrys-blog.ch\/index.php\/wp-json\/wp\/v2\/posts\/5\/revisions\/88"}],"wp:attachment":[{"href":"https:\/\/thierrys-blog.ch\/index.php\/wp-json\/wp\/v2\/media?parent=5"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thierrys-blog.ch\/index.php\/wp-json\/wp\/v2\/categories?post=5"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thierrys-blog.ch\/index.php\/wp-json\/wp\/v2\/tags?post=5"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}