New file |
| | |
| | | [[source]] |
| | | url = "https://pypi.python.org/simple" |
| | | verify_ssl = true |
| | | name = "pypi" |
| | | |
| | | [packages] |
| | | sphinx = "*" |
| | | sphinx-rtd-theme = "*" |
| | | |
| | | [dev-packages] |
| | | |
| | | [requires] |
| | | python_version = "3.9" |
New file |
| | |
| | | { |
| | | "_meta": { |
| | | "hash": { |
| | | "sha256": "7205e21d1d077da165229a43df71ccc4632036cd489e3b52253d96ad687c038f" |
| | | }, |
| | | "pipfile-spec": 6, |
| | | "requires": { |
| | | "python_version": "3.9" |
| | | }, |
| | | "sources": [ |
| | | { |
| | | "name": "pypi", |
| | | "url": "https://pypi.python.org/simple", |
| | | "verify_ssl": true |
| | | } |
| | | ] |
| | | }, |
| | | "default": { |
| | | "alabaster": { |
| | | "hashes": [ |
| | | "sha256:446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359", |
| | | "sha256:a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02" |
| | | ], |
| | | "version": "==0.7.12" |
| | | }, |
| | | "babel": { |
| | | "hashes": [ |
| | | "sha256:ab49e12b91d937cd11f0b67cb259a57ab4ad2b59ac7a3b41d6c06c0ac5b0def9", |
| | | "sha256:bc0c176f9f6a994582230df350aa6e05ba2ebe4b3ac317eab29d9be5d2768da0" |
| | | ], |
| | | "version": "==2.9.1" |
| | | }, |
| | | "certifi": { |
| | | "hashes": [ |
| | | "sha256:78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872", |
| | | "sha256:d62a0163eb4c2344ac042ab2bdf75399a71a2d8c7d47eac2e2ee91b9d6339569" |
| | | ], |
| | | "version": "==2021.10.8" |
| | | }, |
| | | "charset-normalizer": { |
| | | "hashes": [ |
| | | "sha256:2857e29ff0d34db842cd7ca3230549d1a697f96ee6d3fb071cfa6c7393832597", |
| | | "sha256:6881edbebdb17b39b4eaaa821b438bf6eddffb4468cf344f09f89def34a8b1df" |
| | | ], |
| | | "markers": "python_version >= '3'", |
| | | "version": "==2.0.12" |
| | | }, |
| | | "docutils": { |
| | | "hashes": [ |
| | | "sha256:686577d2e4c32380bb50cbb22f575ed742d58168cee37e99117a854bcd88f125", |
| | | "sha256:cf316c8370a737a022b72b56874f6602acf974a37a9fba42ec2876387549fc61" |
| | | ], |
| | | "version": "==0.17.1" |
| | | }, |
| | | "idna": { |
| | | "hashes": [ |
| | | "sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff", |
| | | "sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d" |
| | | ], |
| | | "markers": "python_version >= '3'", |
| | | "version": "==3.3" |
| | | }, |
| | | "imagesize": { |
| | | "hashes": [ |
| | | "sha256:1db2f82529e53c3e929e8926a1fa9235aa82d0bd0c580359c67ec31b2fddaa8c", |
| | | "sha256:cd1750d452385ca327479d45b64d9c7729ecf0b3969a58148298c77092261f9d" |
| | | ], |
| | | "version": "==1.3.0" |
| | | }, |
| | | "importlib-metadata": { |
| | | "hashes": [ |
| | | "sha256:1208431ca90a8cca1a6b8af391bb53c1a2db74e5d1cef6ddced95d4b2062edc6", |
| | | "sha256:ea4c597ebf37142f827b8f39299579e31685c31d3a438b59f469406afd0f2539" |
| | | ], |
| | | "markers": "python_version < '3.10'", |
| | | "version": "==4.11.3" |
| | | }, |
| | | "jinja2": { |
| | | "hashes": [ |
| | | "sha256:539835f51a74a69f41b848a9645dbdc35b4f20a3b601e2d9a7e22947b15ff119", |
| | | "sha256:640bed4bb501cbd17194b3cace1dc2126f5b619cf068a726b98192a0fde74ae9" |
| | | ], |
| | | "version": "==3.1.1" |
| | | }, |
| | | "markupsafe": { |
| | | "hashes": [ |
| | | "sha256:0212a68688482dc52b2d45013df70d169f542b7394fc744c02a57374a4207003", |
| | | "sha256:089cf3dbf0cd6c100f02945abeb18484bd1ee57a079aefd52cffd17fba910b88", |
| | | "sha256:10c1bfff05d95783da83491be968e8fe789263689c02724e0c691933c52994f5", |
| | | "sha256:33b74d289bd2f5e527beadcaa3f401e0df0a89927c1559c8566c066fa4248ab7", |
| | | "sha256:3799351e2336dc91ea70b034983ee71cf2f9533cdff7c14c90ea126bfd95d65a", |
| | | "sha256:3ce11ee3f23f79dbd06fb3d63e2f6af7b12db1d46932fe7bd8afa259a5996603", |
| | | "sha256:421be9fbf0ffe9ffd7a378aafebbf6f4602d564d34be190fc19a193232fd12b1", |
| | | "sha256:43093fb83d8343aac0b1baa75516da6092f58f41200907ef92448ecab8825135", |
| | | "sha256:46d00d6cfecdde84d40e572d63735ef81423ad31184100411e6e3388d405e247", |
| | | "sha256:4a33dea2b688b3190ee12bd7cfa29d39c9ed176bda40bfa11099a3ce5d3a7ac6", |
| | | "sha256:4b9fe39a2ccc108a4accc2676e77da025ce383c108593d65cc909add5c3bd601", |
| | | "sha256:56442863ed2b06d19c37f94d999035e15ee982988920e12a5b4ba29b62ad1f77", |
| | | "sha256:671cd1187ed5e62818414afe79ed29da836dde67166a9fac6d435873c44fdd02", |
| | | "sha256:694deca8d702d5db21ec83983ce0bb4b26a578e71fbdbd4fdcd387daa90e4d5e", |
| | | "sha256:6a074d34ee7a5ce3effbc526b7083ec9731bb3cbf921bbe1d3005d4d2bdb3a63", |
| | | "sha256:6d0072fea50feec76a4c418096652f2c3238eaa014b2f94aeb1d56a66b41403f", |
| | | "sha256:6fbf47b5d3728c6aea2abb0589b5d30459e369baa772e0f37a0320185e87c980", |
| | | "sha256:7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b", |
| | | "sha256:86b1f75c4e7c2ac2ccdaec2b9022845dbb81880ca318bb7a0a01fbf7813e3812", |
| | | "sha256:8dc1c72a69aa7e082593c4a203dcf94ddb74bb5c8a731e4e1eb68d031e8498ff", |
| | | "sha256:8e3dcf21f367459434c18e71b2a9532d96547aef8a871872a5bd69a715c15f96", |
| | | "sha256:8e576a51ad59e4bfaac456023a78f6b5e6e7651dcd383bcc3e18d06f9b55d6d1", |
| | | "sha256:96e37a3dc86e80bf81758c152fe66dbf60ed5eca3d26305edf01892257049925", |
| | | "sha256:97a68e6ada378df82bc9f16b800ab77cbf4b2fada0081794318520138c088e4a", |
| | | "sha256:99a2a507ed3ac881b975a2976d59f38c19386d128e7a9a18b7df6fff1fd4c1d6", |
| | | "sha256:a49907dd8420c5685cfa064a1335b6754b74541bbb3706c259c02ed65b644b3e", |
| | | "sha256:b09bf97215625a311f669476f44b8b318b075847b49316d3e28c08e41a7a573f", |
| | | "sha256:b7bd98b796e2b6553da7225aeb61f447f80a1ca64f41d83612e6139ca5213aa4", |
| | | "sha256:b87db4360013327109564f0e591bd2a3b318547bcef31b468a92ee504d07ae4f", |
| | | "sha256:bcb3ed405ed3222f9904899563d6fc492ff75cce56cba05e32eff40e6acbeaa3", |
| | | "sha256:d4306c36ca495956b6d568d276ac11fdd9c30a36f1b6eb928070dc5360b22e1c", |
| | | "sha256:d5ee4f386140395a2c818d149221149c54849dfcfcb9f1debfe07a8b8bd63f9a", |
| | | "sha256:dda30ba7e87fbbb7eab1ec9f58678558fd9a6b8b853530e176eabd064da81417", |
| | | "sha256:e04e26803c9c3851c931eac40c695602c6295b8d432cbe78609649ad9bd2da8a", |
| | | "sha256:e1c0b87e09fa55a220f058d1d49d3fb8df88fbfab58558f1198e08c1e1de842a", |
| | | "sha256:e72591e9ecd94d7feb70c1cbd7be7b3ebea3f548870aa91e2732960fa4d57a37", |
| | | "sha256:e8c843bbcda3a2f1e3c2ab25913c80a3c5376cd00c6e8c4a86a89a28c8dc5452", |
| | | "sha256:efc1913fd2ca4f334418481c7e595c00aad186563bbc1ec76067848c7ca0a933", |
| | | "sha256:f121a1420d4e173a5d96e47e9a0c0dcff965afdf1626d28de1460815f7c4ee7a", |
| | | "sha256:fc7b548b17d238737688817ab67deebb30e8073c95749d55538ed473130ec0c7" |
| | | ], |
| | | "version": "==2.1.1" |
| | | }, |
| | | "packaging": { |
| | | "hashes": [ |
| | | "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb", |
| | | "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522" |
| | | ], |
| | | "version": "==21.3" |
| | | }, |
| | | "pygments": { |
| | | "hashes": [ |
| | | "sha256:44238f1b60a76d78fc8ca0528ee429702aae011c265fe6a8dd8b63049ae41c65", |
| | | "sha256:4e426f72023d88d03b2fa258de560726ce890ff3b630f88c21cbb8b2503b8c6a" |
| | | ], |
| | | "version": "==2.11.2" |
| | | }, |
| | | "pyparsing": { |
| | | "hashes": [ |
| | | "sha256:18ee9022775d270c55187733956460083db60b37d0d0fb357445f3094eed3eea", |
| | | "sha256:a6c06a88f252e6c322f65faf8f418b16213b51bdfaece0524c1c1bc30c63c484" |
| | | ], |
| | | "version": "==3.0.7" |
| | | }, |
| | | "pytz": { |
| | | "hashes": [ |
| | | "sha256:1e760e2fe6a8163bc0b3d9a19c4f84342afa0a2affebfaa84b01b978a02ecaa7", |
| | | "sha256:e68985985296d9a66a881eb3193b0906246245294a881e7c8afe623866ac6a5c" |
| | | ], |
| | | "version": "==2022.1" |
| | | }, |
| | | "requests": { |
| | | "hashes": [ |
| | | "sha256:68d7c56fd5a8999887728ef304a6d12edc7be74f1cfa47714fc8b414525c9a61", |
| | | "sha256:f22fa1e554c9ddfd16e6e41ac79759e17be9e492b3587efa038054674760e72d" |
| | | ], |
| | | "version": "==2.27.1" |
| | | }, |
| | | "snowballstemmer": { |
| | | "hashes": [ |
| | | "sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1", |
| | | "sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a" |
| | | ], |
| | | "version": "==2.2.0" |
| | | }, |
| | | "sphinx": { |
| | | "hashes": [ |
| | | "sha256:7bf8ca9637a4ee15af412d1a1d9689fec70523a68ca9bb9127c2f3eeb344e2e6", |
| | | "sha256:ebf612653238bcc8f4359627a9b7ce44ede6fdd75d9d30f68255c7383d3a6226" |
| | | ], |
| | | "index": "pypi", |
| | | "version": "==4.5.0" |
| | | }, |
| | | "sphinx-rtd-theme": { |
| | | "hashes": [ |
| | | "sha256:4d35a56f4508cfee4c4fb604373ede6feae2a306731d533f409ef5c3496fdbd8", |
| | | "sha256:eec6d497e4c2195fa0e8b2016b337532b8a699a68bcb22a512870e16925c6a5c" |
| | | ], |
| | | "index": "pypi", |
| | | "version": "==1.0.0" |
| | | }, |
| | | "sphinxcontrib-applehelp": { |
| | | "hashes": [ |
| | | "sha256:806111e5e962be97c29ec4c1e7fe277bfd19e9652fb1a4392105b43e01af885a", |
| | | "sha256:a072735ec80e7675e3f432fcae8610ecf509c5f1869d17e2eecff44389cdbc58" |
| | | ], |
| | | "version": "==1.0.2" |
| | | }, |
| | | "sphinxcontrib-devhelp": { |
| | | "hashes": [ |
| | | "sha256:8165223f9a335cc1af7ffe1ed31d2871f325254c0423bc0c4c7cd1c1e4734a2e", |
| | | "sha256:ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4" |
| | | ], |
| | | "version": "==1.0.2" |
| | | }, |
| | | "sphinxcontrib-htmlhelp": { |
| | | "hashes": [ |
| | | "sha256:d412243dfb797ae3ec2b59eca0e52dac12e75a241bf0e4eb861e450d06c6ed07", |
| | | "sha256:f5f8bb2d0d629f398bf47d0d69c07bc13b65f75a81ad9e2f71a63d4b7a2f6db2" |
| | | ], |
| | | "version": "==2.0.0" |
| | | }, |
| | | "sphinxcontrib-jsmath": { |
| | | "hashes": [ |
| | | "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178", |
| | | "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8" |
| | | ], |
| | | "version": "==1.0.1" |
| | | }, |
| | | "sphinxcontrib-qthelp": { |
| | | "hashes": [ |
| | | "sha256:4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72", |
| | | "sha256:bd9fc24bcb748a8d51fd4ecaade681350aa63009a347a8c14e637895444dfab6" |
| | | ], |
| | | "version": "==1.0.3" |
| | | }, |
| | | "sphinxcontrib-serializinghtml": { |
| | | "hashes": [ |
| | | "sha256:352a9a00ae864471d3a7ead8d7d79f5fc0b57e8b3f95e9867eb9eb28999b92fd", |
| | | "sha256:aa5f6de5dfdf809ef505c4895e51ef5c9eac17d0f287933eb49ec495280b6952" |
| | | ], |
| | | "version": "==1.1.5" |
| | | }, |
| | | "urllib3": { |
| | | "hashes": [ |
| | | "sha256:44ece4d53fb1706f667c9bd1c648f5469a2ec925fcf3a776667042d645472c14", |
| | | "sha256:aabaf16477806a5e1dd19aa41f8c2b7950dd3c746362d7e3223dbe6de6ac448e" |
| | | ], |
| | | "version": "==1.26.9" |
| | | }, |
| | | "zipp": { |
| | | "hashes": [ |
| | | "sha256:56bf8aadb83c24db6c4b577e13de374ccfb67da2078beba1d037c17980bf43ad", |
| | | "sha256:c4f6e5bbf48e74f7a38e7cc5b0480ff42b0ae5178957d564d18932525d5cf099" |
| | | ], |
| | | "version": "==3.8.0" |
| | | } |
| | | }, |
| | | "develop": {} |
| | | } |
New file |
| | |
| | | # Einleitung {#kap-einfuehrung} |
| | | |
| | |  |
| | | |
| | | Dieses Handbuch richtet sich an Anwender, welche ihre Internetprojekte |
| | | bei der Hostsharing eG betreiben möchten. Es bietet einen Überblick über |
| | | die Infrastruktur, eine Einführung in deren Nutzung sowie eine |
| | | Beschreibung typischer Prozesse. |
| | | |
| | | Unser besonderer Dank gilt allen, die zu diesem Handbuch beigetragen |
| | | haben, insbesondere: Purodha Blissenbach, Christian Günter, Jan Ulrich |
| | | Hasecke, Michael Hierweck, Peter Hormanns, Uwe Müller, Veit Schiele, |
| | | Dominic Schlegel und Lars Trebing. |
| | | |
| | | ## Managed Operations Platform |
| | | |
| | | Die Hostsharing eG betreibt für ihre Mitglieder eine [Managed Operations |
| | | Platform](https://www.hostsharing.net/features/) für den Betrieb von |
| | | Web-Anwendungen. Die gesamte bereitgestellte Infrastruktur -- von der |
| | | Hardware über Netze bis zur Softwareumgebung mit ihren administrativen |
| | | Tools -- wird von der Hostsharing eG bereitgestellt, gewartet, |
| | | aktualisiert und überwacht, sodass sich die Mitglieder auf den Betrieb |
| | | ihrer indviduellen Internetangebote konzentrieren können. Das Angebot |
| | | wird durch passende Beratungs- und Unterstützungsleistungen abgerundet. |
| | | |
| | | ## Web-Pakete |
| | | |
| | | Die Mitglieder nutzen die Managed Operations Platform in Form von |
| | | Web-Paketen. |
| | | |
| | | Ein Web-Paket stellt einen Verbund von Benutzerkennungen, Domains, |
| | | E-Mail-Adressen, Postfächern, Datenbanken und weiteren Funktionen dar, |
| | | welchem Ressourcen wie Speicherplatz und Datentransfervolumen zugeordnet |
| | | sind. |
| | | |
| | | Ein Web-Paket ermöglicht die Nutzung von: |
| | | |
| | | - Web-Anwendungen |
| | | - Daemons |
| | | - E-Mail-Infrastruktur |
| | | - Domains und Subdomains |
| | | - TLS-Verschlüsselung |
| | | - Datenbanken |
| | | - verschiedenen Programmiersprachen |
| | | |
| | | Web-Pakete eignen sich zum Betrieb eines oder mehrerer Internetangebote. |
| | | Jedes Mitglied kann beliebig viele Web-Pakete bestellen und verwalten. |
| | | |
| | | Ein Web-Paket kann einzeln als [Managed |
| | | Webspace](https://www.hostsharing.net/angebote/managed-webspace/) |
| | | gebucht werden. Auf einem [Managed |
| | | Server](https://www.hostsharing.net/angebote/managed-server/) können ein |
| | | oder mehrere Web-Pakete betrieben werden. |
| | | |
| | | ## Managed Webspace |
| | | |
| | | {width="30.0%"} |
| | | |
| | | Mit der Buchung eines Managed Webspace erhält das Mitglied ein Webpaket, |
| | | welches auf einem Server untergebracht ist, dessen Ressourcen sich die |
| | | Mitglieder teilen (Shared Hosting). Mitglieder können mehrere Managed |
| | | Webspaces buchen und erhalten mit jeder Buchung ein weiteres Web-Paket. |
| | | |
| | | Mit der Buchung von Managed Webspace erhält das Mitglied Speicherplatz |
| | | zugewiesen, ein Traffic-Kontingent und ein Kontingent von |
| | | Benutzerkonten, Datenbanken und E-Mail-Adressen. Diese Ressourcen sind |
| | | modular zubuchbar. CPU und RAM werden gemeinsam genutzt. |
| | | |
| | | ## Managed Server |
| | | |
| | | {width="30.0%"} |
| | | |
| | | Mit der Buchung eines Managed Servers erhält das Mitglied Speicherplatz, |
| | | CPU und RAM dediziert zugewiesen sowie ein Traffic-Kontingent. Diese |
| | | Ressourcen sind modular zubuchbar. Das Mitglied kann beliebig viele |
| | | Benutzerkonten, Datenbanken und E-Mail-Adressen einrichten und sie in |
| | | Form von Web-Paketen mandantenfähig gruppieren. Um einen Managed Server |
| | | nutzen zu können, werden also auf diesem wenigstens ein, bei Bedarf auch |
| | | mehrere Web-Pakete eingerichtet. |
| | | |
| | | Verschiedene Managed Server eines Mitglieds können auf Wunsch über |
| | | interne Netze miteinander verbunden werden, um sichere Kommunikation |
| | | zwischen Komponenten eines verteilten Deployments zu realisieren. |
| | | |
| | | Mehrere Mitglieder können sich einen Managed Server teilen. Ein |
| | | Reselling an Endkunden ist möglich. |
| | | |
| | | ## Best Practice |
| | | |
| | | Mitglieder von Hostsharing können den Aufbau ihrer Webanwendungen sehr |
| | | frei gestalten, denn Hostsharing bietet ein hohes Maß an Flexibilität. |
| | | Dennoch ist es sinnvoll, bei der Organisation seiner Webanwendungen |
| | | bestimmte Verfahrensweisen zu beachten, die erfahrungsgemäß die |
| | | Sicherheit erhöhen. Dazu gehört vor allem die Nutzung der Vorteile, die |
| | | das Linux-Betriebssystem aufgrund seiner Mehrbenutzerfähigkeit bietet. |
| | | |
| | | ### Pro Anwendung ein Benutzer |
| | | |
| | | Wenn auf einem Linux-Betriebssystem zwei Anwendungen (A und B) unter |
| | | verschiedenen Benutzern (`xyz00-a` und `xyz00-b`) laufen, sind sie in |
| | | gewisser Hinsicht gegeneinander abgeschottet. Wenn es einem Angreifer |
| | | gelingt, durch eine Sicherheitslücke in Anwendung A die Benutzerrechte |
| | | von `xyz00-a` zu erlangen, kann er mit diesen Rechten im Heimverzeichnis |
| | | von `xyz00-a` jeden beliebigen Schaden anrichten. Im Heimverzeichnis von |
| | | `xyz00-b` besitzt er jedoch keine Lese- und Schreibrechte, sodass er |
| | | dort auch keine Schäden verursachen kann. |
| | | |
| | | Deshalb gilt es bei Hostsharing als Best Practice für jede Domain und |
| | | jede Anwendung einen eigenen Benutzer anzulegen. Hostsharing hat |
| | | verschiedene Benutzerrollen vorgesehen, die jeweils spezifische Aufgaben |
| | | übernehmen. Die Rollen werden in `kap-benutzerrollen`{.interpreted-text |
| | | role="numref"} ausführlich erklärt. |
| | | |
| | | ## Weitere Informationsquellen |
| | | |
| | | Wenn Ihnen dieses Handbuch nicht weiterhilft, können Sie die folgenden |
| | | Informationsquellen nutzen. |
| | | |
| | | Das Hostsharing Wiki |
| | | |
| | | : Das [Hostsharing |
| | | Wiki](https://wiki.hostsharing.net/index.php?title=Hauptseite) wird |
| | | von den Mitgliedern der Hostsharing eG gepflegt. Es enthält vor |
| | | allem |
| | | [Installationsanleitungen](https://wiki.hostsharing.net/index.php?title=Kategorie:Installationsanleitungen) |
| | | für die diversen Webanwendungen, die unsere Mitglieder auf der |
| | | Managed Operations Platform betreiben. |
| | | |
| | | Die Support-Mailingliste |
| | | |
| | | : Die Mitglieder der Hostsharing eG helfen sich gegenseitig auf der |
| | | [Support-Mailingliste](https://lists.hostsharing.net/mailman/listinfo/support). |
| | | Sie müssen die Mailingliste abonnieren, um Fragen zu stellen. Werfen |
| | | Sie einen Blick in das Mailinglisten-Archiv, bevor Sie Ihre Frage |
| | | stellen. Unter Umständen wurde sie schon beantwortet. |
| | | |
| | | Der Hostsharing-Service |
| | | |
| | | : Falls Sie ein besonderes Problem mit Ihrem Web-Paket haben, können |
| | | Sie per E-Mail den [Hostsharing-Service](service@hostsharing.net) |
| | | direkt fragen. In dringenden Fällen können Sie den Service auch |
| | | telefonisch unter der Nummer +49 40 2093313-11 erreichen. |
New file |
| | |
| | | # Domain-Benutzer anlegen |
| | | |
| | | Bevor wir eine Domain aufschalten, müssen wir einen Benutzer mit der |
| | | Rolle `Domain-Admin`{.interpreted-text role="role"} anlegen. Rufen Sie |
| | | dazu das Webfrontend von HSAdmin über den Link |
| | | <https://admin.hostsharing.net> auf und loggen Sie sich mit der |
| | | Benutzerkennung des `Paket-Admin`{.interpreted-text role="role"} ein. In |
| | | unserem Beispiel ist das `xyz00`. |
| | | |
| | | Gehen Sie in den Bereich `Web-Paket`{.interpreted-text role="guilabel"} |
| | | und dort in das Menü `Benutzer/Postfach`{.interpreted-text |
| | | role="guilabel"}. Klicken Sie nun auf das Plus-Symbol |
| | | `Neuen Eintrag anlegen`{.interpreted-text role="guilabel"}. Es öffnet |
| | | sich das in `fig-domain-admin-anlegen`{.interpreted-text role="numref"} |
| | | gezeigte Menü zum Anlegen eines neuen Benutzers. |
| | | |
| | | ::: {#fig-domain-admin-anlegen} |
| | | {width="100.0%"} |
| | | ::: |
| | | |
| | | Die Felder für den Benutzer und das Passwort sind rot umrandet. Das |
| | | zeigt an, dass Sie diese Felder bearbeiten müssen. Das Kürzel für den |
| | | Paket-Admin ist bereits eingetragen. Sie müssen lediglich nach dem |
| | | Bindestrich eine Bezeichnung eingeben, die Ihnen sinnvoll erscheint. |
| | | Während das Kürzel am Anfang (z.B. `xyz00`) zwingend vorgegeben ist, |
| | | können Sie die Bezeichnung dahinter frei wählen. Denken Sie an den Zweck |
| | | des Benutzers. Er verwaltet eine oder mehrere Domains. Wenn Sie in Ihrem |
| | | Web-Paket nur eine Domain verwalten wollen, können Sie den Benutzer zum |
| | | Beispiel `xyz00-domain` nennen. Wenn der Benutzer mehrere Domains |
| | | verwalten soll, kann sein Name zur verständlichen Kennzeichung |
| | | `xyz00-doms` lauten. Und wenn Sie mehrere Domains mit unterschiedlichen |
| | | Domain-Admins in einem Paket verwalten wollen, können Sie in den Namen |
| | | auch die jeweilige Domain einfügen, wie zum Beispiel |
| | | `xyz00-hs_example.de`. Wir empfehlen aus Sicherheitsgründen für jede |
| | | Domain einen eigenen Domain-Admin anzulegen. In |
| | | `kap-hsscript-skript`{.interpreted-text role="numref"} erfahren Sie, wie |
| | | Sie mit Hilfe eines Skripts die Anlage neuer Domains und neuer |
| | | Domain-Admins vereinfachen können. |
| | | |
| | | ::: admonition |
| | | Beachten Sie die Namenskonvention |
| | | |
| | | Alle Benutzernamen beginnen mit dem Kürzel für das Paket, in unserem |
| | | Beispiel `xyz00`. Ergänzungen können mit einem Bindestrich abgetrennt |
| | | werden wie zum Beispiel in dem Benutzernamen für den Domain-Admin |
| | | `xyz00-doms`. Es ist nur ein Bindestrich zulässig. Weitere gültige |
| | | Trennzeichen zur Verbesserung der Lesbarkeit sind ein Punkt und der |
| | | Unterstrich. Es sind also folgende Benutzernamen für Domain-Benutzer |
| | | möglich: `xyz00-example_de`, `xyz00-example.de` oder |
| | | `xyz00-hs_example.de`. |
| | | ::: |
| | | |
| | | Durch die Anlage eines Domain-Admins erzeugen Sie einen Unix-Benutzer |
| | | mit einer eigenen Verzeichnisstruktur in Ihrem Webpaket. Die Arbeit mit |
| | | verschiedenen Benutzern dient der Sicherheit. Falls durch eine |
| | | Sicherheitslücke in einer Website jemand Zugang zum Verzeichnis des |
| | | Domain-Admins erhält, kann er nur dort Schaden anrichten und nicht im |
| | | gesamten Web-Paket, das von dem Paket-Admin verwaltet wird. Lesen Sie |
| | | mehr dazu in `kap-benutzerrollen`{.interpreted-text role="numref"}. |
| | | |
| | | Es ist möglich einem Domain-Admin mehrere Domains zuzuordnen. Die Ordner |
| | | und Dateien für jede einzelne Domain befinden sich dann alle im |
| | | Heimverzeichnis des Domain-Admins im Ordner `/doms`{.interpreted-text |
| | | role="file"}. Dieses Vorgehen, das der leichteren Übersicht dient, |
| | | reduziert die Sicherheit, da mehrere Domains mit einem Unix-Benutzer |
| | | betrieben werden. Wenn Sie unsicher sind, welches Vorgehen Sie bei der |
| | | Organisation Ihrer Websites nutzen sollen, fragen Sie den Service. |
| | | |
| | | In `fig-domain-admin-ausgefuellt`{.interpreted-text role="numref"} sehen |
| | | Sie ein Beispiel mit dem Benutzernamen `xyz00-doms`. |
| | | |
| | | ::: {#fig-domain-admin-ausgefuellt} |
| | | {width="100.0%"} |
| | | ::: |
| | | |
| | | Bei der Anlage eines Benutzers müssen Sie folgendes berücksichtigen: |
| | | |
| | | Benutzer/Postfach |
| | | |
| | | : Der Benutzername muss immer mit dem Kürzel des Paket-Admins |
| | | beginnen. Wenn Sie als Paket-Admin in HSAdmin eingeloggt sind, ist |
| | | das Kürzel schon im Formular eingetragen. |
| | | |
| | | Passwort |
| | | |
| | | : HSAdmin erzwingt ein Passwort mit einer Mindestlänge von 6 Zeichen. |
| | | Es muss aus Kleinbuchstaben, Großbuchstaben, Ziffern und |
| | | Sonderzeichen bestehen, wobei Zeichen aus mindestens drei dieser |
| | | Gruppen verwendet werden müssen. |
| | | |
| | | Kurzbeschreibung |
| | | |
| | | : In der Kurzbeschreibung können Sie Informationen vermerken, die |
| | | Ihnen helfen, den Benutzer zuzuordnen. |
| | | |
| | | Shell-/Kommando-Interpreter |
| | | |
| | | : Domain-Admins benötigen eine Shell. Wählen Sie deshalb zum Beispiel |
| | | `/bin/bash`{.interpreted-text role="command"} aus. |
| | | |
| | | Quota (Soft-Limit) |
| | | |
| | | : Hiermit können Sie dem Benutzer und seinen Daten ein |
| | | Festplatten-Quota zuteilen. Man unterscheidet das Soft- und das |
| | | Hard-Limit. Lesen Sie mehr dazu in `kap-quota`{.interpreted-text |
| | | role="numref"}. Wenn Sie nichts eintragen, wird kein gesondertes |
| | | Quota für den Benutzer gesetzt. Lassen Sie die beiden Felder im |
| | | Zweifelsfall leer. |
| | | |
| | | Quota (Hard-Limit) |
| | | |
| | | : Das Hard-Limit des Quota. |
| | | |
| | | Bestätigen Sie die Anlage mit `OK`{.interpreted-text role="guilabel"}. |
| | | |
| | | Nach der Anlage erscheint der neue Benutzer in der Liste des Menüs |
| | | `Benutzer/Postfach`{.interpreted-text role="guilabel"}. |
| | | |
| | | ::: {#fig-domain-admin-angelegt} |
| | | {width="100.0%"} |
| | | ::: |
| | | |
| | | ::: admonition |
| | | Best Practice |
| | | |
| | | Legen Sie für jede Domain einen gesonderten Domain-Admin an. Nutzen Sie |
| | | dabei zum Beispiel das Namensschema `xyz00-hs_example.de`. |
| | | ::: |
| | | |
| | | ```{=latex} |
| | | \clearpage |
| | | ``` |
New file |
| | |
| | | # Datenbank einrichten |
| | | |
| | | Wenn Sie für eine Webanwendung eine MySQL- oder PostgreSQL-Datenbank |
| | | benötigen, können Sie die Datenbank und den Datenbanknutzer in |
| | | `HSAdmin`{.interpreted-text role="command"} anlegen. |
| | | |
| | | ::: hint |
| | | ::: title |
| | | Hint |
| | | ::: |
| | | |
| | | Aus Lizenzgründen pflegt Hostsharing die von MySQL abgespaltene |
| | | Open-Source-Datenbank MariaDB. Das Benutzer-Interface von HSAdmin |
| | | spricht noch von MySQL. Der Einfachheit halber sprechen wir in dieser |
| | | Anleitung deshalb noch von MySQL. |
| | | ::: |
| | | |
| | | Beim Anlegen einer Datenbank ist die Reihenfolge entscheidend: |
| | | |
| | | 1. Zunächst den Datenbanknutzer anlegen, den Verwalter der jeweiligen |
| | | Datenbank |
| | | 2. die Datenbank anlegen. |
| | | |
| | | ::: only |
| | | html |
| | | |
| | | ## Videoanleitung |
| | | ::: |
| | | |
| | | ```{=html} |
| | | <video width="640" height="480" controls src="https://media.hostsharing.net/Datenbank-anlegen.webm"></video> |
| | | ``` |
| | | ### Datenbanknutzer anlegen |
| | | |
| | | Melden Sie sich mit dem Paket-Admin (`xyz00`) bei HSAdmin unter |
| | | <https://admin.hostsharing.net> an und gehen Sie in den Bereich |
| | | `Web-Paket`{.interpreted-text role="guilabel"}. |
| | | |
| | | Klicken Sie das Menü `MySQL-Benutzer`{.interpreted-text role="guilabel"} |
| | | an. Es wird die Liste der MySQL-Benutzer angezeigt, die wie |
| | | `fig-hsadmin-mysql-benutzer`{.interpreted-text role="numref"} zeigt, |
| | | noch leer ist. |
| | | |
| | | ::: {#fig-hsadmin-mysql-benutzer} |
| | | {width="100.0%"} |
| | | ::: |
| | | |
| | | Klicken Sie auf das Plus-Icon `Neuen Eintrag anlegen`{.interpreted-text |
| | | role="guilabel"}. Es erscheint folgende Eingabemaske: |
| | | |
| | | ::: {#fig-hsadmin-mysql-benutzer-anlegen} |
| | | {width="100.0%"} |
| | | ::: |
| | | |
| | | Die Felder werden wie folgt ausgefüllt: |
| | | |
| | | MySQL-Benutzer: |
| | | |
| | | : xyz00_dbuser |
| | | |
| | | Passwort: |
| | | |
| | | : \*\*\*\* |
| | | |
| | | Merken Sie sich den Benutzernamen und das Passwort, da Sie beides bei |
| | | der Konfiguration Ihrer Webanwendung benötigen. |
| | | |
| | | Mit dem Button `OK`{.interpreted-text role="guilabel"} wird der Eintrag |
| | | gespeichert. |
| | | |
| | | Der neue Datenbanknutzer erscheint nun in der Liste des Menüs |
| | | `MySQL-Benutzer`{.interpreted-text role="guilabel"}. |
| | | |
| | | ::: {#fig-hsadmin-mysql-benutzer-angelegt} |
| | | {width="100.0%"} |
| | | ::: |
| | | |
| | | ::: attention |
| | | ::: title |
| | | Attention |
| | | ::: |
| | | |
| | | Beachten Sie, dass der Name eines Datenbankbenutzers immer mit dem |
| | | Paketnamen (in unserem Beispiel `xyz00`) gefolgt von einem Unterstrich |
| | | beginnen muss. Es darf kein Minuszeichen nach dem Paketnamen benutzt |
| | | werden. Zusammen mit den Zeichen danach darf der Name des |
| | | Datenbankbenutzers höchstens 16 Zeichen lang sein, zum Beispiel |
| | | `xyz00_wordpress` (15 Zeichen). |
| | | ::: |
| | | |
| | | ### Datenbank anlegen |
| | | |
| | | Nun können Sie die Datenbank für Ihre Webanwendung anlegen. Gehen Sie in |
| | | das Menü `MySQL-Datenbank`{.interpreted-text role="guilabel"}. Die Liste |
| | | der Datenbanken ist noch leer. Klicken Sie auf das Plus-Icon |
| | | `Neuen Eintrag anlegen`{.interpreted-text role="guilabel"}. |
| | | |
| | | Es öffnet sich das Menü zum Anlegen einer Datenbank. |
| | | |
| | | ::: {#fig-hsadmin-mysql-db-anlegen} |
| | | {width="100.0%"} |
| | | ::: |
| | | |
| | | Die Felder hier: |
| | | |
| | | MySQL-Datenbank |
| | | |
| | | : xyz00_dbmysql |
| | | |
| | | MySQL-Benutzer |
| | | |
| | | : xyz00_dbuser |
| | | |
| | | Zeichenkodierung |
| | | |
| | | : UTF8 |
| | | |
| | | Mit dem Button `OK`{.interpreted-text role="guilabel"} wird der Eintrag |
| | | gespeichert. Die neue Datenbank erscheint in der Liste der Datenbanken. |
| | | |
| | | ::: attention |
| | | ::: title |
| | | Attention |
| | | ::: |
| | | |
| | | Beachten Sie, dass der Name einer Datenbank immer mit dem Paketnamen (in |
| | | unserem Beispiel `xyz00`) gefolgt von einem Unterstrich beginnen muss. |
| | | Es darf kein Minuszeichen nach dem Paketnamen benutzt werden. Zusammen |
| | | mit den Zeichen danach darf der Name der Datenbank höchstens 16 Zeichen |
| | | lang sein, zum Beispiel `xyz00_wpressdb` (14 Zeichen). |
| | | ::: |
| | | |
| | | ::: {#fig-hsadmin-mysql-db-angelegt} |
| | | {width="100.0%"} |
| | | ::: |
| | | |
| | | ```{=latex} |
| | | \clearpage |
| | | ``` |
New file |
| | |
| | | # Domain anlegen und bestellen |
| | | |
| | | Eine Domain wird in zwei Schritten angelegt: |
| | | |
| | | 1. Die Domain im Web-Paket aufschalten |
| | | 2. Die Domain im Domainbestellsystem bestellen |
| | | |
| | | Aus technischen Gründen ist es sinnvoll, diese Reihenfolge einzuhalten. |
| | | Die automatische Konnektierung einer neu bestellten Domain erfolgt nur, |
| | | wenn sie in HSAdmin bereits angelegt ist. |
| | | |
| | | ## Domain in HSAdmin anlegen {#kap-hsadmin-domain-anlegen} |
| | | |
| | | Melden Sie sich in HSAdmin als `Paket-Admin`{.interpreted-text |
| | | role="role"} (im Beispiel: `xyz00`) an. Wechseln Sie in den Bereich |
| | | `Web-Paket`{.interpreted-text role="guilabel"}, wählen Sie Ihr Web-Paket |
| | | aus und öffnen Sie das Menü `Domain`{.interpreted-text role="guilabel"}. |
| | | Die Liste (siehe `fig-hsadmin-domain-anlegen-0`{.interpreted-text |
| | | role="numref"}) ist leer, da noch keine Domain angelegt wurde. |
| | | |
| | | ::: {#fig-hsadmin-domain-anlegen-0} |
| | | {width="100.0%"} |
| | | ::: |
| | | |
| | | Klicken Sie auf das Plus-Symbol |
| | | `Neuen Eintrag anlegen`{.interpreted-text role="guilabel"} und es öffnet |
| | | sich das in `fig-hsadmin-domain-anlegen-1`{.interpreted-text |
| | | role="numref"} gezeigt Menü. |
| | | |
| | | ::: {#fig-hsadmin-domain-anlegen-1} |
| | | {width="100.0%"} |
| | | ::: |
| | | |
| | | Tragen Sie hier den Namen der Domain ein, die Sie anlegen wollen und |
| | | wählen Sie den `Domain-Admin`{.interpreted-text role="role"} aus, in |
| | | dessen Benutzerverzeichnis die Verzeichnisse der Domain angelegt werden |
| | | sollen. |
| | | |
| | | ::: attention |
| | | ::: title |
| | | Attention |
| | | ::: |
| | | |
| | | In diesem Menü ist der Benutzer, mit dem Sie sich eingeloggt haben, |
| | | vorausgewählt. Wenn dies der Paket-Admin (z.B. `xyz00`) ist, wählen Sie |
| | | den gewünschten Domain-Admin aus. |
| | | ::: |
| | | |
| | | Bestätigen Sie die Eingaben mit `OK`{.interpreted-text role="guilabel"}. |
| | | |
| | | Damit ist die Domain in dem Web-Paket `xyz00` technisch angelegt. Sie |
| | | erscheint in der Liste im Menü `Domain`{.interpreted-text |
| | | role="guilabel"}. |
| | | |
| | | ::: {#fig-hsadmin-domain-anlegen-2} |
| | | {width="100.0%"} |
| | | ::: |
| | | |
| | | Wenn Sie die Domain auswählen und das Editier-Symbol |
| | | `Ausgewählten Eintrag bearbeiten`{.interpreted-text role="guilabel"} |
| | | anklicken, können Sie die eben erstellte Domain bearbeiten. |
| | | `fig-hsadmin-domain-bearbeiten`{.interpreted-text role="numref"} zeigt |
| | | das Bearbeitungsmenü. |
| | | |
| | | ::: {#fig-hsadmin-domain-bearbeiten} |
| | | {width="100.0%"} |
| | | ::: |
| | | |
| | | Das Menü zeigt den Domainnamen, den Domain-Admin, das Erstellungsdatum, |
| | | die Domain-Optionen (siehe `kap-domain-optionen`{.interpreted-text |
| | | role="numref"}) und die gültigen Subdomains (siehe |
| | | `kap-ref-subdomains`{.interpreted-text role="numref"}). Ändern Sie hier |
| | | zunächst nichts. |
| | | |
| | | Wenn Sie im Feld `gültige Subdomains`{.interpreted-text role="guilabel"} |
| | | ein `*` als Wildcard eintragen, können Sie sehr einfach leichtgewichtige |
| | | Subdomains erzeugen. Was innerhalb von HSAdmin als leichtgewichtige |
| | | Subdomain bezeichnet wird, erfahren Sie in |
| | | `kap-ref-subdomains`{.interpreted-text role="numref"} |
| | | |
| | | ::: only |
| | | html |
| | | |
| | | ### Videoanleitung |
| | | ::: |
| | | |
| | | ```{=html} |
| | | <video width="786" height="590" controls src="https://media.hostsharing.net/Domain-einrichten.webm"></video> |
| | | ``` |
| | | ## Domain im Domainbestellsystem bestellen |
| | | |
| | | Anschließend kann die Domain hs-example.de unter dem Link |
| | | <https://www.domain-bestellsystem.de> bestellt werden. Die Login-Daten |
| | | dafür wurden Ihnen auf einem separatem Weg mitgeteilt. |
| | | |
| | | ## Domain löschen |
| | | |
| | | Beim Löschen einer Domain gehen Sie am besten folgendermaßen vor. |
| | | |
| | | 1. Die Domain im Domainbestellsystem löschen |
| | | 2. Die Domain in HSAdmin löschen |
| | | |
| | | Es ist die umgekehrte Reihenfolge wie bei der Bestellung einer Domain. |
| | | |
| | | Wenn Sie eine Domain an einen anderen Domainverwalter übertragen wollen, |
| | | müssen Sie die Domain im Domainbestellsystem *in den Transfer geben*. |
| | | Löschen Sie die Domain in HSAdmin erst, wenn die Löschung der Domain |
| | | erfolgt ist bzw. wenn die Domain transferiert und bei einem anderen |
| | | Hoster aufgeschaltet wurde. |
| | | |
| | | ```{=latex} |
| | | \clearpage |
| | | ``` |
New file |
| | |
| | | # E-Mail einrichten |
| | | |
| | | In diesem Kapitel werden zwei E-Mail-Adressen für eine neue Domain |
| | | angelegt: |
| | | |
| | | - Die erste E-Mail-Adresse wird einem Postfach im Webpaket zugeordnet |
| | | - Die zweite E-Mail-Adresse wird einer externen E-Mail-Adresse |
| | | zugeordnet. |
| | | |
| | | ## E-Mail-Adresse für Postfach im Webpaket {#kap-postfach-anlegen} |
| | | |
| | | Wir werden zunächst ein neues Postfach für Peter Mustermann anlegen und |
| | | dieses Postfach danach einer neu eingerichteten E-Mail-Adresse zuordnen. |
| | | |
| | | ### Neuen E-Mail-Benutzer anlegen |
| | | |
| | | Melden Sie sich als `Paket-Admin`{.interpreted-text role="role"} (in |
| | | unserem Beispiel `xyz00`) bei HSAdmin an. Klicken Sie auf das Webpaket, |
| | | in dem Sie einen neuen E-Mail-Benutzer anlegen möchten, in unserem |
| | | Beispiel ist das `xyz00`, und gehen Sie dann in den Bereich |
| | | `Benutzer/Postfach`{.interpreted-text role="guilabel"}. Klicken Sie auf |
| | | das Plussymbol für `Neuen Eintrag anlegen`{.interpreted-text |
| | | role="guilabel"}. |
| | | |
| | | Tragen Sie anschließend die Zugangsdaten des neuen E-Mail-Benutzers ein. |
| | | In unserem Beispiel in |
| | | `fig-hsadmin-pa-postfach-anlegen`{.interpreted-text role="numref"} |
| | | lautet der Benutzernamen `xyz00-mail_pm`. |
| | | |
| | | ::: {#fig-hsadmin-pa-postfach-anlegen} |
| | | {width="100.0%"} |
| | | ::: |
| | | |
| | | E-Mail-Benutzer bekommen keine Shell zugeordnet. Stattdessen wird beim |
| | | Einloggen das Programm `/usr/bin/passwd`{.interpreted-text role="file"} |
| | | gestartet. Speichern Sie den neuen Eintrag mit `OK`{.interpreted-text |
| | | role="guilabel"}. Das neue Konto erscheint nun in der Liste der |
| | | Benutzer. |
| | | |
| | | ::: {#fig-hsadmin-pa-postfach-angelegt} |
| | | {width="100.0%"} |
| | | ::: |
| | | |
| | | ### Neues Postfach einer neuen E-Mail-Adresse zuordnen |
| | | |
| | | Wir werden nun für Peter Mustermann eine neue E-Mail-Adresse anlegen und |
| | | das neue Postfach dieser Adresse zuordnen. |
| | | |
| | | Melden Sie sich als `Paket-Admin`{.interpreted-text role="role"} (in |
| | | unserem Beispiel `xyz00`) bei HSAdmin an. Gehen Sie nach dem Einloggen |
| | | in den Bereich `Domain`{.interpreted-text role="guilabel"}, in dem Ihre |
| | | Domains aufgeführt sind. |
| | | |
| | | Wählen Sie die Domain aus, für die Sie eine E-Mail-Adresse einrichten |
| | | wollen. Im Hauptfenster werden die wesentlichen Informationen zur |
| | | ausgewählten Domain angezeigt (siehe (siehe |
| | | `fig-hsadmin-pa-domain-info`{.interpreted-text role="numref"}) |
| | | |
| | | ::: {#fig-hsadmin-pa-domain-info} |
| | | {width="100.0%"} |
| | | ::: |
| | | |
| | | Klicken Sie auf das Menü `E-Mail-Adresse`{.interpreted-text |
| | | role="guilabel"}, damit die E-Mail-Adressen angezeigt werden, die |
| | | bereits für die Domain eingerichtet wurden (siehe |
| | | `fig-hsadmin-pa-domain-emails`{.interpreted-text role="numref"}). |
| | | |
| | | ::: {#fig-hsadmin-pa-domain-emails} |
| | | {width="100.0%"} |
| | | ::: |
| | | |
| | | Drei E-Mail-Adressen werden automatisch angelegt, wenn Sie eine Domain |
| | | eingerichtet haben: |
| | | |
| | | abuse |
| | | |
| | | : Das ist die Adresse, an die Meldungen bei missbräuchlicher |
| | | Verwendung der Domain versendet werden. Die vollständige Adresse |
| | | lautet in unserem Beispiel <abuse@hs-example.de> |
| | | |
| | | postmaster |
| | | |
| | | : Das ist die Adresse derjenigen Person, die für die E-Mail-Postfächer |
| | | und das E-Mail-System der Domain verantwortlich ist. |
| | | |
| | | webmaster |
| | | |
| | | : Das ist die Adresse des Webmasters, der für die Webauftritte unter |
| | | der Domain technisch verantwortlich ist. |
| | | |
| | | Alle E-Mails an diese Adressen werden in der Voreinstellung an das |
| | | Postfach des zuständigen `Domain-Admin`{.interpreted-text role="role"} |
| | | ausgeliefert. |
| | | |
| | | Klicken Sie nun auf das `+`{.interpreted-text role="guilabel"}-Symbol, |
| | | damit sich das Menü zum Anlegen einer neuen E-Mail-Adresse öffnet. |
| | | |
| | | ::: {#fig-hsadmin-email-postfach-anlegen} |
| | | {width="100.0%"} |
| | | ::: |
| | | |
| | | Die Felder im Einzelnen: |
| | | |
| | | lokaler Teil |
| | | |
| | | : der Teil der E-Mail-Adresse vor dem @-Zeichen, in unserem Beispiel |
| | | `pm`. |
| | | |
| | | Subdomain |
| | | |
| | | : bleibt hier leer, da eine E-Mail-Adresse für die Hauptdomain |
| | | angelegt wird. |
| | | |
| | | Domain |
| | | |
| | | : Hier erscheint die Domain, für die die Adresse eingerichtet wird. In |
| | | unserem Fall: hs-example.de |
| | | |
| | | Postfach/Weiterleitung |
| | | |
| | | : In den Auswahlmenüs können Sie E-Mail-Adresse oder Postfach |
| | | auswählen. Im Beispiel leiten wir die E-Mails an das Postfach des |
| | | Domain-Admin `xyz00-mail_pm` |
| | | |
| | | Bestätigen mit dem Button `OK`{.interpreted-text role="guilabel"}. |
| | | |
| | | Die neue E-Mail-Adresse wird nun in der Liste aufgeführt. |
| | | |
| | | ::: {#fig-hsadmin-email-postfach-angelegt} |
| | | {width="100.0%"} |
| | | ::: |
| | | |
| | | Peter Mustermann ist nun unter der Adresse `pm@hs-example.de` erreichbar |
| | | und kann die Mails mit seinem neuen E-Mail-Konto abrufen. |
| | | |
| | | In `kap-emails-lesen`{.interpreted-text role="numref"} wird beschrieben, |
| | | wie Peter Mustermann seine Mails über ein Webinterface oder mit Hilfe |
| | | eines E-Mail-Programms lesen kann. |
| | | |
| | | ```{=latex} |
| | | \clearpage |
| | | ``` |
| | | ::: only |
| | | html |
| | | |
| | | ### Videoanleitung |
| | | |
| | | ```{=html} |
| | | <video width="786" height="590" controls src="https://media.hostsharing.net/E-Mail-Adresse-und-Postfach-einrichten.webm"></video> |
| | | ``` |
| | | ::: |
| | | |
| | | ## E-Mail-Adresse mit Weiterleitung an externe Mail-Adresse |
| | | |
| | | Um eine weitere E-Mail-Adresse anzulegen die E-Mails an eine *externe* |
| | | E-Mail-Adresse leitet, wird in der Eingabemaske bei: |
| | | Postfach/Weiterleitung: *E-Mail-Adresse* ausgewählt und dahinter dann |
| | | die externe Mail-Adresse, hier <peter@mustermann.de>, eingetragen. |
| | | |
| | | ::: {#fig-hsadmin-email-weiterleitung-1} |
| | | {width="100.0%"} |
| | | ::: |
| | | |
| | | Liste der angelegten E-Mail-Adressen: |
| | | |
| | | ::: {#fig-hsadmin-email-weiterleitung-2} |
| | | {width="100.0%"} |
| | | ::: |
| | | |
| | | ```{=latex} |
| | | \clearpage |
| | | ``` |
| | | ::: todo |
| | | MOS: Die erste E-Mail-Adresse <pm@hs-example.de> steht beim Screenshot |
| | | nicht mehr in der Liste (sondern <info@hs-example.de>) |
| | | ::: |
| | | |
| | | ## E-Mail-Alias einrichten {#kap-email-alias} |
| | | |
| | | Wenn Sie mehrere Domains mit jeweils einem Domain-Admin verwalten, so |
| | | landen E-Mails an die zwingend vorgegebenen Systemempfänger `abuse@`, |
| | | `postmaster@` und `webmaster@` in der Voreinstellung im Postfach des |
| | | jeweiligen Domain-Admin. All diese Postfächer regelmäßig zu |
| | | kontrollieren, ist aufwändig. Deshalb gibt es bei Hostsharing die |
| | | Möglichkeit E-Mail-Aliase einzurichten. Da ein E-Mail-Alias bei der |
| | | Mailzustellung bevorzugt behandelt wird, können Sie unter dem Namen der |
| | | Domain-Admins ein E-Mail-Alias einrichten und zum Beispiel an das |
| | | Postfach des Paket-Admins weiterleiten oder die E-Mail-Adresse des |
| | | Verantwortlichen. |
| | | |
| | | Rufen Sie dazu HSAdmin unter `https://admin.hostsharing.net` auf und |
| | | gehen Sie in den Bereich `Web-Paket`{.interpreted-text role="guilabel"}. |
| | | Wählen Sie das entsprechende Web-Paket aus und öffnen Sie, wie in |
| | | `fig-hsadmin-email-alias-1`{.interpreted-text role="numref"} gezeigt, |
| | | den Reiter `E-Mail-Alias`{.interpreted-text role="guilabel"}. |
| | | |
| | | ::: {#fig-hsadmin-email-alias-1} |
| | | {width="100.0%"} |
| | | ::: |
| | | |
| | | Klicken Sie auf das Pluszeichen, um ein neues E-Mail-Alias hinzuzufügen. |
| | | Es öffnet sich das in `fig-hsadmin-email-alias-2`{.interpreted-text |
| | | role="numref"} gezeigte Formular. Das Kürzel für das Web-Paket ist |
| | | bereits in das Formularfeld eingetragen. |
| | | |
| | | ::: {#fig-hsadmin-email-alias-2} |
| | | {width="100.0%"} |
| | | ::: |
| | | |
| | | Sie können eine E-Mail-Adresse angeben wie in |
| | | `fig-hsadmin-email-alias-3`{.interpreted-text role="numref"}. |
| | | |
| | | ::: {#fig-hsadmin-email-alias-3} |
| | | {width="100.0%"} |
| | | ::: |
| | | |
| | | Sie können aber auch das Postfach eines anderen Benutzers eintragen; in |
| | | `fig-hsadmin-email-alias-4`{.interpreted-text role="numref"} |
| | | beispielsweise das Postfach des Paket-Admins. Das Formularfeld bietet |
| | | Ihnen alle verfügbaren Postfächer zur Auswahl an. |
| | | |
| | | ::: {#fig-hsadmin-email-alias-4} |
| | | {width="100.0%"} |
| | | ::: |
| | | |
| | | Und zu guter Letzt können Sie auch an ein anderes E-Mail-Alias umleiten. |
| | | Bestätigen Sie Ihre Eingabe mit `OK`{.interpreted-text role="guilabel"}. |
| | | Das neue Alias erscheint anschließend in der Liste (siehe |
| | | `fig-hsadmin-email-alias-5`{.interpreted-text role="numref"}). |
| | | |
| | | ::: {#fig-hsadmin-email-alias-5} |
| | |  |
| | | ::: |
| | | |
| | | Gehen Sie beim Anlegen von E-Mail-Aliases systematisch vor, damit Sie in |
| | | komplexen Situationen nicht den Überblick verlieren. Leiten Sie E-Mails |
| | | an Domain-Admins beispielsweise immer an den Paket-Admin weiter oder an |
| | | denjenigen, der für die Domain verantwortlich ist. Das System ist sehr |
| | | flexibel, sodass Sie die Verantwortlichkeiten gut abbilden können und |
| | | auch für spezielle Wünsche Ihrer Benutzer immer eine gute Lösung finden. |
| | | |
| | | ::: admonition |
| | | Hinweis |
| | | |
| | | Nutzen Sie E-Mail-Aliases möglichst nicht, um E-Mails, die an eine |
| | | Funktionsadresse wie `sekretariat@` oder `vertriebsteam@` geht, an |
| | | einzelne Benutzer weiterzuleiten. In diesem Fall ist es übersichtlicher, |
| | | wenn Sie bei der Einrichtung der E-Mail-Adresse gleich mehrere |
| | | Postfächer als Ziel angeben. Alternativ können Sie auch einen Benutzer |
| | | einrichten (zum Beispiel für das Sekretariat `xyz00-sek`) und im |
| | | Heimverzeichnis des Benutzers eine `.forward`{.interpreted-text |
| | | role="file"}-Datei pflegen, die die E-Mail-Adresse aller Empfänger |
| | | enthält. |
| | | ::: |
| | | |
| | | ```{=latex} |
| | | \clearpage |
| | | ``` |
New file |
| | |
| | | # Einführung in HSAdmin {#kap-hsadmin-einstieg} |
| | | |
| | |  |
| | | |
| | | Für einen erfolgreichen Start mit Hostsharing wird hier schrittweise |
| | | gezeigt, wie ein Benutzer eine Domain mit E-Mail-Adresse und eine |
| | | Datenbank in einem neuen Web-Paket angelegt wird. Die Einrichtung |
| | | erfolgt mit dem Webfrontend von `HSAdmin`{.interpreted-text |
| | | role="program"}. Freunde der Konsole können alle Schritte mit der |
| | | CLI-Variante `hsscript`{.interpreted-text role="program"} erledigen. |
| | | |
| | | ::: only |
| | | html |
| | | |
| | | ## Rundgang durch HSAdmin |
| | | ::: |
| | | |
| | | ```{=html} |
| | | <video width="786" height="590" controls src="https://media.hostsharing.net/Erster-Rundgang-HSAdmin.webm"></video> |
| | | ``` |
| | | ::: {.toctree maxdepth="1"} |
| | | passwort benutzer-anlegen domain webspace ssh-key email datenbank |
| | | ::: |
New file |
| | |
| | | # Erstes Einloggen und Änderung des Passworts {#kap-erstes-einloggen} |
| | | |
| | | Wir gehen im Folgenden davon aus, dass der Service für Sie ein Web-Paket |
| | | eingerichtet hat und Sie per E-Mail die Zugangsdaten bekommen haben. In |
| | | der Regel wird der Service Ihnen den Benutzernamen des |
| | | `Paket-Admin`{.interpreted-text role="role"} zusenden. Sie erkennen dies |
| | | daran, dass der Benutzername sich aus der Mitgliederkennung und einer |
| | | Zahl zusammensetzt. In unserem Beispiel ist das `xyz00`. |
| | | |
| | | ::: hint |
| | | ::: title |
| | | Hint |
| | | ::: |
| | | |
| | | Sie werden auf der Hostsharing-Plattform mit verschiedenen Benutzernamen |
| | | arbeiten, von denen einige genau definierte Rollen auf der Plattform |
| | | ausüben. Ausführlich werden die Benutzerrollen in |
| | | `kap-benutzerrollen`{.interpreted-text role="numref"} beschrieben. |
| | | ::: |
| | | |
| | | ## Änderung des Passworts |
| | | |
| | | Zunächst sollten Sie das Passwort, das Sie vom Service erhalten haben, |
| | | ändern. Rufen Sie in Ihrem Browser <https://admin.hostsharing.net> auf, |
| | | um sich in `HSAdmin`{.interpreted-text role="program"} einzuloggen. Sie |
| | | sehen das in Abb. `fig-hsadmin-login-xyz00`{.interpreted-text |
| | | role="numref"} gezeigte Login-Fenster von HSAdmin. |
| | | |
| | | ::: {#fig-hsadmin-login-xyz00} |
| | | {width="70.0%"} |
| | | ::: |
| | | |
| | | Loggen Sie sich mit den Zugangsdaten ein, die Sie vom Service erhalten |
| | | haben. |
| | | |
| | | Nach dem Einloggen werden Sie zu dem in Abb. |
| | | `fig-hsadmin-start-paketadmin`{.interpreted-text role="numref"} |
| | | dargestellten Startbildschirm von HSAdmin weitergeleitet. |
| | | |
| | | ::: {#fig-hsadmin-start-paketadmin} |
| | | {width="100.0%"} |
| | | ::: |
| | | |
| | | In HSAdmin gibt es zwei Bereiche zwischen denen Sie hin- und |
| | | hernavigieren können: |
| | | |
| | | Web-Paket |
| | | |
| | | : Hinter diesem Menü finden Sie alle Ihre Web-Pakete. In unserem |
| | | Beispiel ist dies nur ein Web-Paket mit dem Namen `xyz00`. In diesem |
| | | Menü können Sie Benutzer, Domains, Datenbanken und |
| | | Datenbank-Benutzer anlegen sowie E-Mail-Aliase vergeben. |
| | | |
| | | Domain |
| | | |
| | | : Unter diesem Menü verwalten Sie die E-Mail-Adressen in Ihren |
| | | Domains. Eventuell ist hier bereits eine Beispiel-Domain |
| | | eingerichtet. |
| | | |
| | | Rechts oben sehen Sie einen Link mit der Bezeichnung `xyz00`. Dies ist |
| | | der Benutzername, mit dem Sie sich eingeloggt haben. Nach einem Klick |
| | | auf den Link öffnet sich das in Abb. |
| | | `fig-hsadmin-pa-bearbeiten`{.interpreted-text role="numref"} gezeigte |
| | | Bearbeitungsmenü für den Benutzer. |
| | | |
| | | ::: {#fig-hsadmin-pa-bearbeiten} |
| | | {width="100.0%"} |
| | | ::: |
| | | |
| | | Geben Sie ein neues Passwort ein und bestätigen Sie die Änderung mit |
| | | einem Klick auf OK. |
| | | |
| | | ::: only |
| | | html |
| | | |
| | | ### Videoanleitung |
| | | ::: |
| | | |
| | | ```{=html} |
| | | <video width="786" height="590" controls src="https://media.hostsharing.net/Passwort-des-Paketbenutzers-aendern.webm"></video> |
| | | ``` |
| | | ## Einloggen mit dem Mitglieds-Account {#kap-einloggen-mitglied} |
| | | |
| | | Eventuell hat Ihnen der Service auch die Zugangsdaten für einen |
| | | Benutzernamen mitgeteilt hat, der nur aus drei Buchstaben besteht. Es |
| | | handelt sich dabei um Ihren |
| | | `Mitglieds-Account <Mitglied>`{.interpreted-text role="role"}. Ändern |
| | | Sie auch in diesem Fall sofort das Passwort, indem Sie sich mit diesem |
| | | Benutzer einloggen, auf die Benutzerkennung rechts oben klicken und wie |
| | | im letzten Abschnitt beschrieben ein neues Passwort eingeben. |
| | | |
| | | ::: {#fig-hsadmin-mitglied-webpaket-benutzer} |
| | |  |
| | | ::: |
| | | |
| | | Wenn Sie als Mitglied eingeloggt sind, ist das linke Navigationsmenü um |
| | | einen Eintrag erweitert: |
| | | |
| | | Kunde/Mitglied |
| | | |
| | | : In diesem Menü finden Sie Ihre Mitgliedsdaten. Sie können hier zum |
| | | Beispiel Ihre Anschrift oder Kontoverbindung ändern. |
| | | |
| | | Wenn Sie als Mitglied eingeloggt sind, können Sie auch das Passwort des |
| | | Paket-Admin verändern. Gehen Sie dazu in den Bereich Web-Paket, wählen |
| | | Sie Ihr Web-Paket aus und gehen Sie im rechten Feld in das Menü |
| | | `Benutzer/Postfach`{.interpreted-text role="guilabel"}. Wählen Sie dort |
| | | den Paket-Admin `xyz00` aus. |
| | | |
| | | ::: {#fig-hsadmin-mitglied-webpaket-benutzer-auswaehlen} |
| | | {width="100.0%"} |
| | | ::: |
| | | |
| | | Klicken Sie in der Symbolleiste auf das Bearbeitungssymbol, sodass sich |
| | | das Menü öffnet, in dem Sie ein neues Passwort eingeben können. |
| | | |
| | | ::: {#fig-hsadmin-mitglied-webpaket-benutzer-passwort-aendern} |
| | | {width="100.0%"} |
| | | ::: |
| | | |
| | | Bestätigung mit dem `OK`{.interpreted-text role="guilabel"}-Button. |
New file |
| | |
| | | # Hochladen des SSH-Keys {#kap-ssh-key-hochladen} |
| | | |
| | | Sie können sich ohne Eingabe eines Passworts als |
| | | `Domain-Admin`{.interpreted-text role="role"} einloggen, wenn Sie Ihren |
| | | öffentlichen SSH-Key in das Benutzerverzeichnis des Domain-Admins |
| | | hochladen. |
| | | |
| | | Wenn Sie noch keinen SSH-Key haben, können Sie ihn unter Mac OS X und |
| | | Linux mit diesem Befehl in Ihrem Heimverzeichnis erzeugen: |
| | | |
| | | ``` console |
| | | $ ssh-keygen -b 4096 |
| | | ``` |
| | | |
| | | Der Befehl gibt eine Reihe von Meldungen aus. So werden Sie |
| | | beispielsweise aufgefordert eine Passphrase einzugeben. Dies ist das |
| | | Passwort, mit dem Sie Ihren SSH-Schlüssel beim Einsatz entsperren. |
| | | Wählen Sie eine Phrase, die Sie sich gut merken können, da Sie sie |
| | | häufig benötigen werden. Zur Sicherheit müssen Sie die Passphrase |
| | | zweimal eingeben. Anschließend informiert Sie das Programm, dass Ihr |
| | | geheimer Schlüssel in der Datei `~/.ssh/id_rsa`{.interpreted-text |
| | | role="file"} und ihr öffentlicher Schlüssel in der Datei |
| | | `~/.ssh/id_rsa.pub`{.interpreted-text role="file"} gespeichert wurden. |
| | | |
| | | Nach der Erzeugung des Schlüssels können Sie sich das neue Verzeichnis |
| | | anschauen. |
| | | |
| | | ``` console |
| | | $ ls .ssh/ |
| | | id_rsa id_rsa.pub |
| | | ``` |
| | | |
| | | Nun können Sie Ihren öffentlichen Schlüssel in das Heimverzeichnis des |
| | | Domain-Admin kopieren. Unter Linux und anderen Unix-Systemen geht dies |
| | | mit dem Befehl `ssh-copy-id`{.interpreted-text role="command"}: |
| | | |
| | | ``` console |
| | | $ ssh-copy-id -i ~/.ssh/id_rsa.pub xyz00-doms@xyz00.hostsharing.net |
| | | ``` |
| | | |
| | | Um unter Windows einen SSH-Key zu erzeugen und hochzuladen, können Sie |
| | | das Programm [PuTTY](https://www.putty.org/) nutzen. |
New file |
| | |
| | | # Webspace einrichten |
| | | |
| | | Ihre Webanwendungen -- im einfachsten Fall statische HTML-Seiten -- |
| | | richten Sie in dem Heimverzeichnis des jeweiligen |
| | | `Domain-Admin`{.interpreted-text role="role"} ein. |
| | | |
| | | Loggen Sie sich dazu mit Hilfe von `ssh`{.interpreted-text |
| | | role="command"} ein: |
| | | |
| | | ``` console |
| | | $ ssh xyz00-doms@xyz00.hostsharing.net |
| | | ``` |
| | | |
| | | Sie erreichen alle Benutzerverzeichnisse über die Adresse des jeweiligen |
| | | Pakets. In unserem Beispiel ist das |
| | | `xyz00.hostsharing.net`{.interpreted-text role="file"}. Nach dem |
| | | Einloggen finden Sie die im nächsten Abschnitt beschriebene |
| | | Ordnerstruktur vor. |
| | | |
| | | ## Ordnerstruktur {#kap-einstieg-ordnerstruktur} |
| | | |
| | | Die exemplarische Struktur des Home-Verzeichnisses eines |
| | | `Domain-Admin`{.interpreted-text role="role"} sieht folgendermaßen aus: |
| | | |
| | | ├── doms |
| | | │ ├── hs-example.de |
| | | │ │ ├── app |
| | | │ │ ├── app-ssl |
| | | │ │ ├── cgi |
| | | │ │ ├── cgi-ssl |
| | | │ │ ├── etc |
| | | │ │ │ └── pri.hs-example.de |
| | | │ │ ├── fastcgi |
| | | │ │ │ └── phpstub |
| | | │ │ ├── fastcgi-ssl |
| | | │ │ │ └── phpstub |
| | | │ │ ├── htdocs |
| | | │ │ │ └── .htaccess |
| | | │ │ ├── htdocs-ssl |
| | | │ │ │ └── .htaccess |
| | | │ │ ├── subs |
| | | │ │ │ ├── www |
| | | │ │ │ │ └── index.html |
| | | │ │ │ └── example |
| | | │ │ ├── subs-ssl |
| | | │ │ │ └── www |
| | | │ │ │ └── index.html |
| | | │ │ └── var |
| | | │ └── domain2.tld |
| | | │ ├── app |
| | | │ └── … |
| | | ├── etc |
| | | │ └── config.ini |
| | | └── Maildir |
| | | |
| | | `~/doms`{.interpreted-text role="file"} |
| | | |
| | | : Alle dem Domain-Admin zugewiesenen Domains liegen im Verzeichnis |
| | | `~/doms`{.interpreted-text role="file"}. |
| | | |
| | | `~/doms/hs-example.de`{.interpreted-text role="file"} |
| | | |
| | | : `hs-example.de` die Beispiel-Domain, für die die Verzeichnisse von |
| | | HSAdmin automatisch angelegt wurden. |
| | | |
| | | `~/doms/hs-example.de/app`{.interpreted-text role="file"} |
| | | |
| | | : Dieses Verzeichnis ist als `PassengerAppRoot` des |
| | | Apache-Webserver-Moduls [Phusion |
| | | Passenger](https://www.phusionpassenger.com/) konfiguriert. |
| | | |
| | | `~/doms/hs-example.de/app-ssl`{.interpreted-text role="file"} |
| | | |
| | | : Auch dieses Verzeichnis ist als `PassengerAppRoot` des |
| | | Apache-Webserver-Moduls konfiguriert. Es wird für https-Zugriffe |
| | | genutzt. |
| | | |
| | | `~/doms/hs-example.de/cgi`{.interpreted-text role="file"} |
| | | |
| | | : Dies ist das Basisverzeichnis für CGI-Skripte. Ein Alias bildet |
| | | HTTP-Requests auf `http://hs-example.de/cgi-bin/` auf dieses |
| | | Verzeichnisses ab. |
| | | |
| | | `~/doms/hs-example.de/cgi-ssl`{.interpreted-text role="file"} |
| | | |
| | | : Analog zu `~/doms/hs-example.de/cgi`{.interpreted-text role="file"} |
| | | ist dies das Basisverzeichnis für CGI-Skripte beim Zugriff via |
| | | https. |
| | | |
| | | `~/doms/hs-example.de/etc`{.interpreted-text role="file"} |
| | | |
| | | : Dieses Verzeichnis enthält ggf. das Zonefile, mit dem sich der |
| | | Nameserver [BIND](http://de.wikipedia.org/wiki/BIND) konfigurieren |
| | | lässt |
| | | |
| | | `~/doms/hs-example.de/etc/pri.hs-example.de`{.interpreted-text role="file"} |
| | | |
| | | : Mit dieser Datei können Sie eine Zonendatei für Ihre Domain selbst |
| | | verwalten. Damit können z.B. einzelne Subdomains auf andere Server |
| | | umgeleitet oder eigene Mailserver angesprochen werden. |
| | | |
| | | `~/doms/hs-example.de/fastcgi`{.interpreted-text role="file"} |
| | | |
| | | : Dies ist das Basisverzeichnis für FastCGI-Skripte. Ein Alias bildet |
| | | HTTP-Requests auf `http://hs-example.de/fastcgi-bin/` auf dieses |
| | | Verzeichnis ab. |
| | | |
| | | `~/doms/hs-example.de/fastcgi-ssl`{.interpreted-text role="file"} |
| | | |
| | | : Analog zu `~/doms/hs-example.de/fastcgi`{.interpreted-text |
| | | role="file"} ist dies das Basisverzeichnis für FastCGI-Skripte bei |
| | | https-Zugriffen. Ein Alias bildet HTTP-Requests auf |
| | | `https://hs-example.de/fastcgi-bin/` auf dieses Verzeichnis ab. |
| | | |
| | | `~/doms/hs-example.de/htdocs`{.interpreted-text role="file"} |
| | | |
| | | : Dieses Verzeichnis ist als `DocumentRoot` des Apache Webserver |
| | | konfiguriert. Es dient auch zur Aufnahme statischer Inhalte im |
| | | Zusammenhang mit der Nutzung von Phusion Passenger zur Auslieferung |
| | | der statischen Dateien. |
| | | |
| | | `~/doms/hs-example.de/htdocs/.htaccess`{.interpreted-text role="file"} |
| | | |
| | | : In der Standardkonfiguration enthält diese Datei die Weiterleitung |
| | | auf die `www`-Subdomain: |
| | | |
| | | Redirect permanent / http://www.hs-example.de/ |
| | | |
| | | Die verwendeten Regeln werden auf **alle** Subdomains von |
| | | `hs-example.de` angewendet. In der `.htaccess` können |
| | | |
| | | - eigene Fehlerseiten definiert, |
| | | - MIME-Typen zugewiesen, |
| | | - Passwortschutz eingerichtet, |
| | | - Weiterleitungen durchgeführt werden. |
| | | |
| | | `~/doms/hs-example.de/htdocs-ssl`{.interpreted-text role="file"} |
| | | |
| | | : Analog zu `~/doms/hs-example.de/htdocs`{.interpreted-text |
| | | role="file"} ist dieses Verzeichnis als `DocumentRoot` des Apache |
| | | Webserver für Zugriffe via https konfiguriert. |
| | | |
| | | `~/doms/hs-example.de/subs`{.interpreted-text role="file"} |
| | | |
| | | : Dieses Verzeichnis enthält alle Subdomains. Hier findet sich auch |
| | | die Subdomain *www.hs-example.de*. |
| | | |
| | | `~/doms/hs-example.de/subs/example`{.interpreted-text role="file"} |
| | | |
| | | : Dies ist ein Beispiel für eine Subdomain, die Sie einfach selbst |
| | | anlegen können. Sie müssen hierzu nur im Verzeichnis |
| | | `subs`{.interpreted-text role="file"} ein Verzeichnis mit dem Namen |
| | | der gewünschten Subdomain anlegen und anschließend die Dateien in |
| | | das Verzeichnis übertragen. |
| | | |
| | | `~/doms/hs-example.de/subs/www`{.interpreted-text role="file"} |
| | | |
| | | : Dieses Verzeichnis wird automatisch angelegt und üblicherweise vom |
| | | Webserver angesprochen, wenn keine Subdomain explizit genannt wird. |
| | | Die Adresse `http://hs-example.de` verweist üblicherweise auf |
| | | `http://www.hs-example.de`. |
| | | |
| | | `~/doms/hs-example.de/subs-ssl`{.interpreted-text role="file"} |
| | | |
| | | : Analog zu `~/doms/hs-example.de/subs`{.interpreted-text role="file"} |
| | | enthält dieses Verzeichnis alle Subdomains auf die via https |
| | | zugegriffen wird. |
| | | |
| | | `~/doms/hs-example.de/var`{.interpreted-text role="file"} |
| | | |
| | | : In diesem Verzeichnis werden in der Nacht die Log-Dateien mit den |
| | | Zugriffen auf die Domain in gepackter Form bereitgestellt, wenn dies |
| | | in `/home/pacs/xyz00/etc/config.ini` entsprechend angegeben ist. |
| | | |
| | | ## Zugangsdaten und Einstellungen |
| | | |
| | | Sie können Dateien mit einem FTP-Programm wie |
| | | `FileZilla`{.interpreted-text role="program"}, |
| | | `WinSCP`{.interpreted-text role="program"} oder `scp`{.interpreted-text |
| | | role="command"} in das Web-Paket kopieren. Sie benötigen dazu die |
| | | gleichen Zugangsdaten wie beim Einloggen via `ssh`{.interpreted-text |
| | | role="command"}. |
| | | |
| | | Server: |
| | | |
| | | : xyz00.hostsharing.net |
| | | |
| | | Benutzer: |
| | | |
| | | : xyz00-doms |
| | | |
| | | Passwort: |
| | | |
| | | : PASSWORT |
| | | |
| | | {width="70.0%"} |
| | | |
| | | Wechseln Sie in den Ordner |
| | | `~/doms/hs-example.de/subs/www`{.interpreted-text role="file"}, um zum |
| | | Beispiel statische Webseiten hochzuladen. |
| | | |
| | | {width="70.0%"} |
| | | |
| | | Auf der Kommandozeile geben Sie folgende Befehle ein: |
| | | |
| | | ``` console |
| | | $ cd ~/website-dateien |
| | | $ scp -r . xyz00-doms@xyz00.hostsharing.net:/doms/hs-example.de/subs-ssl/www |
| | | ``` |
| | | |
| | | Die Dateien in dem lokalen Ordner `website-dateien`{.interpreted-text |
| | | role="file"} werden dadurch rekursiv in das Verzeichnis |
| | | `~/doms/hs-example.de/subs-ssl/www`{.interpreted-text role="file"} des |
| | | Domain-Admin kopiert. |
New file |
| | |
| | | # Glossar {#kap-glossar} |
| | | |
| | | ::: glossary |
| | | |
| | | sorted |
| | | |
| | | : |
| | | |
| | | ```{=html} |
| | | <!-- --> |
| | | ``` |
| | | |
| | | SCP |
| | | |
| | | : Secure CoPy (Abk. SCP) ist ein ein Programm zur verschlüsselten |
| | | Übertragung von Daten. |
| | | |
| | | Grace Period |
| | | |
| | | : Frist nach Überschreitung des Softlimit bis das Hardlimit der Quota |
| | | erreicht ist. |
| | | |
| | | Quota |
| | | |
| | | : Begrenzung des Speicherplatzes für einen Nutzer oder einer Gruppe. |
| | | |
| | | .htaccess |
| | | |
| | | : Die Datei ist eine Konfigurationsdatei auf dem Webserver, in der |
| | | verzeichnisbezogene Regeln aufgestellt werden können. |
| | | |
| | | Benutzer |
| | | |
| | | : Benutzer sind Unix-, Shell-, FTP- und E-Mail-Nutzer. |
| | | |
| | | Paket-Admin |
| | | |
| | | : Ein Benutzer, der Administrator eines Web-Pakets ist. |
| | | |
| | | Domain-Admin |
| | | |
| | | : Ein Benutzer, dem mindestens eine Domain zugeordnet ist. |
| | | |
| | | Domain-Bestell-System |
| | | |
| | | : Webfrontend zur Registrierung von Domains |
| | | |
| | | Domain-Registrierung |
| | | |
| | | : Der Vorgang, um eine Domain zu registrieren. |
| | | |
| | | Domain-Transfer |
| | | |
| | | : Umzug einer Domain zu einem anderen Registrar/Provider. Es wird der |
| | | Eintrag in der Registry-Datenbank geändert, der definiert, welcher |
| | | Registrar für diese Domain und deren Inhaber zuständig ist. |
| | | |
| | | E-Mail-Alias |
| | | |
| | | : Virtuelle E-Mail-Empfänger für spezielle Aufgaben. Ein E-Mail-Alias |
| | | ist eine E-Mail-Adresse zur Weiterleitung von E-Mails. |
| | | |
| | | extern registrierte Domain/Sub-Domain |
| | | |
| | | : Die Domain oder Sub-Domain ist bei einem anderen Registrar/Provider |
| | | registriert. Die damit verbundenen Dienste sollen von der |
| | | Hostsharing eG erbracht werden. |
| | | |
| | | Greylisting |
| | | |
| | | : Greylisting ist eine Form der Spam-Bekämpfung, bei der die erste |
| | | E-Mail von unbekannten Absendern zunächst abgewiesen und erst nach |
| | | einem weiteren Zustellversuch angenommen wird. |
| | | |
| | | Hive |
| | | |
| | | : Bezeichnet eine virtuelle Maschine. |
| | | |
| | | Host |
| | | |
| | | : Bezeichnet eine physikalische Maschine. |
| | | |
| | | HSAdmin |
| | | |
| | | : Verwaltungstool der Hostsharing eG. |
| | | |
| | | Mitgliedsaccount |
| | | |
| | | : Account zur Verwaltung der Mitgliedschaft in der Genossenschaft. |
| | | |
| | | shell |
| | | |
| | | : Unix-Shell, Traditionelle Benutzerschnittstelle unter Unix oder |
| | | ähnlichen Betriebssystemen. |
| | | |
| | | Sub-Domain |
| | | |
| | | : Eine Sub-Domain ist eine Domain, die unterhalb einer anderen liegt |
| | | (z.B. test.example.com und www.example.com liegen unerhalb von |
| | | example.com) |
| | | |
| | | SSI |
| | | |
| | | : Server Side Includes sind in Dokumente eingebettete Skript-Befehle, |
| | | die auf einem Webserver ausgeführt werden, bevor das Dokument an den |
| | | Client ausgeliefert wird. |
| | | |
| | | xyz00 |
| | | |
| | | : Synonym für ein Web-Paket. |
| | | |
| | | xyz00\_ |
| | | |
| | | : Synonym: Präfix für einen Datenbanknamen oder einen Datenbanknutzer. |
| | | |
| | | xyz |
| | | |
| | | : Synonym für einen Mitgliedsnamen. |
| | | |
| | | Vacation |
| | | |
| | | : In diesem Zusammenhang steht Vacation für eine Abwesenheit eines |
| | | E-Mail-Empfängers. Ein gleichnamiges Programm kann |
| | | Abwesenheitsbenachrichtigungen an die Versender von E-Mail an den |
| | | abwesenden Empfänger versenden. |
| | | ::: |
New file |
| | |
| | | # Handbuch für Anwender |
| | | |
| | | Die im Jahr 2000 gegründete Hostsharing eG ist eine Genossenschaft für |
| | | Webhosting und IT-Services. Wir verstehen uns als eine Gemeinschaft, die |
| | | im Interesse ihrer Mitglieder und mit den genossenschaftlichen |
| | | Prinzipien der Selbsthilfe, der Selbstverwaltung und der |
| | | Selbstverantwortung die folgenden Ziele verfolgt: |
| | | |
| | | - digitale Souveränität |
| | | - digitale Nachhaltigkeit |
| | | - digitale Exzellenz |
| | | |
| | | Wir legen Wert auf Transparenz, Datensicherheit und Datenschutz. |
| | | Erfahren Sie mehr über Hostsharing auf <https://www.hostsharing.net>. |
| | | |
| | | Dieses Handbuch richtet sich an Anwender, welche ihre Internetprojekte |
| | | bei der Hostsharing eG betreiben möchten. Es bietet einen Überblick über |
| | | die Infrastruktur, eine Einführung in deren Nutzung sowie eine |
| | | Beschreibung typischer Prozesse. |
| | | |
| | | ::: tip |
| | | ::: title |
| | | Tip |
| | | ::: |
| | | |
| | | Sie können das Handbuch auch als PDF |
| | | [herunterladen](https://doc.hostsharing.net/Hostsharing-Benutzerhandbuch.pdf). |
| | | ::: |
| | | |
| | | Unser besonderer Dank gilt allen, die zu diesem Handbuch beigetragen |
| | | haben, insbesondere: |
| | | |
| | | > - Purodha Blissenbach |
| | | > - Christian Günter |
| | | > - Michael Hierweck |
| | | > - Peter Hormanns |
| | | > - Uwe Müller |
| | | > - Veit Schiele |
| | | > - Dominic Schlegel |
| | | > - Lars Trebing |
| | | > - Jan Ulrich Hasecke |
| | | |
| | | ::: {.toctree maxdepth="3" numbered=""} |
| | | einfuehrung/index einstieg/index mail/index referenz/index |
| | | plattform/index |
| | | |
| | | glossar |
| | | ::: |
| | | |
| | | ::: only |
| | | html |
| | | |
| | | - `genindex`{.interpreted-text role="ref"} |
| | | - `modindex`{.interpreted-text role="ref"} |
| | | ::: |
New file |
| | |
| | | # E-Mails senden und empfangen {#kap-emails-lesen} |
| | | |
| | | Wenn Sie bei Hostsharing ein E-Mail-Postfach haben, können Sie auf die |
| | | Mailfunktionen entweder mit einem E-Mail-Programm wie Thunderbird |
| | | zugreifen oder Sie lesen, schreiben und verwalten Ihre E-Mails im |
| | | Webbrowser über das Webmail-Interface von Hostsharing. Wie Sie dabei |
| | | jeweils vorgehen, wird in den folgenden beiden Abschnitten erklärt. |
| | | |
| | | Wir benutzen dabei die folgenden Zugangsdaten. |
| | | |
| | | - E-Mail-Adresse: <pm@hs-example.de> |
| | | - Benutzername: xyz00-mail_pm |
| | | - Passwort: \*\*\*\* |
| | | - IMAP-Server: xyz00.hostsharing.net |
| | | - SMTP-Server: xyz00.hostsharing.net |
| | | |
| | | E-Mail-Adresse: |
| | | |
| | | : Das Anlegen einer E-Mail-Adresse und die Zuweisung zu einem Postfach |
| | | wird in `kap-postfach-anlegen`{.interpreted-text role="numref"} |
| | | beschrieben. |
| | | |
| | | Benutzername: |
| | | |
| | | : Das Anlegen eines E-Mail-Benutzers wird ebenfalls in |
| | | `kap-postfach-anlegen`{.interpreted-text role="numref"} erklärt. |
| | | |
| | | Passwort: |
| | | |
| | | : Dies ist das Passwort, das dem E-Mail-Benutzer vergeben wird. |
| | | |
| | | IMAP-Server: |
| | | |
| | | : Der Name des Mail-Eingangsservers ergibt sich aus dem Paketnamen. Es |
| | | handelt sich immer um eine Subdomain der Domain `hostsharing.net`. |
| | | |
| | | SMTP-Server: |
| | | |
| | | : Auch der Name des Ausgangsserver ergibt sich aus dem Paketnamen. Die |
| | | Adresse ist mit der Adresse des IMAP-Servers identisch. |
| | | |
| | | ## Webmail einrichten |
| | | |
| | | Eine besonders bequeme Art, E-Mails zu lesen und zu schreiben, ist das |
| | | Webinterface von Hostsharing. Hostsharing setzt dafür das |
| | | Open-Source-Programm [Roundcube Webmail](https://roundcube.net/) ein. |
| | | Sie benötigen zur Nutzung nur den Benutzernamen für das Postfach und das |
| | | entsprechende Passwort. Geben Sie im Webbrowser die Adresse |
| | | <https://webmail.hostsharing.net> ein. Wie in |
| | | `fig-webmail-login`{.interpreted-text role="numref"} gezeigt werden Sie |
| | | aufgefordert Ihren Benutzernamen und Ihr Passwort einzugeben. |
| | | |
| | | ::: {#fig-webmail-login} |
| | | {width="100.0%"} |
| | | ::: |
| | | |
| | | Wenn Sie sich das erste Mal mit dem Benutzernamen einloggen, werden Sie |
| | | aufgefordert, Ihre Absenderkennung zu vervollständigen. Vorausgefüllt |
| | | ist der Benutzername für das E-Mail-Konto (`xyz00-mail_pm`) sowie das |
| | | Postfach des E-Mail-Benutzers (`xyz00-mail_pm@xyz00.hostsharing.net`). |
| | | Beide Angaben werden Sie normalerweise so nicht nutzen wollen. |
| | | |
| | | ::: {#fig-webmail-individualisierung-1} |
| | | {width="100.0%"} |
| | | ::: |
| | | |
| | | Tragen Sie deshalb hier zum Beispiel Ihren Namen und die E-Mail-Adresse |
| | | ein, unter der Sie erreichbar sind. In unserem Beispiel sind dies, wie |
| | | in `fig-webmail-individualisierung-2`{.interpreted-text role="numref"} |
| | | gezeigt der Name ›Peter Mustermann‹ und die E-Mailadresse |
| | | ›pm\@hs-example.de‹ |
| | | |
| | | ::: {#fig-webmail-individualisierung-2} |
| | | {width="100.0%"} |
| | | ::: |
| | | |
| | | Nach der Vervollständigung steht Ihnen die Weboberfläche von Roundcube |
| | | zur Verfügung. |
| | | |
| | | ::: {#fig-webmail-oberflaeche} |
| | | {width="100.0%"} |
| | | ::: |
| | | |
| | | Hinweise zur Bedienung von Roundcube finden Sie im Hostsharing Wiki auf |
| | | der Seite: <https://wiki.hostsharing.net/index.php?title=Roundcube> |
| | | |
| | | ## Mail-Client einrichten |
| | | |
| | | Hostsharing unterstützt die Auto-Konfiguration von E-Mail-Clients durch |
| | | die Protokolle [Autoconfig](https://en.wikipedia.org/wiki/Autoconfig) |
| | | und Autodiscover. Um einen E-Mail-Client zu konfigurieren, ist daher oft |
| | | nur die Eingabe der E-Mail-Adresse und des Passworts notwendig. Alles |
| | | andere handelt Ihr E-Mail-Client automatisch mit der |
| | | E-Mail-Infrastruktur von Hostsharing aus. |
| | | |
| | | Falls dies nicht auf Anhieb funktioniert, finden Sie in |
| | | `kap-ref-mailautoconfig`{.interpreted-text role="numref"} mögliche |
| | | Ursachen. Eventuell wurde die Domain nicht so konfiguriert, dass sie die |
| | | Funktion unterstützt. |
| | | |
| | | Im Folgenden beschreiben wir, wie Sie in einem solchen Fall die |
| | | notwendigen Informationen mit der Hand eingeben können. |
| | | |
| | | ### E-Mails über IMAP abrufen |
| | | |
| | | Um Mails mit Hilfe eines Desktop-Clients wie Thunderbird zu empfangen |
| | | und um Mails zu versenden, benötigen Sie bei manueller Eingabe der |
| | | Konfiguration auch die Angaben zum IMAP- und zum SMTP-Server. |
| | | |
| | | Im Folgenden spielen wir das Anlegen eines neuen Kontos im Programm |
| | | Thunderbird durch: |
| | | |
| | | Gehen Sie in das Menü |
| | | `Bearbeiten --> Konto-Einstellungen`{.interpreted-text |
| | | role="menuselection"}, um zu den Konto-Einstellungen zu gelangen. |
| | | Anschließend klicken Sie auf das Menü |
| | | `Konto-Aktionen --> E-Mail-Konto hinzufügen...`{.interpreted-text |
| | | role="menuselection"}, damit sich der in |
| | | `fig-mail-client-1`{.interpreted-text role="numref"} gezeigte Dialog zum |
| | | Anlegen eines neuen E-Mail-Kontos öffnet. |
| | | |
| | | ::: {#fig-mail-client-1} |
| | | {width="100.0%"} |
| | | ::: |
| | | |
| | | Geben Sie dort Ihren Namen, die E-Mail-Adresse und das Passwort des |
| | | E-Mail-Benutzers ein und klicken Sie auf `Weiter`{.interpreted-text |
| | | role="guilabel"}. |
| | | |
| | | ::: {#fig-mail-client-2} |
| | | {width="100.0%"} |
| | | ::: |
| | | |
| | | Thunderbird und andere E-Mail-Clients schließen aus der E-Mail-Adresse |
| | | auf die Zugangsdaten. Die ermittelten bzw. geratenen Zugangsdaten werden |
| | | in `fig-mail-client-2`{.interpreted-text role="numref"} angezeigt. Die |
| | | automatische Konfiguration hat nur dann funktioniert, wenn als |
| | | Posteingangs- und Postausgangsserver eine Adresse in der Form |
| | | `xyz00.hostsharing.net` gefunden wurde. Wenn dies der Fall ist, können |
| | | Sie auf `Fertig`{.interpreted-text role="guilabel"} klicken. Wenn |
| | | Thunderbird einen anderen Servernamen, z.B. wie in der Abbildung unter |
| | | Verwendung Ihrer Domain, angibt, müssen Sie die richtigen Daten manuell |
| | | eingeben. |
| | | |
| | | Klicken Sie dazu auf `Manuell bearbeiten`{.interpreted-text |
| | | role="guilabel"}, damit sich das in |
| | | `fig-mail-client-3`{.interpreted-text role="numref"} gezeigte Formular |
| | | öffnet. |
| | | |
| | | ::: {#fig-mail-client-3} |
| | | {width="100.0%"} |
| | | ::: |
| | | |
| | | Geben Sie in dieses Formular, wie in |
| | | `fig-mail-client-4`{.interpreted-text role="numref"} gezeigt, die |
| | | richtigen Zugangsdaten für den IMAP-Server, den SMTP-Server und den |
| | | Benutzernamen ein. |
| | | |
| | | ::: {#fig-mail-client-4} |
| | | {width="100.0%"} |
| | | ::: |
| | | |
| | | Bestätigen Sie die Eingabe mit einem Klick auf |
| | | `Fertig`{.interpreted-text role="guilabel"}. |
| | | |
| | | ### E-Mails über POP3 abrufen |
| | | |
| | | Sie können E-Mails auch über POP3 abrufen. Benutzen Sie dazu den Port |
| | | 110 für STARTTLS oder 995 für SSL/TLS. Die übrigen Zugangsdaten bleiben |
| | | gleich. Folgen Sie den Anweisungen Ihrer E-Mail-Software. |
| | | |
| | | ::: admonition |
| | | Weitere Informationen |
| | | |
| | | Hostsharing unterstützt verschlüsselte Verbindungen über STARTTLS und |
| | | SSL/TLS auf unterschiedlichen Ports. Lesen Sie dazu |
| | | `kap-ref-maileingang`{.interpreted-text role="numref"} und |
| | | `kap-ref-mailausgang`{.interpreted-text role="numref"}. |
| | | ::: |
| | | |
| | | ## E-Mail-Passwort ändern |
| | | |
| | | E-Mail-Benutzer können ihr Passwort über HSAdmin und teilweise auch per |
| | | SSH ändern. Falls dem E-Mail-Benutzer vom Paket-Admin als Shell das |
| | | Programm `/bin/false`{.interpreted-text role="program"} zugeteilt wurde, |
| | | lässt sich das Passwort nur über HSAdmin ändern. Hat der E-Mail-Benutzer |
| | | dagegen als Shell das Programm `/usr/bin/passwd`{.interpreted-text |
| | | role="program"}, so kann er sein Passwort auch per SSH ändern. Die |
| | | Hintergründe werden in `kap-benutzerrechte`{.interpreted-text |
| | | role="numref"} erklärt. |
| | | |
| | | ### E-Mail-Passwort in HSAdmin ändern |
| | | |
| | | Der Benutzer meldet sich mit seinem E-Mail-Benutzername in HSAdmin an. |
| | | Anschließend klickt er oben rechts auf seinen Benutzernamen. Es öffnet |
| | | sich ein Menü, in dem ein neues Passwort eingetragen werden kann. Die |
| | | Prozedur wurde bereits in `kap-erstes-einloggen`{.interpreted-text |
| | | role="numref"} beschrieben. |
| | | |
| | | ::: only |
| | | html |
| | | |
| | | ```{=html} |
| | | <video width="786" height="590" controls src="https://media.hostsharing.net/Passwort-fuer-E-Mail-Benutzer-via-HSAdmin-aendern.webm"></video> |
| | | ``` |
| | | ::: |
| | | |
| | | ### E-Mail-Passwort per SSH ändern |
| | | |
| | | Der Benutzer meldet sich per SSH im Webpaket an und ändert mit dem |
| | | Programm `passwd`{.interpreted-text role="program"} sein Passwort. Falls |
| | | der E-Mail-Benutzer eine interaktive Shell hat, muss er dazu das |
| | | Programm eigens aufrufen. Wurde ihm jedoch lediglich das Programm |
| | | `/usr/bin/passwd`{.interpreted-text role="program"} zugewiesen, öffnet |
| | | sich statt einer interaktiven Sitzung sofort das Programm |
| | | `passwd`{.interpreted-text role="program"}: |
| | | |
| | | ``` text |
| | | $ ssh xyz00-mail@xyz00.hostsharing.net |
| | | xyz00-mail@xyz00.hostsharing.net's password: |
| | | ``` |
| | | |
| | | Nach Eingabe des aktuellen Passworts wird sofort |
| | | `passwd`{.interpreted-text role="program"} gestartet und erneut das |
| | | aktuelle Passwort abgefragt: |
| | | |
| | | ``` text |
| | | Changing password for xyz00-mail. |
| | | Current password: |
| | | ``` |
| | | |
| | | Nach einer erneuten Eingabe des aktuellen Passworts kann der Benutzer |
| | | zweimal ein neues eingeben. Anschließend erscheint eine Erfolgsmeldung |
| | | und die Verbindung wird geschlossen: |
| | | |
| | | ``` text |
| | | New password: |
| | | Retype new password: |
| | | passwd: password updated successfully |
| | | Connection to xyz00.hostsharing.net closed. |
| | | ``` |
| | | |
| | | Damit ist das neue Passwort gesetzt. |
| | | |
| | | ::: attention |
| | | ::: title |
| | | Attention |
| | | ::: |
| | | |
| | | Bitte vergessen Sie nicht das neue Passwort in Ihr E-Mail-Programm |
| | | einzutragen. |
| | | ::: |
| | | |
| | | ::: only |
| | | html |
| | | |
| | | ```{=html} |
| | | <video width="786" height="590" controls src="https://media.hostsharing.net/Passwort-fuer-E-Mail-Benutzer-via-SSH-aendern.webm"></video> |
| | | ``` |
| | | ::: |
New file |
| | |
| | | # Backup |
| | | |
| | | Hostsharing führt täglich Sicherungen der Daten der Produktivsysteme |
| | | durch. Die Datensicherungen werden in einem vom Produktivrechenzentrum |
| | | rund 5 km entfernten Rechenzentrum aufbewahrt. Die Datenübertragung |
| | | zwischen den Standorten erfolgt ssh-verschlüsselt über eigene Leitungen. |
| | | Die Backups jedes Produktivsystems werden separat archiviert und können |
| | | nur von diesem System zur Rücksicherung angefordert werden. Ferner wird |
| | | gewährleistet, dass Backups nicht nachträglich kompromittiert werden |
| | | können. |
| | | |
| | | In der Regel werden mindestens 15 Backups vorgehalten. |
New file |
| | |
| | | # Managed Operations Platform |
| | | |
| | | In diesem Kapitel beschreiben wir Komponenten der Managed Operations |
| | | Platform. |
| | | |
| | | ::: {.toctree maxdepth="1"} |
| | | rechenzentren netze redundanz replikation monitoring backup |
| | | ::: |
New file |
| | |
| | | # Monitoring |
| | | |
| | | Es werden folgende Dienste/Services/Kenngrößen überwacht: |
| | | |
| | | - HTTP (Webserver) |
| | | - Mailsystem (SMTP, POP3, IMAP) |
| | | - Datenbanken (MySQL, PostgreSQL) |
| | | - Serverlast |
| | | - Festplatten (Speicherplatzauslastung) |
| | | |
| | | Unter <https://status.hostsharing.net> können der Status und evtl. |
| | | Meldungen der Hostmaster nachgelesen werden. |
New file |
| | |
| | | # Netze |
| | | |
| | | ## Separierte Netzwerke |
| | | |
| | | Die Aufteilung in private, abgeschottete Netze (VLANs) zwischen den |
| | | Managed Servern eines Nutzers erlaubt effiziente und sichere |
| | | Verbindungen. |
| | | |
| | | Dabei wird zwischen den folgenden Netzen unterschieden, die nicht nur |
| | | durch VLANs, sondern zusätzlich durch Verkabelung und separate Switches |
| | | oder Router getrennt sind: |
| | | |
| | | Frontend-Netzwerk |
| | | |
| | | : Dieses Netzwerk ist für allgemeine Anfragen gedacht. Die Firewall |
| | | erlaubt aktuell den Zugang zu allen Adressen in diesem Netzwerk. |
| | | Mittelfristig ist geplant, nur beabsichtigt belegte Ports |
| | | freizugeben. |
| | | |
| | | Server-Netzwerk |
| | | |
| | | : Physikalisch getrenntes Netzwerk zur Kommunikation der Anwendungen |
| | | untereinander. In diesem Netzwerk lassen sich VLANs aufschalten, um |
| | | den Traffic zwischen verschiedenen Anwendungskomponenten sicher |
| | | übertragen zu können. Darüberhinaus können auch verschiedene |
| | | Traffic-Arten einer Anwendung separiert werden, so z.B. die |
| | | Verbindung einer Anwendung zur Datenbank von derjenigen zu einem |
| | | Cache oder Load-Balancer. |
| | | |
| | | Speichernetzwerk |
| | | |
| | | : Dieses Netzwerk wird verwendet für Storage-Traffic. Es basiert auf |
| | | dedizierten Punkt-zu-Punkt-Verkabelungen, die von außen nicht |
| | | erreichbar sind. Das Netzwerk nutzt private IPv4-Adressen und ist |
| | | nicht nur von außen nicht erreichbar, sondern auch nur zugänglich |
| | | für die Backup-Server, nicht jedoch für die Managed Server. |
| | | |
| | | Management-Netzwerk |
| | | |
| | | : Dieses physikalische Netzwerk wird verwendet für den Zugang zu |
| | | IPMI-Controllern (Intelligent Platform Management Interface |
| | | Controller), RAC (Remote Access Controller), Switches und Routern. |
| | | Es verwendet private IPv4-Adressen, die von außen nicht erreichbar |
| | | sind. Es wird auch noch verfügbar sein, wenn Probleme in den anderen |
| | | Netzen auftauchen. |
New file |
| | |
| | | # Rechenzentren |
| | | |
| | | ## Berlin, primärer Standort |
| | | |
| | | Die Hostsharing eG betreibt ihre Community Cloud im [Berlin 1 Data |
| | | Center](https://www.e-shelter.de/de/location/berlin-1-data-center) von |
| | | NTT Global Data Centers. Das Rechenzentrum ist nach ISO 9001, ISO 27001 |
| | | und ISO 50001 zertifiziert. |
| | | |
| | | Wachschutz |
| | | |
| | | : Das Rechenzentrum wird durch ein 7-stufiges Sicherheitssystem vor |
| | | unbefugtem Zutritt geschützt. Wachschutz und Sicherheitspersonal |
| | | sind 24 Stunden am Tag anwesend, an 365 Tagen im Jahr. |
| | | |
| | | Betriebssicherheit |
| | | |
| | | : Ebenfalls rund um die Uhr an sieben Tagen in der Woche vor Ort ist |
| | | kompetentes Betriebspersonal, das die ausfallkritische Infrastruktur |
| | | überwacht. Bei einer Störung kann es sofort eingreifen, sodass |
| | | Ausfälle verhindert und maximale Verfügbarkeit gewährleistet ist. |
| | | |
| | | Das Rechenzentrum bietet standardmäßig Tier 3. Auf Anfrage kann |
| | | Hostsharing Tier 4 gewährleisten. |
| | | |
| | | Georedundanz |
| | | |
| | | : Das Berlin 1 Data Center ist eins von 160 Rechenzentren von NTT in |
| | | über 20 Ländern. Auf Anfrage können mit dem Rechenzentrumsbetreiber |
| | | georedundante Lösungen realisiert werden. |
| | | |
| | | ## Berlin, sekundärer Standort |
| | | |
| | | Hostsharing erstellt jeden Tag eine Datensicherung (Backup) in einem |
| | | zweiten, entfernten Rechenzentrum. Es ist nach ISO/IEC 27001:2013 |
| | | zertifiziert und wird von der Firma [I/P/B Internet Provider in Berlin |
| | | GmbH](https://www.ipb.de/) betrieben. |
New file |
| | |
| | | # Redundanz |
| | | |
| | | Hostsharing hält Hardware und aktive Netzwerkkomponenten, welche für den |
| | | Produktiv-Betrieb erforderlich sind, redundant vor. Entsprechendes gilt |
| | | für die Netzwerk- und Stromverkabelung. |
| | | |
| | | Auch die Stromversorgung und Peerings mit den Carrieren sind redundant |
| | | ausgelegt, letztere sogar mehrfach. So hat das Versagen einer einzelnen |
| | | Komponente -- abgesehen von Umschaltzeiten -- keine Auswirkungen auf den |
| | | Produktivbetrieb. |
New file |
| | |
| | | # Replikation |
| | | |
| | | Hostsharing repliziert mit Hilfe der Software DRBD die |
| | | Festplatteninhalte aller Produktivsysteme in Echtzeit auf ein |
| | | Standby-System (RAID 1 über das Netzwerk). |
| | | |
| | | Auf diese Weise stellt Hostsharing sicher, dass im Fall eines |
| | | Hardwareschadens der Betrieb mit allen persistent gespeicherten Daten |
| | | unverzüglich fortgesetzt werden kann, ohne dass durch das Einspielen des |
| | | Backups Datenänderungen, die sich in der Zwischenzeit ergeben haben - |
| | | etwa eingegangene E-Mails oder Datenbanktransaktionen - verloren gehen. |
New file |
| | |
| | | # Backup {#kap-backup} |
| | | |
| | | Hostsharing führt nächtliche Sicherungen der Daten durch. In der Regel |
| | | können jeweils mindestens die letzten 15 nächtlichen Datensicherungen |
| | | wiederhergestellt werden. |
| | | |
| | | In der Datensicherung enthalten sind: |
| | | |
| | | - die Paket-Konfiguration |
| | | - die Dateien im Paket selbst, sofern diese nicht vom Paket-Admin |
| | | explizit ausgeschlossen wurden |
| | | - die zum Paket gehörigen Datenbanken |
| | | - die zum Paket gehörigen eingegangenen E-Mails |
| | | - die Logfiles |
| | | |
| | | ::: attention |
| | | ::: title |
| | | Attention |
| | | ::: |
| | | |
| | | In der Datensicherung sind **nicht** enthalten: |
| | | |
| | | - ausgehende, aber noch nicht versandte E-Mails |
| | | - eingehende, aber noch nicht im Postfach abgelegte E-Mails |
| | | - Dateien in Verzeichnissen für temporäre Daten |
| | | ::: |
| | | |
| | | ## Datenbanken |
| | | |
| | | Unmittelbar vor Beginn der Sicherung der Daten des Dateisystems werden |
| | | MySQL-, PostgreSQL-Datenbanken und `crontab`{.interpreted-text |
| | | role="file"}-Dateien in das Verzeichnis |
| | | `/home/pacs/xyz00/.bak/`{.interpreted-text role="file"} gesichert. Diese |
| | | Sicherungen fließen in die nachfolgende Dateisystemsicherung ein. Die |
| | | Rücksicherung von Datenbanken erfolgt durch den Paket-Admin auf Basis |
| | | der im Verzeichnis `/home/pacs/xyz00/.bak/`{.interpreted-text |
| | | role="file"} abgelegten Datenbanksicherungen. |
| | | |
| | | ## Rücksicherung |
| | | |
| | | Für die Rücksicherung der Datenbestände ist ein Rücksicherungsauftrag |
| | | für die betroffene Sicherungsdatei in Auftrag zu geben. Der |
| | | Rücksicherungsauftrag erfolgt per E-Mail an <service@hostsharing.net> |
| | | und beinhaltet folgende Angaben: |
| | | |
| | | - das betreffende Webpaket, |
| | | - den Pfad des rückzusichernden Verzeichnisses oder alternativ den |
| | | Pfad und den Dateinamen der rückzusichernden Datei |
| | | - sowie das Datum des angeforderten Sicherungslaufs. |
| | | |
| | | Die Rücksicherung wird vom Service unter: |
| | | `/home/restore/YYY-MM-DD`{.interpreted-text role="file"} bereitgestellt. |
New file |
| | |
| | | # Benutzerrollen {#kap-benutzerrollen} |
| | | |
| | | Um Dienste, Programme und Dämonprozesse sicher voneinander zu trennen, |
| | | laufen sie im Debian-Betriebssystem unter verschiedenen Benutzern mit |
| | | jeweils klar definierten Rechten. Dies gilt auch für die Aufgaben, die |
| | | man als Nutzer der Plattform in seinem Web-Paket erledigt. Wer mit der |
| | | Managed Operations Platform Webanwendungen betreibt, muss im Laufe der |
| | | Zeit zahlreiche Benutzer anlegen. Jeder Benutzer erfüllt eine spezielle |
| | | Rolle. Die Rollen werden durch die Vergabe von Rechten auf |
| | | Betriebssystemebene definiert. Für Personen, die bisher noch nicht mit |
| | | Unix-Systemen und dem Konzept unterschiedlicher Benutzer gearbeitet |
| | | haben, stellt dieses Mehrbenutzerkonzept am Anfang eine Hürde dar. |
| | | Ausführliche Unix-Kenntnisse sind nicht erforderlich, um auf der |
| | | Hostsharing-Plattform Benutzer anzulegen, da das Verwaltungswerkzeug |
| | | `HSAdmin`{.interpreted-text role="program"} diese Aufgabe vereinfacht. |
| | | Da in diesem Handbuch die Kenntnis der Rollen an vielen Stellen |
| | | vorausgesetzt wird, werden sie in diesem Kapitel ausführlich |
| | | beschrieben. |
| | | |
| | | # Benutzerrechte {#kap-benutzerrechte} |
| | | |
| | | HSAdmin bietet uns die Möglichkeit, dem Benutzer eine Login-Shell für |
| | | interaktive Sitzungen zuzuordnen oder genau dies zu verhindern. Wir |
| | | haben die Wahl zwischen den Kommandointerpretern |
| | | `bash`{.interpreted-text role="program"}, `csh`{.interpreted-text |
| | | role="program"}, `ksh`{.interpreted-text role="program"}, |
| | | `tcsh`{.interpreted-text role="program"} oder `zsh`{.interpreted-text |
| | | role="program"} und den Programmen `false`{.interpreted-text |
| | | role="program"}, `passwd`{.interpreted-text role="program"} und |
| | | `scponly`{.interpreted-text role="program"}. Abb. |
| | | `fig-hsadmin-shell`{.interpreted-text role="numref"} zeigt das |
| | | entsprechende Menü. |
| | | |
| | | ::: {#fig-hsadmin-shell} |
| | | {width="100.0%"} |
| | | ::: |
| | | |
| | | /bin/false |
| | | |
| | | : Benutzer, denen das Programm `/bin/false`{.interpreted-text |
| | | role="program"} als Shell zugeordnet wird, können sich nicht in |
| | | ihrem Account einloggen und eine interaktive Sitzung starten. Diese |
| | | Einstellung eignet sich für Systembenutzer, die Programme im |
| | | Webpaket ausführen. sich aber nicht von außen einloggen sollen. Dies |
| | | können auch Mail-Benutzer sein. |
| | | |
| | | /bin/bash |
| | | |
| | | : Die |
| | | [Bourne-Again-Shell](https://manpages.debian.org/buster/bash/bash.1.en.html). |
| | | Auf vielen Linuxsystemen ist dies die Standard-Shell. |
| | | |
| | | /bin/csh |
| | | |
| | | : Die [C-Shell](https://manpages.debian.org/buster/csh/csh.1.en.html). |
| | | |
| | | /bin/ksh |
| | | |
| | | : Die |
| | | [Korn-Shell](https://manpages.debian.org/buster/ksh/ksh.1.en.html). |
| | | |
| | | /bin/tcsh |
| | | |
| | | : Eine [erweiterte |
| | | C-Shell](https://manpages.debian.org/buster/tcsh/tcsh.1.en.html). |
| | | |
| | | /bin/zsh |
| | | |
| | | : Die |
| | | [Z-Shell](https://manpages.debian.org/buster/zsh-common/zsh.1.en.html). |
| | | |
| | | /usr/bin/passwd |
| | | |
| | | : Benutzer, denen das Programm `/usr/bin/passwd`{.interpreted-text |
| | | role="program"} zugeordnet wird, können beim Versuch, sich mit |
| | | `ssh`{.interpreted-text role="program"} einzuloggen, ihr Passwort |
| | | ändern. Eine interaktive Sitzung können sie jedoch nicht starten. |
| | | Dies ist sinnvoll, um Benutzern ein größeres Maß an Vertraulichkeit |
| | | ihrer Kommunikation zu ermöglichen. Der Paket-Admin setzt für den |
| | | E-Mail-Benutzer zwar ein initiales Passwort, der Benutzer kann dies |
| | | aber sogleich ändern, sodass der Paket-Admin den E-Mail-Verkehr des |
| | | Benutzers nicht unbemerkt mitlesen kann. |
| | | |
| | | /usr/bin/scponly |
| | | |
| | | : Diese Zuordnung ermöglicht dem Benutzer den Gebrauch der Programme |
| | | `scp`{.interpreted-text role="program"} und `sftp`{.interpreted-text |
| | | role="program"}. Eine interaktive Sitzung ist nicht möglich. |
New file |
| | |
| | | # Datenbank-Webfrontend |
| | | |
| | | Für angelegte Datenbanken stehen folgende Webfrontends zur Verfügung: |
| | | |
| | | MySQL [phpMyAdmin](https://phpmyadmin.hostsharing.net/current). |
| | | |
| | | PostgreSQL [phpPgAdmin](https://phppgadmin.hostsharing.net/current). |
New file |
| | |
| | | # Datenbankzugriff |
| | | |
| | | Der Zugriff erfolgt über folgende Hosts und Ports: |
| | | |
| | | +-----------+-----------+------+ |
| | | | Datenbank | Hostnamen | Port | |
| | | +===========+===========+======+ |
| | | | > MySQL | localhost | 3306 | |
| | | +-----------+-----------+------+ |
| | | | P | localhost | 5432 | |
| | | | ostgreSQL | | | |
| | | +-----------+-----------+------+ |
New file |
| | |
| | | # Datenbanken und Nutzer |
| | | |
| | | Datenbanknutzer haben eine eigene Nutzerverwaltung und sind unabhängig |
| | | von der Vergabe von Rechten auf Betriebsystemebene. |
| | | |
| | | ## Verwaltung der Datenbanken und Datenbanknutzer |
| | | |
| | | Die Verwaltung von Datenbanken und |
| | | `Nutzern<../benutzer/index>`{.interpreted-text role="doc"} erfolgt mit |
| | | `HSAdmin`{.interpreted-text role="term"} über ein Webfrontend oder über |
| | | die `shell`{.interpreted-text role="term"}. |
| | | |
| | | ## Rechte |
| | | |
| | | Datenbanknutzern müssen initial die gewünschten Rechte an den |
| | | entsprechenden Datenbanken vergeben werden. |
| | | |
| | | ## Name |
| | | |
| | | - Datenbanknutzer haben immer den Präfix `xyz00_`. |
| | | - Datenbanken haben immer den Präfix `xyz00_`. |
New file |
| | |
| | | # Datenbanken {#kap-ref-db} |
| | | |
| | | Jeder `Hive`{.interpreted-text role="term"} hat einen eigenen MySQL- und |
| | | PostgreSQL-Datenbankserver. Daraus ergibt sich, dass der jeweilige |
| | | MySQL- und PostgreSQL-Server von allen auf einem Hive eingerichteten |
| | | `Web-Paketen<../webpaket/index>`{.interpreted-text role="doc"} gemeinsam |
| | | genutzt wird. |
| | | |
| | | Der externe Zugriff auf die Datenbanken ist über einen SSH-Tunnel |
| | | möglich. |
| | | |
| | | Inhalt: |
| | | |
| | | ::: {.toctree maxdepth="1 |
| | | |
| | | datenbanken-nutzer |
| | | datenbank-zugriff |
| | | datenbank-webfrontend"} |
| | | ::: |
New file |
| | |
| | | # Domain-Optionen {#kap-domain-optionen} |
| | | |
| | | Bei Aufschaltung einer Domain können verschiedene Optionen gesetzt |
| | | werden. |
| | | |
| | | Greylisting |
| | | |
| | | : Greylisting ist eine Form der Spam-Bekämpfung bei E-Mails. |
| | | Nachrichten von unbekannten Absendern werden zunächst abgewiesen und |
| | | erst nach einem weiteren Zustellversuch angenommen. Da viele Spammer |
| | | nur einen Zustellversuch unternehmen, können Sie mit dieser Option |
| | | das Spam-Aufkommen in den Postfächern der Domain spürbar reduzieren. |
| | | Allerdings müssen Sie damit rechnen, Mails von unbekannten Absendern |
| | | erst nach einer gewissen Wartezeit zu erhalten. Falls der Absender |
| | | einen fehlerhaft konfigurierten Mailserver hat, kann es sein, dass |
| | | er keinen zweiten Zustellversuch unternimmt, sodass Sie die E-Mail |
| | | gar nicht bekommen. |
| | | |
| | | Multiviews |
| | | |
| | | : Wenn diese Option eingeschaltet ist, berücksichtigt der Webserver |
| | | Browsereinstellungen und kann je nachdem unterschiedliche Dateien |
| | | ausliefern. Die Möglichkeiten sind in der Dokumentation zu |
| | | [mod_mime](http://httpd.apache.org/docs/current/mod/mod_autoindex.html) |
| | | und |
| | | [mod_negotiation](http://httpd.apache.org/docs/current/mod/mod_negotiation.html) |
| | | beschrieben. |
| | | |
| | | Indexes |
| | | |
| | | : Wenn diese Option eingeschaltet ist, erzeugt der Webserver für |
| | | Verzeichnisse, die keine Index-Datei (`index.html`{.interpreted-text |
| | | role="file"}) enthalten eine Liste mit den Inhalten des |
| | | Verzeichnisses. Weitere Informationen zu dieser Funktion des |
| | | Webservers finden Sie in der Dokumentation von |
| | | [mod_autoindex](http://httpd.apache.org/docs/current/mod/mod_autoindex.html). |
| | | Ist die Option nicht gesetzt, erhält der Browser stattdessen eine |
| | | 404-Fehlermeldung. Sie können diese Einstellung durch eine |
| | | `.htaccess`{.interpreted-text role="file"}-Datei im Verzeichnis |
| | | überschreiben. Lesen Sie dazu `kap-htaccess`{.interpreted-text |
| | | role="numref"}. |
| | | |
| | | Fallback auf htdocs/htdocs-ssl |
| | | |
| | | : Wenn diese Option aktiviert ist, werden Browser-Anfragen an eine |
| | | nicht aufgeschaltete Subdomain (`blog.hs-example.de`) an die |
| | | Hauptdomain weitergeleitet. In diesem Fall an `hs-example.de`. Falls |
| | | die Option nicht gesetzt ist, erhält der Browser stattdessen eine |
| | | 404-Fehlermeldung. |
| | | |
| | | Includes |
| | | |
| | | : Wenn diese Option gesetzt ist, unterstützt der Webserver SSI (Server |
| | | Side Includes). Weitere Informationen dazu finden Sie in der |
| | | Dokumentation von |
| | | [mod_includes](http://httpd.apache.org/docs/current/mod/mod_include.html) |
| | | |
| | | Backup-MX für externen Mailserver |
| | | |
| | | : Wenn diese Option eingeschaltet ist, nehmen die E-Mail-Server von |
| | | Hostsharing als sogenannter Backup-MX E-Mails für einen SMTP-Server |
| | | an, der unabhängig betrieben wird. Für diese Funktion muss die |
| | | Zone-Datei angepasst werden. Lesen Sie dazu |
| | | `kap-ref-zonefile`{.interpreted-text role="numref"}. |
| | | |
| | | Let\'s Encrypt-Zertifikat |
| | | |
| | | : Wenn diese Option aktiviert ist, wird automatisch ein kostenloses |
| | | LE-Zertifikat generiert und regelmäßig verlängert. Sie können Ihre |
| | | Website dann so konfigurieren, dass der Datentransfer zu den |
| | | Browsern über eine verschlüsselte Verbindung (`https`) erfolgt. |
| | | |
| | | E-Mail Auto-Konfiguration |
| | | |
| | | : Bei Aktivierung dieser Option reicht es bei den meisten |
| | | E-Mail-Programmen (die \"autoconfig\" oder \"autodiscover\" |
| | | unterstützen), E-Mail-Adresse und Passwort zur Konfiguration |
| | | anzugeben. Dazu muss der E-Mail-Adresse ein eindeutiges |
| | | E-Mail-Postfach bei Hostsharing zugeordnet sein. |
| | | |
| | | Domain Keys (DKIM) |
| | | |
| | | : Durch das Aktiveren dieser Option werden DKIM-Signaturen für |
| | | ausgehende E-Mails mit Absendern dieser E-Mail-Domain aktiviert. Vor |
| | | der Aktivierung muss der öffentliche Schlüssel des Domain Key in der |
| | | DNS Zone der Domain veröffentlicht werden. Das Zonefile muss dazu |
| | | die Zeile `{DKIM_RR}` enthalten. Die Option ist (ab 1.9.2021) bei |
| | | neu angelegten Domains in der Voreinstellung aktiviert und der |
| | | öffentliche Schlüssel wird automatisch hinterlegt. |
New file |
| | |
| | | # Domainverwaltung |
| | | |
| | | ## Registrierung und Aufschaltung |
| | | |
| | | Die Domainverwaltung ist in zwei voneinander unabhängige |
| | | Aufgabenbereiche unterteilt: |
| | | |
| | | ### Domaineinrichtung und -konfiguration in einem Web-Paket |
| | | |
| | | Die Einrichtung und Konfiguration erfolgt mit dem Werkzeug |
| | | `HSAdmin`{.interpreted-text role="term"}. Die Benutzung von HSAdmin über |
| | | das Webinterface unter admin.hostsharing.net wird in |
| | | `kap-hsadmin-einstieg`{.interpreted-text role="numref"} beschrieben, die |
| | | Syntax der Kommandozeilen-Variante `hsscript`{.interpreted-text |
| | | role="command"} in `kap-hsadmin`{.interpreted-text role="numref"}. |
| | | |
| | | Aufgaben der Domainverwaltung werden vom `Paket-Admin`{.interpreted-text |
| | | role="role"} oder vom `Mitglieds-Account <Mitglied>`{.interpreted-text |
| | | role="role"} wahrgenommen. |
| | | |
| | | ### Vergabe von Aufträgen an eine Registrierungsstelle |
| | | |
| | | Die Vergabe von Aufträgen (z.B. Registrierung, Transfer) an eine |
| | | Registrierungsstelle ist nur über das |
| | | [Webfrontend](https://www.domain-bestellsystem.de/) des |
| | | `Domain-Bestell-System`{.interpreted-text role="term"} möglich und |
| | | erfolgt mit Hilfe der `Reseller-ID`{.interpreted-text role="role"}. |
| | | |
| | | ::: note |
| | | ::: title |
| | | Note |
| | | ::: |
| | | |
| | | Die Anzahl der pro Tag möglichen Registrierungen ist beschränkt, um |
| | | Missbrauch vorzubeugen. Nach Rücksprache kann das Limit erhöht werden. |
| | | ::: |
| | | |
| | | ::: warning |
| | | ::: title |
| | | Warning |
| | | ::: |
| | | |
| | | Der Nutzer ist für sämtliche Aktivitäten im Domainbestellsystem |
| | | juristisch eigenverantwortlich. |
| | | ::: |
| | | |
| | | ::: tip |
| | | ::: title |
| | | Tip |
| | | ::: |
| | | |
| | | Wenn Sie eine Domain neu registrieren, schalten Sie diese erst in |
| | | HSAdmin auf, bevor Sie sie im Domainbestellsystem registrieren. Die |
| | | Konnektierung erfolgt dann in der Regel problemlos. Wenn Sie umgekehrt |
| | | vorgehen, müssen Sie im Domainbestellsystem die Konnektierung neu |
| | | anstoßen. |
| | | ::: |
| | | |
| | | ## Bestehende Domain einem neuen Domain-Admin zuordnen |
| | | |
| | | Um eine Domain einem anderen `Domain-Admin`{.interpreted-text |
| | | role="role"} zuzuordnen und damit im Dateisystem zu verschieben, wird |
| | | sie über HSAdmin gelöscht und neu angelegt. |
| | | |
| | | ::: warning |
| | | ::: title |
| | | Warning |
| | | ::: |
| | | |
| | | Beim Löschen einer Domain in HSAdmin werden alle Dateien im Webspace |
| | | komplett gelöscht. Sichern Sie also vorher alle Daten in einem von der |
| | | Löschung nicht betroffenen Verzeichnis (zum Beispiel mit |
| | | `tar`{.interpreted-text role="command"}). Es gehen auch die Mailadressen |
| | | der betreffenden Domain verloren und müssen an neuer Stelle neu angelegt |
| | | werden. |
| | | ::: |
| | | |
| | | Der Prozess des Verschiebens läuft im Großen und Ganzen folgendermaßen |
| | | ab: |
| | | |
| | | 1. Sichern aller Daten im Ordner `doms/example.de`{.interpreted-text |
| | | role="file"} des alten Domain-Admin |
| | | 2. Löschen der Domain in HSAdmin |
| | | 3. Neuanlage eines neuen Domain-Admin in HSAdmin |
| | | 4. Neuanlage der Domain in HSAdmin |
| | | 5. Rückspielen der gesicherten Daten in den neu erstellen Ordner |
| | | `doms/example.de`{.interpreted-text role="file"} des neuen |
| | | Domain-Admin |
| | | |
| | | ## Bestehende Domain in ein anderes Web-Paket verschieben |
| | | |
| | | Um eine Domain in ein anderes Web-Paket zu verschieben, wird sie im |
| | | alten Web-Paket gelöscht und im neuen neu angelegt. Gehen Sie dabei im |
| | | Prinzip genau so vor wie im Abschnitt zuvor. |
| | | |
| | | 1. Sichern aller Daten im Ordner `doms/example.de`{.interpreted-text |
| | | role="file"} des alten Domain-Admin im alten Web-Paket |
| | | 2. Löschen der Domain `example.de` in HSAdmin im alten Web-Paket |
| | | 3. Neuanlage eines neuen Domain-Admin im neuen Web-Paket |
| | | 4. Neuanlage der Domain `example.de` im neuen Web-Paket |
| | | 5. Rückspielen der gesicherten Daten in den neu erstellen Ordner |
| | | `doms/example.de`{.interpreted-text role="file"} des neuen |
| | | Domain-Admin im neuen Web-Paket |
| | | |
| | | ::: tip |
| | | ::: title |
| | | Tip |
| | | ::: |
| | | |
| | | Wenn Sie unsicher sind, wenden Sie sich an den Service unter |
| | | <service@hostsharing.net>. Der [Webmaster on Demand]() kann eine Domain |
| | | mit minimalen Ausfallzeiten für Sie bei aufwandsabhängiger Abrechnung |
| | | verschieben. |
| | | ::: |
New file |
| | |
| | | # Domains {#kap-ref-domain} |
| | | |
| | | Die Domainverwaltung bei Hostsharing ist in zwei unabhängige Bereiche |
| | | aufgeteilt. |
| | | |
| | | 1. Die Domaineinrichtung in einem Web-Paket. Dies geschieht mit |
| | | HSAdmin. Die Benutzung der Weboberfläche wird in |
| | | `kap-hsadmin-einstieg`{.interpreted-text role="numref"}, speziell in |
| | | `kap-hsadmin-domain-anlegen`{.interpreted-text role="numref"} |
| | | beschrieben. Die Nutzung des Kommandozeilen-Tools von HSAdmin |
| | | erklärt `kap-hsadmin`{.interpreted-text role="numref"} |
| | | 2. Die Domainregistrierung im Domainbestellsystems von Partnergate zur |
| | | Konnektierung, also der eigentlichen Registrierung von Domains bei |
| | | einem Registrar. Das Domainbestellsystem dient auch zur Vergabe |
| | | weiterer Aufträgen an Registrierungstellen. Jedes Mitglied von |
| | | Hostsharing erhält für dieses Domainbestellsystem Zugangsdaten. Sie |
| | | bestehen aus der `Reseller-ID`{.interpreted-text role="role"} und |
| | | einem Passwort. |
| | | |
| | | Hostsharing gibt seinen Mitgliedern bei der Verwaltung von Domains große |
| | | Freiheiten, da beide Bereiche nicht zwingend zusammen genutzt werden |
| | | müssen. Sie können Domains über das Domainbestellsystem registrieren und |
| | | bei anderen Hostern betreiben. Sie können Domains, die Sie bei anderen |
| | | Hostern registriert haben, bei Hostsharing betreiben. |
| | | |
| | | Die Verwaltung einer Domain umfasst: |
| | | |
| | | - Domain aufschalten |
| | | (`Domainverwaltung<domainverwaltung>`{.interpreted-text |
| | | role="doc"}), |
| | | - `Domain-Registrierung`{.interpreted-text role="term"}, |
| | | - `Domain-Transfer`{.interpreted-text role="term"} zur Hostsharing eG, |
| | | - Extern registrierte Domain aufschalten, |
| | | - Extern registrierte `Sub-Domain`{.interpreted-text role="term"} |
| | | aufschalten, |
| | | - Domain neu zuordnen (`Domain-Admin`{.interpreted-text role="role"} |
| | | neu zuordnen oder Zuordnung zu einem |
| | | `Web-Paket<../webpaket/index>`{.interpreted-text role="doc"} |
| | | ändern), |
| | | - Sub-Domain neu zuordnen (`Domain-Admin`{.interpreted-text |
| | | role="role"} neu zuordnen oder Zuordnung zu einem |
| | | `Web-Paket<../webpaket/index>`{.interpreted-text role="doc"} |
| | | ändern), |
| | | - Lokale Sub-Domain separat aufschalten, |
| | | - Verwaltung des `Zonefile<../zonefile/index>`{.interpreted-text |
| | | role="doc"}, |
| | | - Verwaltung der Domain-Daten (z.B. Domain-Handle, Kontaktdaten), |
| | | - Transfer zu einem anderen Provider, |
| | | - Domain löschen/kündigen. |
| | | |
| | | Inhalt: |
| | | |
| | | ::: {.toctree maxdepth="1 |
| | | |
| | | domainverwaltung |
| | | subdomains |
| | | domain-optionen"} |
| | | ::: |
New file |
| | |
| | | # Subdomain {#kap-ref-subdomains} |
| | | |
| | | Subdomains sind Domains unterhalb der Hauptdomain. Auch `www` ist eine |
| | | Subdomain. Als Subdomain der Hauptdomain `hs-example.de` wird eine |
| | | Website unter dieser Subdomain im Browser über die Adresse |
| | | `www.hs-example.de` aufgerufen. Die Subdomain `test` würde man über die |
| | | Adresse `test.hs-example.de` erreichen. |
| | | |
| | | Sie können bei Hostsharing beliebig viele Subdomains einrichten. Es gibt |
| | | zwei Methoden Subdomains anzulegen: |
| | | |
| | | 1. Leichtgewichtige Subdomains |
| | | 2. Aufgeschaltete Subdomains |
| | | |
| | | ## Leichtgewichtige Subdomain |
| | | |
| | | Eine Subdomains wird bei Hostsharing *leichtgewichtig* genannt, wenn sie |
| | | durch ein Unterverzeichnis von |
| | | `~/doms/example.com/subs/`{.interpreted-text role="file"} definiert |
| | | wurde. Dies ist die einfachste Art und Weise, um Subdomains zu |
| | | erstellen. Für jede Subdomain wird ein Ordner im Verzeichnis |
| | | `subs`{.interpreted-text role="file"} erstellt. |
| | | |
| | | Leichtgewichtige Subdomains sollten nur verwendet werden, wenn eine |
| | | einzelne Anwendung zur Verwaltung aller dieser Subdomains verwendet |
| | | wird. Das kann zum Beispiel ein CMS oder eine |
| | | Multisite-Wordpress-Installation sein. |
| | | |
| | | Wenn unterschiedliche Anwendungen unter Subdomains betrieben werden, |
| | | sollte |
| | | |
| | | - für jede Subdomain ein eigener `Domain-Admin`{.interpreted-text |
| | | role="role"} angelegt |
| | | - und jede Subdomain jeweils beim entsprechenden Domain-Admin |
| | | aufgeschaltet werden. |
| | | |
| | | ## Aufgeschaltete Subdomain |
| | | |
| | | Eine Subdomain wird bei Hostsharing wie die Hauptdomain aufgeschaltet |
| | | (siehe `kap-hsadmin-domain-anlegen`{.interpreted-text role="numref"}). |
| | | Eine Subdomain wie `blog.hs-example.de` kann im gleichen Web-Paket |
| | | aufgeschaltet werden wie die Hauptdomain oder in einem anderen. Es ist |
| | | Best-Practice bei Hostsharing für jede aufgeschaltete Domain -- also |
| | | auch für jede aufgeschaltete Subdomain -- einen |
| | | `Domain-Admin`{.interpreted-text role="role"} anzulegen und die Domain |
| | | bzw. Subdomain diesem Domain-Admin zuzuordnen. |
New file |
| | |
| | | # E-Mail Auto-Konfiguration {#kap-ref-mailautoconfig} |
| | | |
| | | Die Domain-Option \"E-Mail Auto-Konfiguration\" ermöglicht das einfache |
| | | Konfigurieren der E-Mail-Clients mit den Daten des Posteingangs- und |
| | | Postausgangsservers. Wird diese Domain-Option für z.B. `example.com` |
| | | aktiviert, und ist der E-Mail-Adresse `fred@example.com` (evtl. nach |
| | | mehreren Weiterleitungen) bei Hostsharing genau ein Postfach zugeordnet, |
| | | dann reicht es bei den gängigsten E-Mail-Clients aus, zur Einrichtung |
| | | des Postfaches die E-Mail-Adresse und das jeweilige Passwort anzugeben. |
| | | Die restlichen Einstellungen (Server, Postfach/Benutzername, Protokoll, |
| | | Port etc.) werden automatisch durch den E-Mail-Client von Hostsharing |
| | | abgerufen und sodann automatisch konfiguriert. |
| | | |
| | | Dies vereinfacht aus Nutzersicht die Einrichtung eines |
| | | Hostsharing-Postfaches im eigenen E-Mail-Client erheblich. |
| | | |
| | | Das Verfahren kann aus mehreren Gründen scheitern: |
| | | |
| | | - Der E-Mail-Client des Nutzers unterstützt \"autoconfig\" und |
| | | \"autodiscover\" nicht. Thunderbird ab Version 3.1 und Outlook ab |
| | | Version 2007 sollten funktionieren. |
| | | - Die Domain-Option `E-Mail Auto-Konfiguration` (siehe |
| | | `kap-domain-optionen`{.interpreted-text role="numref"}) wurde erst |
| | | *nach* einem gescheiterten Konfigurationsversuch gesetzt (sie sollte |
| | | *vorher* gesetzt werden). Vor allem Microsoft-Produkte cachen das |
| | | Abfrageergebnis für eine E-Mail-Adresse ca. zwei Wochen in einer |
| | | Microsoft-Cloud, so dass weitere automatische Konfigurationsversuche |
| | | erst nach Ablauf dieser (langen) Zeit erfolgreich sind. In diesem |
| | | Fall hilft nur, die Einstellungen im E-Mail-Client per Hand |
| | | vorzunehmen. |
| | | - In der Domain wird ein *eigenes* Zonenfile verwendet, in dem die |
| | | nötigen Einträge (`MAILSERVICES_RR` und `AUTODISCOVER_RR`, siehe |
| | | `kap-ref-zonefile-platzhalter`{.interpreted-text role="numref"}) |
| | | fehlen. Dann müssen sie per Hand ergänzt werden. |
| | | |
| | | ::: todo |
| | | Nachträgliche Aktivierung von autoconfig/autodiscover beschreiben. |
| | | Hinweis das Outlook Versionen das nicht unterstützen. |
| | | ::: |
New file |
| | |
| | | # E-Mail-Alias und Paketnutzer |
| | | |
| | | Ein E-Mail-Alias ist eine E-Mail-Adresse zur Weiterleitung von E-Mails. |
| | | |
| | | Ein `E-Mail-Alias`{.interpreted-text role="term"} in der |
| | | E-Mail-Konfiguration hat Vorrang vor einem Paketnutzer gleichen Namens. |
| | | Implementiert der `E-Mail-Alias`{.interpreted-text role="term"} eine |
| | | Weiterleitung, gehen in diesem Fall in der Mailbox des Paketnutzers |
| | | keine E-Mails ein. |
New file |
| | |
| | | # E-Mail |
| | | |
| | | Jeder `Benutzer<../benutzer/index>`{.interpreted-text role="doc"} im |
| | | `Web-Paket<../webpaket/index>`{.interpreted-text role="doc"} besitzt ein |
| | | E-Mail-Konto und kann E-Mail senden und empfangen. E-Mails werden |
| | | unterhalb des Verzeichnisses `~/Maildir` abgelegt. Der Name des Ordners |
| | | `Maildir` darf nicht verändert werden. |
| | | |
| | | Jedes E-Mail-Konto ist POP3- und IMAP-fähig. |
| | | |
| | | Hostsharing bietet folgende Konfigurationsmöglichkeiten: |
| | | |
| | | - Anlegen und Löschen von E-Mail-Adressen |
| | | - Anlegen und Löschen von |
| | | `E-Mail-Aliasen <E-Mail-Alias>`{.interpreted-text role="term"} |
| | | - Einrichtung von E-Mail-Weiterleitungen |
| | | - Automatisches Versenden einer E-Mail-Bestätigung |
| | | (`Vacation`{.interpreted-text role="term"}) |
| | | - Automatisches Filtern und Bearbeiten von E-Mails über |
| | | [Managesieve](https://wiki.hostsharing.net/index.php?title=Sieve) |
| | | oder |
| | | [Procmail](https://wiki.hostsharing.net/index.php?title=Procmail) |
| | | - Mit E-Mail-Aliasen kann die Zustellung von Nachrichten in die |
| | | Postfächer der Benutzer gesteuert werden. |
| | | - E-Mail-Konten bei anderen Anbietern abfragen |
| | | - Einrichtung von Mailinglisten |
| | | |
| | | Der Zugriff auf das E-Mail-Konto erfolgt über einen beliebigen |
| | | E-Mail-Client oder über `Webmail <webmail>`{.interpreted-text |
| | | role="doc"}. |
| | | |
| | | Inhalt: |
| | | |
| | | ::: {.toctree maxdepth="1"} |
| | | posteingangsserver postausgangsserver size-email emailalias-paketuser |
| | | webmail autoconfig |
| | | ::: |
New file |
| | |
| | | # Postausgangsserver {#kap-ref-mailausgang} |
| | | |
| | | Für jedes Webpaket steht ein Postausgangsserver für reguäre E-Mails und |
| | | ein Postausgangsserver für den Massenversand von E-Mails bereit. |
| | | |
| | | Unter Massenversand wird der Versand von Newslettern, |
| | | Forenbenachrichtungen, der Betrieb von Mailinglisten und ähnliche |
| | | Nutzungen im Rahmen des Zulässigen verstanden. Wählen Sie bei solchen |
| | | Massenaussendungen bitte möglichst den Postausgangsserver für den |
| | | Massenversand, da Sie so mithelfen, die Reputation unserer normalen |
| | | Ausgangsserver hoch zu halten. |
| | | |
| | | Angaben für den Postausgangsserver: |
| | | |
| | | ------------------------------------------------------------------------------------- |
| | | Postausgangsserver Postfach/Benutzername Protokoll Port Port SSL/TLS |
| | | STARTTLS |
| | | ----------------------- ----------------------- ----------- ------------ ------------ |
| | | xyz00.hostsharing.net xyz00-mailbox SMTP 587 oder 25 465 |
| | | |
| | | ------------------------------------------------------------------------------------- |
| | | |
| | | Die Konfigurationsvariante SMTP über Port 587 mit STARTTLS wird |
| | | empfohlen. |
| | | |
| | | Angaben für den Postausgangsserver für den Massenversand: |
| | | |
| | | ------------------------------------------------------------------------------------- |
| | | Postausgangsserver Postfach/Benutzername Protokoll Port Port SSL/TLS |
| | | STARTTLS |
| | | ----------------------- ----------------------- ----------- ------------ ------------ |
| | | xyz00.hostsharing.net xyz00-mailbox SMTP 4587 oder 1465 |
| | | 4025 |
| | | |
| | | ------------------------------------------------------------------------------------- |
| | | |
| | | Die Konfigurationsvariante SMTP über Port 4587 mit STARTTLS wird |
| | | empfohlen. |
New file |
| | |
| | | # Posteingangsserver {#kap-ref-maileingang} |
| | | |
| | | Angaben für den Posteingangsserver: |
| | | |
| | | ------------------------------------------------------------------------------------- |
| | | Posteingangsserver Postfach/Benutzername Protokoll Port Port SSL/TLS |
| | | STARTTLS |
| | | ----------------------- ----------------------- ----------- ------------ ------------ |
| | | xyz00.hostsharing.net xyz00-mailbox POP3 110 995 |
| | | |
| | | xyz00.hostsharing.net xyz00-mailbox IMAP 143 993 |
| | | ------------------------------------------------------------------------------------- |
| | | |
| | | Die Konfigurationsvariante IMAP über Port 143 mit STARTTLS wird |
| | | empfohlen. |
New file |
| | |
| | | # Größenbeschränkung einer E-Mail |
| | | |
| | | Die E-Mail-Server akzeptieren E-Mails bis zu einer maximalen Größe von |
| | | 128 MB. Dateianhänge sollten daher die Größe von ca. 90 MB nicht |
| | | überschreiten. Allgemeine Informationen zur [Größenbeschränkung von |
| | | E-Mails](https://wiki.hostsharing.net/index.php?title=Gr%C3%B6%C3%9Fenbeschr%C3%A4nkung_von_E-Mails) |
| | | im Wiki der Hostsharing-Mitglieder. |
New file |
| | |
| | | # Webmail |
| | | |
| | | Hostsharing betreibt eine zentrale |
| | | [Webmail-Installation](https://webmail.hostsharing.net). Informationen |
| | | zur Einrichtung sind im Wiki der Mitglieder unter |
| | | [Webmail](https://wiki.hostsharing.net/index.php?title=Webmail) zu |
| | | finden. |
New file |
| | |
| | | # SSH-Hostkeys |
| | | |
| | | Wenn Sie sich zum ersten Mal mit der Secure Shell |
| | | (`ssh`{.interpreted-text role="command"}) bei Hostsharing anmelden, |
| | | fragt das Programm nach, ob Sie dem Hostkey des Servers vertrauen |
| | | möchten. Das Hostsharing-System identifiziert sich Ihnen gegenüber mit |
| | | dem Fingerabdruck des Hostkeys. Die Meldung sieht folgendermaßen aus: |
| | | |
| | | ``` console |
| | | $ ssh xyz00@xyz00.hostsharing.net |
| | | The authenticity of host 'xyz00.hostsharing.net (2a01:37:1000::53df:4fb1:0)' can't be established. |
| | | RSA key fingerprint is SHA256:rPqZO8FA+FQW/rQ1itbuNF9uWmBH82MSQp44fR1v6tQ. |
| | | Are you sure you want to continue connecting (yes/no)? |
| | | ``` |
| | | |
| | | In der zweiten Zeile der Meldung zeigt die Secure Shell den |
| | | Fingerabdruck des Servers an: |
| | | `SHA256:rPqZO8FA+FQW/rQ1itbuNF9uWmBH82MSQp44fR1v6tQ` Diesen können Sie |
| | | mit dem in der folgenden Liste aufgeführten Fingerabdruck vergleichen, |
| | | um sicherzugehen, dass Sie sich wirklich auf einem Server der |
| | | Hostsharing eG anmelden. Wenn die Fingerabdrücke übereinstimmen, können |
| | | Sie die Frage mit [yes]{.title-ref} beantworten. Die Secure Shell setzt |
| | | dann den Prozess des Einloggens fort und fragt nach dem Passwort für den |
| | | angegebenen Benutzer. |
| | | |
| | | SHA256:N1CtFnS1BwJrYoXUqZO61SM8RIpkfdhPOw+XVOaiYQo h01.hostsharing.net (RSA) |
| | | SHA256:HVgsVWEw6pxUFPGEIIuZOrd9bBiGQu0jVoq+sDFqpGk h02.hostsharing.net (RSA) |
| | | SHA256:bvMneyMq4dM0gCNtgVUfXAsh2JcWl0XXt4da6JI2wcI h03.hostsharing.net (RSA) |
| | | SHA256:SF8/6oeb6aNO0iOgfprrQ7E+IJaoEBw2nAArW9o1jF0 h04.hostsharing.net (RSA) |
| | | SHA256:oOarqh+jQBINNvFiFlg9Xvgf/kcT0LGfPvxnlZ685AA h05.hostsharing.net (RSA) |
| | | SHA256:r6gz+eduk6Fmj+UqCLbX8bN5VDZ6JZ8o9AXJsdOZBEQ h06.hostsharing.net (RSA) |
| | | SHA256:8/JolH0E37TGePP6vm92APo9klaXOBPkA1nM8C+SR+I h07.hostsharing.net (RSA) |
| | | SHA256:AOvcGrr+x496rN7GeKZUIBJdyhaCcWc8SoL0wBcHoR8 h08.hostsharing.net (RSA) |
| | | |
| | | SHA256:YUntE5eqb6NSrZTY96i/B3C7dvWkoTyRjOdbonyXqKA h11.hostsharing.net (RSA) |
| | | SHA256:uADmSWGXZX0y+uUg/2UgMKgc9sOovg15KbZK2rAfnfY h12.hostsharing.net (RSA) |
| | | SHA256:YKe7xwXraKoUO5n+unZsMrbA4VlJX21tTaSq/1FenWc h13.hostsharing.net (RSA) |
| | | SHA256:QXVugsok7f+lz2p784LU4J/ad9/eTmxj2IyVAmPQ5f0 h14.hostsharing.net (RSA) |
| | | SHA256:zCth18agkjju4+qRsvJhOH2eYasjQsbrepTb6xUWNv4 h15.hostsharing.net (RSA) |
| | | SHA256:pDPLmEB7FZ2/diAVSW5Dyz4fDAk2ooht7lEojO0u6i8 h16.hostsharing.net (RSA) |
| | | SHA256:VmoYwYOovJfIaSCWAaw6ibvte69tZknzqwUCQbDtnbk h17.hostsharing.net (RSA) |
| | | SHA256:I3oYA4H8fobTTR4T8Td+3+uJXIZgfr9RNYzoRWsW3A8 h18.hostsharing.net (RSA) |
| | | |
| | | SHA256:xh2Yy20Ksn4NaoE0c9qFQc7UffiFZwjE8LI2MqgCnu0 h20.hostsharing.net (RSA) |
| | | SHA256:fFpK8WhB4uT5kupdU3ZZzaedeUZUubReoEiZ1qTwib0 h21.hostsharing.net (RSA) |
| | | SHA256:bro6uRAAnLZnrvEr9D2Am7lnLChOsokACOHg+bL4wtg h22.hostsharing.net (RSA) |
| | | SHA256:pd3TSPdt/JJOEASMgqS09pOra7X4/W42so3MQ9DhLzY h23.hostsharing.net (RSA) |
| | | SHA256:0Xf3sWXjuNOsTmycGsnUOa6uDs6j2zg9bDVMKK4/K4k h24.hostsharing.net (RSA) |
| | | |
| | | SHA256:gTLnnTDiiAPLzPZI8ZNQ8pwKBTqEkW2Hh7tS/UZgheE h30.hostsharing.net (RSA) |
| | | SHA256:g0aiLcfknMr+r1JsQj/A18odKbK3tZ8kN2YgkMdpU6g h31.hostsharing.net (RSA) |
| | | SHA256:Jsmjp/Pm/+2azIYhZddSJ9F5l8ROkMLSKadxtIF3ovs h32.hostsharing.net (RSA) |
| | | SHA256:t8dXxStA4IBaeeQLx/0RDWH2OdJGm0yjHyrZS8xGAzc h33.hostsharing.net (RSA) |
| | | SHA256:2KMOx41kEP1iVNQ7pjf9ff+CxQ3CnQ41bgb9tJIuuD4 h34.hostsharing.net (RSA) |
| | | SHA256:oD61B3ZGW+F776ppQy+GSKyAdYAdjqXo7aHPZZT+Cl4 h35.hostsharing.net (RSA) |
| | | SHA256:pcn07clyBQ93z4H9yyjpYVmcaP/tmL8dXXN8uUIxfZ0 h36.hostsharing.net (RSA) |
| | | SHA256:QJMaX7rUz+YHdjqutCP6LT/gWgPL14KtCHM47re5/As h37.hostsharing.net (RSA) |
| | | SHA256:gAW61QQv4dEyjY1V11YdWULD8tYOcRSOkxZbCNJJhU8 h38.hostsharing.net (RSA) |
| | | SHA256:z92YxH/cKI7+2yZnH1QH0b/wuaBOaVnUxlz2hsxZK0s h39.hostsharing.net (RSA) |
| | | |
| | | SHA256:P24ABx/GFTMnYCUfzpnTRoObArjy13CT40o2e5/1tq8 h40.hostsharing.net (RSA) |
| | | SHA256:NDRW1c7gxS3GsGWkoSGd+g9ryu8atfYwYvvhbyetXj8 h41.hostsharing.net (RSA) |
| | | SHA256:IPbPxK+TDPhZKyNrmmQ4zuLA4SOwRh1Lqpbi74Lieg4 h42.hostsharing.net (RSA) |
| | | SHA256:xRAscjEwJd5fP3pW5yDh1FVhL5sAZYPCqdsdRzBjLQU h43.hostsharing.net (RSA) |
| | | SHA256:77phLJuhe7GQqFiZ9rRaAMABEPULJc7sr4efey+XIL8 h44.hostsharing.net (RSA) |
| | | |
| | | SHA256:ues/X3zvkHY9D17zpcPyRiGyq/vmUhDJQK3ODqZj0hE h50.hostsharing.net (RSA) |
| | | SHA256:Z/jJ3t/ISdXmU7BCtxK+nXqYwVMK7GcuHrBaun9V83M h51.hostsharing.net (RSA) |
| | | SHA256:6OXalNTTqZ7RlStdoUx8WVWZuzHr46xbRX+XizsF9eM h52.hostsharing.net (RSA) |
| | | SHA256:E178kADy/6ef9l84goS+0XVNsyVp2XnHKBk/QjhiMms h54.hostsharing.net (RSA) |
| | | SHA256:YH4QNO7QLWKr3UTIX8A/5uZvI8zEPMTdoaok4QhtXCU h59.hostsharing.net (RSA) |
| | | |
| | | SHA256:VQa9kcj80wxW/RyGkpAmjRKZU8IQzepNenGSkDOK4/o h60.hostsharing.net (RSA) |
| | | SHA256:VqzCGfUXG5PRoJztxla1NhQZo1Uo7osiwYQ37NvqfYk h61.hostsharing.net (RSA) |
| | | SHA256:OPfU11pHC3qtHyOegF4h3fvZNgI6wDhZQ5lQ3tZHWJg h62.hostsharing.net (RSA) |
| | | SHA256:k5m0KARxN1Xmf0NnV1h9ztWKzVBs7N7/dzgV75+sqRM h63.hostsharing.net (RSA) |
| | | SHA256:vA65yRKft1a6doum6jdLm+Up5u9YHlMmmFnZ4mSw4TU h64.hostsharing.net (RSA) |
| | | SHA256:fvpgXIQCYMk9RQaXcEvjUKf+EbSIMXu/rNm7DrDJP8E h67.hostsharing.net (RSA) |
| | | SHA256:2V1PLyWI8hGTtlODD33I2G4342Vw1pBwYuBSCiHkVv4 h68.hostsharing.net (RSA) |
| | | |
| | | SHA256:qs/SSkPIH4WZak1/sFSD5XWrk+fJLQSBAz+mbbjp0Yg h70.hostsharing.net (RSA) |
| | | SHA256:b158PhXSeEPoVNTS9ifEjfs3ZU6FjksWLOQyBf+4vmA h71.hostsharing.net (RSA) |
| | | SHA256:LBc6PBLyz4Q20J7I8tzz1Vb7rcUhRr1Cm9pM+ru2D3E h72.hostsharing.net (RSA) |
| | | SHA256:5xMCpXiFyhP7SuqDqDRy9hm0Vw9usqH6f/5GkNA6SiA h73.hostsharing.net (RSA) |
| | | SHA256:c6ciBK7eciSilcs1e7tNMUA6xLiXiedRcV78brB6/hI h74.hostsharing.net (RSA) |
| | | SHA256:Qwix7tr1RcK8yppfG58KM9DMZO+LS+uZbKl2GSCob1I h75.hostsharing.net (RSA) |
| | | SHA256:JLo/6ezAxCmouKmtTu9vsZ276TjvotcYje9uwaKnNFU h76.hostsharing.net (RSA) |
| | | SHA256:tSg96I1l6JUP8yUPIzsy3bbMWvfNwwBGUaNf5vNGV0I h79.hostsharing.net (RSA) |
| | | |
| | | SHA256:eVyAJ/wA/goxwNrwhbS8Qw0mAaj0X/+dx3k5TL6hSYU h80.hostsharing.net (RSA) |
| | | SHA256:JqpaMMumkFdqQF3YYdqPbnkXReBralBNzr2DcokPmec h81.hostsharing.net (RSA) |
| | | SHA256:C1niDEd/8JyaDoLBA3Ak34o7xce6o4lfuk+X6H0IAfE h82.hostsharing.net (RSA) |
| | | SHA256:JHPJTq4mqdzXktiE7aopf4PM0Ve4y2mDE0ReEDiTFkI h83.hostsharing.net (RSA) |
| | | SHA256:bNR5bPNQ7mMQ+uD+yRakH7pML5m6xf0yB8nVodPzA2Y h84.hostsharing.net (RSA) |
| | | SHA256:3LGhMnZNFP+ClkqsG8X1X7r149Rq9hK06d5GyN2i6WE h85.hostsharing.net (RSA) |
| | | SHA256:TXEFHfmEAkwQ+8H7BAYes+cVk7hiVL9wO4prQgO7Lg0 h86.hostsharing.net (RSA) |
| | | SHA256:1Cl+C6nVzg8kGjZYHJQJR0zJ4skjWbhywwbfBzb4/+A h87.hostsharing.net (RSA) |
| | | SHA256:OHAYV/r5EMdEEsO7n9ZfKq0To/kZ6g9IxQ17TI58yIE h88.hostsharing.net (RSA) |
| | | SHA256:buSwCu/6FDbEJfQfrvjKcDZGT+gZYMgg6THI7e26sPo h89.hostsharing.net (RSA) |
| | | |
| | | SHA256:QZ6sHxJMueXFOYwbN/r4Awnx+Nl/VCJddZnlckFAJ+M h90.hostsharing.net (RSA) |
| | | SHA256:MnnyrqLYnY04iyM930hFSMDHP6+9pzcZOa4cQTtTCi0 h91.hostsharing.net (RSA) |
| | | SHA256:7QZ54GTzdmOBZ9Uhc09ljjPyhLIB3udUSkjtoTnGaEI h92.hostsharing.net (RSA) |
| | | SHA256:ifHlyDjiJ2OTJq5+M3YnP/nlXIQcKlQbRs51okAfWHI h93.hostsharing.net (RSA) |
| | | SHA256:8NFXZyUVkEgCQZV7+LV8m3HI5aOqwi7zdbg+2aHtnUQ h95.hostsharing.net (RSA) |
| | | SHA256:rPqZO8FA+FQW/rQ1itbuNF9uWmBH82MSQp44fR1v6tQ h97.hostsharing.net (RSA) |
| | | SHA256:N0iSQTm3AFAhdgQ4OhSptQ0vhuURPUyAt33L72ZeLM8 h98.hostsharing.net (RSA) |
| | | |
| | | Den Namen des Servers, auf dem Ihr Web-Paket liegt, erfahren Sie in |
| | | HSAdmin. Gehen Sie dazu in den Bereich `Web-Paket`{.interpreted-text |
| | | role="guilabel"}, wählen Sie Ihr Web-Paket aus (in unserem Beispiel |
| | | `xyz00`). Es öffnet sich rechts der Reiter `Web-Paket`{.interpreted-text |
| | | role="guilabel"} und es werden Informationen zu Ihrem Paket angezeigt. |
| | | In der Zeile Server/Hive finden Sie die Bezeichnung des Servers, auf dem |
| | | Ihr Webpaket sich befindet. |
| | | |
| | | ::: {#fig_hsadmin-paket-info} |
| | |  |
| | | ::: |
| | | |
| | | In unserem Beispiel müssten Sie den Fingerabdruck von |
| | | h97.hostsharing.net mit dem von der Secure Shell angezeigten |
| | | vergleichen. |
New file |
| | |
| | | # Modul domain {#kap-modul-domain} |
| | | |
| | | ## Funktionen |
| | | |
| | | ::: option |
| | | domain.search |
| | | |
| | | Suche Domain nach den im Befehlsausdruck angegebenen Feldern und Werten |
| | | ::: |
| | | |
| | | ::: option |
| | | domain.add |
| | | |
| | | Füge eine neue Domain nach den im Befehlsausdruck angegebenen Feldern |
| | | und Werten hinzu. |
| | | ::: |
| | | |
| | | ::: option |
| | | domain.update |
| | | |
| | | Aktualisiere eine Domain nach den im Befehlsausdruck angegebenen Feldern |
| | | und Werten. |
| | | ::: |
| | | |
| | | ::: option |
| | | domain.remove |
| | | |
| | | Lösche eine Domain nach den im Befehlsausdruck angegebenen Feldern und |
| | | Werten. |
| | | ::: |
| | | |
| | | ## Editierbare Felder |
| | | |
| | | Das HSAdmin-Modul `domain` kann entsprechend der folgenden Befehlssyntax |
| | | von `HSAdmin`{.interpreted-text role="command"} Felder setzen oder |
| | | verändern: |
| | | |
| | | domain.function({where:{field:'value',...}, set:{field:'value',...}}) |
| | | |
| | | Im Modul `domain` stehen folgende Felder zur Verfügung. |
| | | |
| | | name |
| | | |
| | | : Name einer Domain |
| | | |
| | | user |
| | | |
| | | : Name des Domain-Admins |
| | | |
| | | validsubdomainnames |
| | | |
| | | : leichtgewichtige Subdomains in diesem Virtual-Host des Webservers, |
| | | gültige Werte: `*` für beliebige Subdomains oder eine |
| | | kommaseparierte Liste: `www,blog,other` |
| | | |
| | | greylisting |
| | | |
| | | : E-Mails werden verzögert durch den Mailserver angenommen, siehe |
| | | `Greylisting`{.interpreted-text role="term"}. Ist die Option |
| | | deaktivert, werden E-Mails ohne Verzögerung angenommen. |
| | | |
| | | multiviews |
| | | |
| | | : Der Webserver berücksichtigt Einstellungen im Browser beim Abruf |
| | | einer Domain (z.B. eine bevorzugte Sprache). Die Option kann mit |
| | | einer `.htaccess`{.interpreted-text role="term"}-Datei für jedes |
| | | Verzeichnis konfiguriert werden. |
| | | |
| | | indexes |
| | | |
| | | : Der Webserver erzeugt für Verzeichnisse, die keine eigene |
| | | Index-Datei enthalten, eine Liste mit den im Verzeichnis enthaltenen |
| | | Dateien. Ist die Option deaktiviert, wird ein Fehler 303 ausgegeben. |
| | | Die Option kann mit einer .htaccess-Datei für jedes Verzeichnis |
| | | konfiguriert werden. |
| | | |
| | | htdocsfallback |
| | | |
| | | : Der Webserver leitet auf die Hauptdomain, wenn keine Sub-Domain |
| | | angelegt ist. Ist die Option deaktivert, wird ein Fehler 404 |
| | | ausgegeben: Seite nicht gefunden. |
| | | |
| | | includes |
| | | |
| | | : Der Webserver erkennt `SSI`{.interpreted-text role="term"}-Komandos |
| | | und -Dateien. Die Option kann mit einer .htaccess-Datei für jedes |
| | | Verzeichnis konfiguriert werden. |
| | | |
| | | backupmxforexternalmx |
| | | |
| | | : Der Paket-Hive wird als Weiterleitung (transport) beim |
| | | Mail-In-Server eingetragen. Ist die Option aktiv, ist der |
| | | Hostsharing-Mail-In-Server Backup-MX. Der eigentliche Mailserver |
| | | befindet sich außerhalb der Infrastruktur von Hostsharing (z.B. |
| | | anderer Provider, DSL-Anschluss mit fester IP) |
| | | |
| | | letsencrypt |
| | | |
| | | : Es wird automatisch ein TLS Zertifikat für diese Domain und alle im |
| | | Feld „validsubdomainnames" angegebenen Subdomains erzeugt |
| | | |
| | | autoconfig |
| | | |
| | | : Eine Unterstützung für die Konfiguration von E-Mail-Programmen durch |
| | | die Verfahren \"Autoconfig\" (Mozilla) und \"Autodiscover\" |
| | | (Microsoft) wird für die Domain eingeschaltet |
| | | |
| | | ::: note |
| | | ::: title |
| | | Note |
| | | ::: |
| | | |
| | | Die Option `backupmxforexternalmx` erfordert Änderungen am |
| | | `Zonefile<../zonefile/index>`{.interpreted-text role="doc"} einer |
| | | Domain. |
| | | ::: |
| | | |
| | | ## Beispiele |
| | | |
| | | Mit dem folgenden Befehl schalten wir die Domain `hs-example.de` auf und |
| | | ordnen Sie dem Domain-Admin `xyz00-hsexample` zu. |
| | | |
| | | ``` console |
| | | xyz00@hsadmin> domain.add({set:{name:'hs-example.de',user:'xyz00-hsexample'}}) |
| | | ``` |
| | | |
| | | Mit dem Befehl `domain.search`{.interpreted-text role="option"} werden |
| | | alle Informationen zu einer Domain angezeigt. Die gesuchte Domain wird |
| | | mit dem Befehlsausdruck `where` ausgewählt. |
| | | |
| | | ``` console |
| | | xyz00@hsadmin> domain.search({where:{name:'hs-example.de'}}) |
| | | ``` |
| | | |
| | | Und mit dem Befehl `domain.remove`{.interpreted-text role="option"} |
| | | können wir eine Domain entfernen. |
| | | |
| | | ``` console |
| | | xyz00@hsadmin> domain.remove({where:{name:'hs-example.de'}}) |
| | | ``` |
| | | |
| | | Mit dem Befehl `domain.update`{.interpreted-text role="option"} lassen |
| | | sich die Einstellungen für eine Domain verändern. Bei einer Änderung der |
| | | Domain-Optionen, wie im folgenden Beispiel, müssen immer alle Optionen |
| | | angegeben werden, die gesetzt sein sollen, da der Befehl die bereits |
| | | gesetzten Domain-Optionen komplett überschreibt. |
| | | |
| | | ``` console |
| | | xyz00@hsadmin> domain.update({where:{name:'hs-example.de'},set:{domainoptions:['htdocsfallback','indexes','greylisting','letsencrypt','autoconfig']}}) |
| | | ``` |
New file |
| | |
| | | # Modul emailaddress {#kap-modul-emailaddress} |
| | | |
| | | ## Funktionen |
| | | |
| | | ::: option |
| | | emailaddress.search |
| | | |
| | | Suche E-Mail-Adresse nach den im Befehlsausdruck angegebenen Feldern und |
| | | Werten |
| | | ::: |
| | | |
| | | ::: option |
| | | emailaddress.add |
| | | |
| | | Füge eine neue E-Mail-Adresse nach den im Befehlsausdruck angegebenen |
| | | Feldern und Werten hinzu. |
| | | ::: |
| | | |
| | | ::: option |
| | | emailaddress.update |
| | | |
| | | Aktualisiere eine E-Mail-Adresse nach den im Befehlsausdruck angegebenen |
| | | Feldern und Werten. |
| | | ::: |
| | | |
| | | ::: option |
| | | emailaddress.remove |
| | | |
| | | Lösche eine E-Mail-Adresse nach den im Befehlsausdruck angegebenen |
| | | Feldern und Werten. |
| | | ::: |
| | | |
| | | ## Editierbare Felder |
| | | |
| | | Das HSAdmin-Modul `emailaddress` kann entsprechend der folgenden |
| | | Befehlssyntax von `HSAdmin`{.interpreted-text role="command"} Felder |
| | | setzen oder verändern: |
| | | |
| | | emailaddress.function({where:{field:'value',...}, set:{field:'value',...}}) |
| | | |
| | | Im Modul `emailaddress` stehen folgende Felder zur Verfügung. |
| | | |
| | | domain |
| | | |
| | | : Name einer Domain |
| | | |
| | | localpart |
| | | |
| | | : Bezeichnung für den lokalen Teil einer E-Mail-Adresse: der Teil vor |
| | | `@`. |
| | | |
| | | target |
| | | |
| | | : Ziel einer E-Mail-Adresse, mehrere Ziele werden durch Kommata |
| | | getrennt |
| | | |
| | | ## Beispiele |
| | | |
| | | Mit dem folgenden Befehl erhalten Sie eine Liste aller E-Mail-Adressen |
| | | der Domain `hs-example.de`. |
| | | |
| | | ``` console |
| | | xyz00@hsadmin> emailaddress.search({where:{domain:"hs-example.de"}}) |
| | | ``` |
| | | |
| | | Mit folgendem Befehl lässt sich eine neue E-Mail-Adresse einrichten und |
| | | einem Postfach zuordnen: |
| | | |
| | | ``` console |
| | | xyz00@hsadmin> emailaddress.add ({set:{domain:'hs-example.de',localpart:'info',target:'xyz00-hs_example.de'}}) |
| | | ``` |
| | | |
| | | Das Programm gibt dann folgende Meldung als Quittierung des Befehls |
| | | zurück: |
| | | |
| | | ``` console |
| | | [ |
| | | { |
| | | admin:'xyz00-doms', |
| | | domain:'hs-example.de', |
| | | emailaddress:'info@hs-example.de', |
| | | fulldomain:'hs-example.de', |
| | | id:'88747', |
| | | localpart:'info', |
| | | pac:'xyz00', |
| | | target:[ |
| | | 'xyz00-hs_example.de' |
| | | ] |
| | | } |
| | | ] |
| | | ``` |
| | | |
| | | Wenn später einmal der Wunsch aufkommt, die eintreffenden E-Mails |
| | | stattdessen an eine externe E-Mail-Adresse weiterzuleiten, kann man den |
| | | Eintrag aktualisieren. Das Ziel (`target`) lässt sich entweder ändern: |
| | | |
| | | ``` console |
| | | xyz00@hsadmin> emailaddress.update ({where:{domain:'hs-example.de',localpart:'info'}, set:{target:'andere@mail.de'}}) |
| | | [ |
| | | { |
| | | admin:'xyz00-doms', |
| | | domain:'hs-example.de', |
| | | emailaddress:'info@hs-example.de', |
| | | fulldomain:'hs-example.de', |
| | | id:'88747', |
| | | localpart:'info', |
| | | pac:'xyz00', |
| | | target:[ |
| | | 'andere@mail.de' |
| | | ] |
| | | } |
| | | ] |
| | | ``` |
| | | |
| | | Oder man ergänzt die neue E-Mail-Adresse, indem man sie zusätzlich |
| | | einfügt. Mehrere Ziele werden mit Kommata abgegrenzt. |
| | | |
| | | ``` console |
| | | xyz00@hsadmin> emailaddress.update ({where:{domain:'hs-example.de',localpart:'info'}, set:{target:'andere@mail.de,xzy00-hs_example.de'}}) |
| | | [ |
| | | { |
| | | admin:'xyz00-doms', |
| | | domain:'hs-example.de', |
| | | emailaddress:'info@hs-example.de', |
| | | fulldomain:'hs-example.de', |
| | | id:'88747', |
| | | localpart:'info', |
| | | pac:'xyz00', |
| | | target:[ |
| | | 'andere@mail.de', |
| | | 'xzy00-hs_example.de' |
| | | ] |
| | | } |
| | | ] |
| | | ``` |
New file |
| | |
| | | # Modul emailalias {#kap-modul-emailalias} |
| | | |
| | | Mit diesem Modul können Sie ein E-Mail-Alias setzen. Ein typischer |
| | | Anwendungsfall wird in `kap-email-alias`{.interpreted-text |
| | | role="numref"} beschrieben. |
| | | |
| | | ## Funktionen |
| | | |
| | | ::: option |
| | | emailalias.search |
| | | |
| | | Suche E-Mail-Alias nach den im Befehlsausdruck angegebenen Feldern und |
| | | Werten |
| | | ::: |
| | | |
| | | ::: option |
| | | emailalias.add |
| | | |
| | | Füge eine neue E-Mail-Alias nach den im Befehlsausdruck angegebenen |
| | | Feldern und Werten hinzu. |
| | | ::: |
| | | |
| | | ::: option |
| | | emailalias.update |
| | | |
| | | Aktualisiere eine E-Mail-Alias nach den im Befehlsausdruck angegebenen |
| | | Feldern und Werten. |
| | | ::: |
| | | |
| | | ::: option |
| | | emailalias.remove |
| | | |
| | | Lösche eine E-Mail-Alias nach den im Befehlsausdruck angegebenen Feldern |
| | | und Werten. |
| | | ::: |
| | | |
| | | ## Editierbare Felder |
| | | |
| | | Das HSAdmin-Modul `emailalias` kann entsprechend der folgenden |
| | | Befehlssyntax von `HSAdmin`{.interpreted-text role="command"} Felder |
| | | setzen oder verändern: |
| | | |
| | | emailalias.function({where:{field:'value',...}, set:{field:'value',...}}) |
| | | |
| | | Im Modul `emailalias` stehen folgende Felder zur Verfügung. |
| | | |
| | | name |
| | | |
| | | : Name des E-Mail-Alias |
| | | |
| | | target |
| | | |
| | | : Ziel einer E-Mail-Adresse; mehrere Ziele werden durch Kommata |
| | | getrennt |
| | | |
| | | ## Beispiele |
| | | |
| | | Das folgende E-Mail-Alias überschreibt die Voreinstellung für den |
| | | Paket-Admin `xyz00`. E-Mails an diesen Benutzer landen nicht mehr in |
| | | seinem Postfach, sondern werden an die E-Mailadresse |
| | | `webmaster@hs-example.de` weitergeleitet. |
| | | |
| | | ``` console |
| | | xyz00@hsadmin> emailalias.add ({set:{name:'xyz00',target:'webmaster@hs-example.de'}}) |
| | | ``` |
| | | |
| | | In dem nächsten beiden Beispielen wird zunächst nach der Konfiguration |
| | | für das E-Mail-Alias `xyz00` gesucht. Anschließend wird ein Postfach |
| | | `xyz00-mailbox` zusätzlich zu der bereits eingetragenen E-Mail-Adresse |
| | | hinzugefügt. Da das Programm die Felder komplett überschreibt, müssen |
| | | alle Werte angegeben werden. |
| | | |
| | | ``` console |
| | | xyz00@hsadmin> emailalias.search ({where:{name:'xyz00'}}) |
| | | xyz00@hsadmin> emailalias.update ({where:{name:'xyz00'},set:{target:'xyz00-mailbox,webmaster@hs-example.de'}}) |
| | | ``` |
| | | |
| | | Im letzten Beispiel wird das E-Mail-Alias wieder gelöscht, sodass |
| | | E-Mails an den Paket-Admin wieder an sein Postfach ausgeliefert werden. |
| | | |
| | | ``` console |
| | | xyz00@hsadmin> emailalias.remove ({where:{name:'xyz00'}}) |
| | | ``` |
New file |
| | |
| | | # HSAdmin {#kap-hsadmin} |
| | | |
| | | HSAdmin ist ein Werkzeug zur Verwaltung von Nutzern, E-Mail-Adressen, |
| | | E-Mail-Aliases, Domains, Datenbanken und Datenbank-Nutzern. Die |
| | | Bedienung erfolgt über ein Webfrontend, das in |
| | | `kap-hsadmin-einstieg`{.interpreted-text role="numref"} vorgestellt |
| | | wird. |
| | | |
| | | In diesem Kapitel geht es um den HSAdmin-Client |
| | | `hsscript`{.interpreted-text role="command"}, der in der Konsole benutzt |
| | | wird. |
| | | |
| | | ::: program |
| | | hsscript |
| | | ::: |
| | | |
| | | HSAdmin verfügt über folgende Module: |
| | | |
| | | ---------------------------------------------------------------------------------------------- |
| | | Modul Erläuterung |
| | | ---------------------------------------------------- ----------------------------------------- |
| | | `user<user>`{.interpreted-text role="doc"} Modul zur Nutzerverwaltung |
| | | |
| | | `mysqldb<mysqldb>`{.interpreted-text role="doc"} Modul zur Verwaltung von |
| | | MySQL-Datenbanken |
| | | |
| | | `mysqluser<mysqluser>`{.interpreted-text role="doc"} Modul zur Verwaltung vom |
| | | MySQL-Datenbanknutzern |
| | | |
| | | `postgresqldb<postgresqldb>`{.interpreted-text Modul zur Verwaltung von |
| | | role="doc"} PostgreSQL-Datenbanken |
| | | |
| | | `postgresqluser<postgresqluser>`{.interpreted-text Modul zur Verwaltung von |
| | | role="doc"} PostgreSQL-Datenbanknutzern |
| | | |
| | | `emailaddress<emailaddress>`{.interpreted-text Modul zur Verwaltung von E-Mail-Adressen |
| | | role="doc"} |
| | | |
| | | `emailalias<emailaliases>`{.interpreted-text Modul zur Verwaltung von E-Mail-Aliasen |
| | | role="doc"} |
| | | |
| | | `domain<domain>`{.interpreted-text role="doc"} Modul zur Verwaltung von Domains in einem |
| | | Web-Paket |
| | | |
| | | `q<q>`{.interpreted-text role="doc"} Modul zur Suche von Systemaufträgen von |
| | | HSAdmin |
| | | ---------------------------------------------------------------------------------------------- |
| | | |
| | | Die HSAdmin-Module verfügen über folgenden Funktionen: |
| | | |
| | | --------------------------------- |
| | | Funktion Erläuterung |
| | | ---------------- ---------------- |
| | | search suchen |
| | | |
| | | add hinzufügen |
| | | |
| | | update aktualisieren |
| | | |
| | | remove löschen |
| | | --------------------------------- |
| | | |
| | | ::: {.toctree maxdepth="1"} |
| | | syntax user domain mysqldb mysqluser postgresqldb postgresqluser |
| | | emailaddress emailaliases q skript webfrontend |
| | | ::: |
New file |
| | |
| | | # Modul mysqldb {#kap-modul-mysqldb} |
| | | |
| | | ## Funktionen |
| | | |
| | | ::: option |
| | | mysqldb.search |
| | | |
| | | Suche Datenbank nach den im Befehlsausdruck angegebenen Feldern und |
| | | Werten |
| | | ::: |
| | | |
| | | ::: option |
| | | mysqldb.add |
| | | |
| | | Füge eine neue Datenbank nach den im Befehlsausdruck angegebenen Feldern |
| | | und Werten hinzu. |
| | | ::: |
| | | |
| | | ::: option |
| | | mysqldb.update |
| | | |
| | | Aktualisiere eine Datenbank nach den im Befehlsausdruck angegebenen |
| | | Feldern und Werten. |
| | | ::: |
| | | |
| | | ::: option |
| | | mysqldb.remove |
| | | |
| | | Lösche eine Datenbank nach den im Befehlsausdruck angegebenen Feldern |
| | | und Werten. |
| | | ::: |
| | | |
| | | ## Editierbare Felder |
| | | |
| | | Das HSAdmin-Modul `mysqldb` kann entsprechend der folgenden |
| | | Befehlssyntax von `HSAdmin`{.interpreted-text role="command"} Felder |
| | | setzen oder verändern: |
| | | |
| | | mysqldb.function({where:{field:'value',...}, set:{field:'value',...}}) |
| | | |
| | | Im Modul `mysqldb` stehen folgende Felder zur Verfügung. |
| | | |
| | | name |
| | | |
| | | : Datenbankname (z.B. xyz00_abc) |
| | | |
| | | owner |
| | | |
| | | : Datenbanknutzer (z.B. xyz00_owner) |
| | | |
| | | encoding |
| | | |
| | | : Zeichensatz der Datenbank (Standard ist UTF-8) |
| | | |
| | | ## Beispiele |
| | | |
| | | Im ersten Beispiel erzeugen wir eine Datenbank mit dem Namen `xyz00_abc` |
| | | und legen als Besitzer den Datenbanknutzer `xyz00_owner` fest. |
| | | |
| | | ``` console |
| | | xyz00@hsadmin> mysqldb.add ({set:{name:'xyz00_abc',owner:'xyz00_owner'}}) |
| | | ``` |
| | | |
| | | Bevor man Änderungen an einem Datensatz vornimmt, kann man sich alle |
| | | Eigenschaften einer Datenbank mit dem Befehl |
| | | `mysqldb.search`{.interpreted-text role="option"} anzeigen lassen. Die |
| | | gewünschte Datenbank wird mit dem Befehlsausdruck `where` ausgewählt. |
| | | |
| | | ``` console |
| | | xyz00@hsadmin> mysqldb.search ({where:{name:'xyz00_abc'}}) |
| | | ``` |
| | | |
| | | Und mit dem Befehl `mysqldb.remove`{.interpreted-text role="option"} |
| | | können Datenbanken gelöscht werden. Die gewünschte Datenbank wird erneut |
| | | mit dem Befehlsausdruck `where` ausgewählt. |
| | | |
| | | ``` console |
| | | xyz00@hsadmin> mysqldb.remove ({where:{name:'xyz00_abc'}}) |
| | | ``` |
New file |
| | |
| | | # Modul mysqluser {#kap-modul-mysqluser} |
| | | |
| | | ## Funktionen |
| | | |
| | | ::: option |
| | | mysqluser.search |
| | | |
| | | Suche Datenbank-Benutzer nach den im Befehlsausdruck angegebenen Feldern |
| | | und Werten |
| | | ::: |
| | | |
| | | ::: option |
| | | mysqluser.add |
| | | |
| | | Füge einen neuen Datenbank-Benutzer nach den im Befehlsausdruck |
| | | angegebenen Feldern und Werten hinzu. |
| | | ::: |
| | | |
| | | ::: option |
| | | mysqluser.update |
| | | |
| | | Aktualisiere einen Datenbank-Benutzer nach den im Befehlsausdruck |
| | | angegebenen Feldern und Werten. |
| | | ::: |
| | | |
| | | ::: option |
| | | mysqluser.remove |
| | | |
| | | Lösche einen Datenbank-Benutzer nach den im Befehlsausdruck angegebenen |
| | | Feldern und Werten. |
| | | ::: |
| | | |
| | | ## Editierbare Felder |
| | | |
| | | Das HSAdmin-Modul `mysqluser` kann entsprechend der folgenden |
| | | Befehlssyntax von `HSAdmin`{.interpreted-text role="command"} Felder |
| | | setzen oder verändern: |
| | | |
| | | mysqluser.function({where:{field:'value',...}, set:{field:'value',...}}) |
| | | |
| | | Im Modul `mysqluser` stehen folgende Felder zur Verfügung. |
| | | |
| | | name |
| | | |
| | | : Name des Datenbank-Benutzers (z.B. `xyz00_owner`) |
| | | |
| | | password |
| | | |
| | | : Passwort des Datenbank-Benutzers |
| | | |
| | | ## Beispiele |
| | | |
| | | Im ersten Beispiel fügen wir dem System den Datenbank-Benutzer |
| | | `xyz00_owner` hinzu und geben ihm ein Passwort. |
| | | |
| | | ``` console |
| | | xyz00@hsadmin> mysqluser.add({set:{name:'xyz00_owner',password:'!1?2-3aBc'}}) |
| | | ``` |
| | | |
| | | In den folgenden beiden Beispielen lassen wir uns zunächst mit dem |
| | | Befehl `mysqluser.search`{.interpreted-text role="option"} die |
| | | Informationen zu einem Benutzer anzeigen, den wir mit dem |
| | | Befehlsausdruck `where` auswählen. Anschließend entfernen wir diesen |
| | | Nutzer mit dem Befehl `mysqluser.remove`{.interpreted-text |
| | | role="option"}. |
| | | |
| | | ``` console |
| | | xyz00@hsadmin> mysqluser.search({where:{name:'xyz00_owner'}}) |
| | | xyz00@hsadmin> mysqluser.remove({where:{name:'xyz00_owner'}}) |
| | | ``` |
| | | |
| | | Im letzten Beispiel aktualieren wir einen Benutzereintrag mit dem Befehl |
| | | `mysqluser.update`{.interpreted-text role="option"}. Der Benutzer wird |
| | | mit `where` ausgesucht, anschließend bekommt er mit `set` ein neues |
| | | Passwort. |
| | | |
| | | ``` console |
| | | xyz00@hsadmin> mysqluser.update({where:{name:'xyz00_owner'},set:{password:'neues-passwort'}}) |
| | | ``` |
New file |
| | |
| | | # Modul postgresqldb {#kap-modul-postgresqldb} |
| | | |
| | | ## Funktionen |
| | | |
| | | ::: option |
| | | postgresqldb.search |
| | | |
| | | Suche Datenbank nach den im Befehlsausdruck angegebenen Feldern und |
| | | Werten |
| | | ::: |
| | | |
| | | ::: option |
| | | postgresqldb.add |
| | | |
| | | Füge eine neue Datenbank nach den im Befehlsausdruck angegebenen Feldern |
| | | und Werten hinzu. |
| | | ::: |
| | | |
| | | ::: option |
| | | postgresqldb.update |
| | | |
| | | Aktualisiere eine Datenbank nach den im Befehlsausdruck angegebenen |
| | | Feldern und Werten. |
| | | ::: |
| | | |
| | | ::: option |
| | | postgresqldb.remove |
| | | |
| | | Lösche eine Datenbank nach den im Befehlsausdruck angegebenen Feldern |
| | | und Werten. |
| | | ::: |
| | | |
| | | ## Editierbare Felder |
| | | |
| | | Das HSAdmin-Modul `postgresqldb` kann entsprechend der folgenden |
| | | Befehlssyntax von `HSAdmin`{.interpreted-text role="command"} Felder |
| | | setzen oder verändern: |
| | | |
| | | postgresqldb.function({where:{field:'value',...}, set:{field:'value',...}}) |
| | | |
| | | Im Modul `postgresqldb` stehen folgende Felder zur Verfügung. |
| | | |
| | | name |
| | | |
| | | : Datenbankname (z.B. xyz00_abc) |
| | | |
| | | owner |
| | | |
| | | : Datenbanknutzer (z.B. xyz00_owner) |
| | | |
| | | encoding |
| | | |
| | | : Zeichensatz der Datenbank (Standard ist UTF-8) |
| | | |
| | | ## Beispiele |
| | | |
| | | Im ersten Beispiel erzeugen wir die Datenbank `xyz00_abc` und übergeben |
| | | ihr als Besitzer den Datenbanknutzer `xyz00_owner`. |
| | | |
| | | ``` console |
| | | xyz00@hsadmin> postgresqldb.add({set:{name:'xyz00_abc',owner:'xyz00_owner'}}) |
| | | ``` |
| | | |
| | | Die den beiden folgenden Beispielen lassen wir uns zunächst mit |
| | | `postgresqldb.search`{.interpreted-text role="option"} Informationen zur |
| | | Datenbank `xyz00_abc` anzeigen. Anschließend löschen wir sie mit |
| | | `postgresqldb.remove`{.interpreted-text role="option"}. |
| | | |
| | | ``` console |
| | | xyz00@hsadmin> postgresqldb.search({where:{name:'xyz00_abc'}}) |
| | | xyz00@hsadmin> postgresqldb.remove({where:{name:'xyz00_abc'}}) |
| | | ``` |
New file |
| | |
| | | # Modul postgresqluser {#kap-modul-postgresqluser} |
| | | |
| | | ## Funktionen |
| | | |
| | | ::: option |
| | | postgresqluser.search |
| | | |
| | | Suche Datenbank-Benutzer nach den im Befehlsausdruck angegebenen Feldern |
| | | und Werten |
| | | ::: |
| | | |
| | | ::: option |
| | | postgresqluser.add |
| | | |
| | | Füge einen neuen Datenbank-Benutzer nach den im Befehlsausdruck |
| | | angegebenen Feldern und Werten hinzu. |
| | | ::: |
| | | |
| | | ::: option |
| | | postgresqluser.update |
| | | |
| | | Aktualisiere einen Datenbank-Benutzer nach den im Befehlsausdruck |
| | | angegebenen Feldern und Werten. |
| | | ::: |
| | | |
| | | ::: option |
| | | postgresqluser.remove |
| | | |
| | | Lösche einen Datenbank-Benutzer nach den im Befehlsausdruck angegebenen |
| | | Feldern und Werten. |
| | | ::: |
| | | |
| | | ## Editierbare Felder |
| | | |
| | | Das HSAdmin-Modul `postgresqluser` kann entsprechend der folgenden |
| | | Befehlssyntax von `HSAdmin`{.interpreted-text role="command"} Felder |
| | | setzen oder verändern: |
| | | |
| | | postgresqluser.function({where:{field:'value',...}, set:{field:'value',...}}) |
| | | |
| | | Im Modul `postgresqluser` stehen folgende Felder zur Verfügung. |
| | | |
| | | name |
| | | |
| | | : Name des Datenbank-Benutzers (z.B. `xyz00_owner`) |
| | | |
| | | password |
| | | |
| | | : Passwort des Datenbank-Benutzers |
| | | |
| | | ## Beispiele |
| | | |
| | | Im ersten Beispiel fügen wir dem System den Datenbank-Benutzer |
| | | `xyz00_owner` hinzu und geben ihm ein Passwort. |
| | | |
| | | ``` console |
| | | xyz00@hsadmin> postgresqluser.add ({set:{name:'xyz00_owner',password:'!1?2-3aBc'}}) |
| | | ``` |
| | | |
| | | Mit `postgresqluser.search`{.interpreted-text role="option"} können wir |
| | | die Eigenschaften eines Benutzers anzeigen. Der gewünschte Benutzer wird |
| | | mit `where` ausgewählt. |
| | | |
| | | ``` console |
| | | xyz00@hsadmin> postgresqluser.search ({where:{name:'xyz00_owner'}}) |
| | | ``` |
| | | |
| | | Mit `postgresqluser.update`{.interpreted-text role="option"} können |
| | | Eigenschaften eines Benutzers verändert werden. Der gewünschte Benutzer |
| | | wird mit `where` ausgewählt. Anschliend wird in unserem Beispiel mit |
| | | `set` ein neues Passwort gesetzt. |
| | | |
| | | ``` console |
| | | xyz00@hsadmin> postgresqluser.update ({where:{name:'xyz00_owner'},set:{password:'neues-passwort'}}) |
| | | ``` |
| | | |
| | | Und zuletzt können Datenbank-Benutzer auch wieder gelöscht werden. Dazu |
| | | benutzen wir den Befehl `postgresqluser.remove`{.interpreted-text |
| | | role="option"}. Der zu löschende Benutzer wird mit `where` ausgewählt. |
| | | |
| | | ``` console |
| | | xyz00@hsadmin> postgresqluser.remove ({where:{name:'xyz00_owner'}}) |
| | | ``` |
New file |
| | |
| | | # Modul q {#kap-modul-q} |
| | | |
| | | ## Funktionen |
| | | |
| | | ::: option |
| | | q.search |
| | | |
| | | Das HSAdmin-Modul hat nur die Funktion `search`. Hiermit ist die Ausgabe |
| | | der bereits ausgeführten HSAdmin-Aktionen möglich. Die Ausgabe zeigt an, |
| | | ob eine Aktion erfolgreich abgeschlossen werden konnte oder ob beim |
| | | Ausrollen der Konfiguration auf den Server Fehler aufgetreten sind. Im |
| | | Erfolgsfall wird als Status \'done\' angezeigt. Wenn Fehler aufgetreten |
| | | sind wird der Status \'error\' ausgegeben. Daneben wird eine interne |
| | | Fehlermeldung im Feld \'exception\' angezeigt. Wenden Sie sich im |
| | | Fehlerfall bitte an den Service. |
| | | ::: |
| | | |
| | | ## Beispiele |
| | | |
| | | ``` console |
| | | $ q.search ({where:{user:'xyz00'}}) |
| | | ``` |
New file |
| | |
| | | # HSAdmin über Skripte steuern {#kap-hsscript-skript} |
| | | |
| | | In `kap-hsadmin-syntax`{.interpreted-text role="numref"} wurde die |
| | | Option `-f`{.interpreted-text role="option"} erwähnt, die gesetzt werden |
| | | kann, um HSAdmin eine Datei zu übergeben, in der sich die Befehle |
| | | befinden. Die Option ermöglicht es, ohne großen Aufwand Skriptdateien zu |
| | | pflegen, mit denen wiederkehrende Aufgaben bequem erledigt werden |
| | | können. Dieses Kapitel zeigt, wie Sie die Anlage einer neuen |
| | | Wordpress-Website mit Hilfe eines solchen Skripts vereinfachen können. |
| | | |
| | | Bevor Sie die eigentliche Wordpress-Software installiert, müssen mehrere |
| | | Schritte auf der Hostsharing-Plattform erledigt sein. |
| | | |
| | | 1. Es existiert ein `Domain-Admin`{.interpreted-text role="role"} bzw. |
| | | es wird ein neuer Domain-Admin angelegt. |
| | | 2. Es wird eine Domain erstellt und dem Domain-Admin zugewiesen. |
| | | 3. Es wird ein `Datenbank-Nutzer`{.interpreted-text role="role"} |
| | | angelegt. |
| | | 4. Es wird eine Datenbank angelegt und dem Datenbank-Nutzer zugewiesen. |
| | | |
| | | Mit der folgenden Skript-Datei kann man diese vier Schritte mit einem |
| | | Befehl ausführen. |
| | | |
| | | ``` {.text linenos=""} |
| | | user.add ({set:{name:'xyz00-domains',comment:'Domain-Admin',password:'!1?2-3aBc',shell:'/bin/bash'}}) |
| | | domain.add ({set:{name:'beispiel.de',user:'xyz00-domains'}}) |
| | | mysqluser.add ({set:{name:'xyz00_owner',password:'?2?3-4cVg'}}) |
| | | mysqldb.add ({set:{name:'xyz00_abc',owner:'xyz00_owner'}}) |
| | | ``` |
| | | |
| | | In Zeile 1 wird der Domain-Admin erzeugt, in Zeile 2 die Domain |
| | | `beispiel.de` angelegt, in Zeile 3 der Datenbank-Nutzer und in Zeile 4 |
| | | die Datenbank. Es ist möglich, die Datei lesbarer zu formatieren, indem |
| | | man jedem Key-Value-Paar eine eigene Zeile zuweist. |
| | | |
| | | ``` {.text linenos=""} |
| | | user.add ({set:{ |
| | | name:'xyz00-domains', |
| | | comment:'Domain-Admin', |
| | | password:'!1?2-3aBc', |
| | | shell:'/bin/bash' |
| | | }}) |
| | | domain.add ({set:{ |
| | | name:'beispiel.de', |
| | | user:'xyz00-domains' |
| | | }}) |
| | | mysqluser.add ({set:{ |
| | | name:'xyz00_owner', |
| | | password:'?2?3-4cVg' |
| | | }}) |
| | | mysqldb.add ({set:{ |
| | | name:'xyz00_abc', |
| | | owner:'xyz00_owner' |
| | | }}) |
| | | ``` |
| | | |
| | | Wenn Sie die Datei unter dem Namen `befehlsskript.txt`{.interpreted-text |
| | | role="file"} im Verzeichnis des `Paket-Admin`{.interpreted-text |
| | | role="role"} speichern, können Sie alle Befehle mit einem HSAdmin-Aufruf |
| | | abarbeiten: |
| | | |
| | | ``` console |
| | | xyz00@h50:~$ hsscript -f befehlsskript.txt |
| | | ``` |
| | | |
| | | Wenn Sie beispielsweise häufig Wordpress-Websites installieren, können |
| | | Sie für jede Website eine solche Befehlsdatei anlegen und unter einem |
| | | sinnvollen Namen (z.B. `wordpress-beispiel_de.txt`{.interpreted-text |
| | | role="file"}) abspeichern. |
| | | |
| | | ::: admonition |
| | | Beachten Sie die richtige Reihenfolge |
| | | |
| | | Bei der Anlage von Benutzern, Datenbanken und Domains ist die im |
| | | Beispiel gezeigt Reihenfolge einzuhalten. Um eine Domain anzulegen, muss |
| | | der Domain-Admin bereits existieren. Eine Datenbank kann nur erzeugt |
| | | werden, wenn der Datenbank-Nutzer bereits angelegt ist. |
| | | |
| | | Beim Löschen müssen Sie die Reihenfolge umkehren: Datenbank löschen, |
| | | Datenbank-Nutzer löschen, Domain löschen, Domain-Admin löschen. |
| | | ::: |
| | | |
| | | Noch bequemer ist es, die notwendigen Benutzer, Domains und Datenbanken |
| | | mit Hilfe eines ausführlicheren JS-Skripts oder über die Python-API |
| | | anzulegen. |
| | | |
| | | ## HSAdmin mit Javascript ansprechen |
| | | |
| | | Im Folgenden zeigen wir zwei JS-Skripts, die in der Regel im Verzeichnis |
| | | des `Paket-Admin`{.interpreted-text role="role"} mit dessen |
| | | Benutzerrechten aufgerufen werden. Mit dem ersten Skript erstellen wir |
| | | eine Domain und weisen ihr einen eigenen Domain-Admin zu, dessen Name |
| | | aus dem Namen der Domain abgeleitet wird. Mit dem zweiten Skript |
| | | erzeugen wir eine Datenbank und einen Datenbank-Nutzer, sodass wir unter |
| | | der gewünschten Domain zum Beispiel eine PHP-Anwendung wie Wordpress |
| | | einrichten können. |
| | | |
| | | ### JS-Skript zur Anlage einer Domain |
| | | |
| | | Ein Skript, um eine Domain mit einem gesonderten Domain-Admin anzulegen, |
| | | könnte so aussehen: |
| | | |
| | | ::: {.literalinclude linenos=""} |
| | | createdomainandadmin.js |
| | | ::: |
| | | |
| | | Die Funktion `pwGen()` erzeugt ein achtstelliges Passwort aus einer |
| | | Reihe von vorgegebenen Zeichen. Empfehlenswert sind längere Passworte. |
| | | Die Funktion `createDomainAndDomainAdmin(args)` erzeugt die Domain und |
| | | den Domain-Admin. Der Namen des Domain-Admin ergibt sich aus dem Namen |
| | | der Domain. Bei einer Domain, die einen Bindestrich enthält, muss dieser |
| | | durch einen Unterstrich ersetzt werden, da Benutzernamen nur einen |
| | | Bindestrich enthalten dürfen. |
| | | |
| | | Das Skript wird im Benutzerverzeichnis des Paket-Admin gespeichert und |
| | | ausführbar gemacht: |
| | | |
| | | ``` console |
| | | xyz00@h50:~$ chmod u+x createdomainandadmin.js |
| | | ``` |
| | | |
| | | Anschließend können Sie es folgendermaßen aufrufen: |
| | | |
| | | ``` console |
| | | xyz00@h50:~$ ./createdomainandadmin.js my-domain.de |
| | | created domain my-domain.de with domainadmin xyz00-my_domain.de and password slo%haY= |
| | | ``` |
| | | |
| | | Wenn Sie alle Domains mit einem einzigen Domain-Admin verwalten, können |
| | | Sie den Benutzernamen des Domain-Admin hart kodieren. Zeile 18 lautet |
| | | dann: |
| | | |
| | | ::: {.literalinclude lines="18"} |
| | | createdomain.js |
| | | ::: |
| | | |
| | | ### JS-Skript zur Anlage einer Datenbank |
| | | |
| | | Das Skript zur Anlage einer Datenbank und eines Datenbank-Nutzers sieht |
| | | ähnlich aus. |
| | | |
| | | ::: {.literalinclude linenos=""} |
| | | createuseranddb.js |
| | | ::: |
| | | |
| | | Die Funktion `createMySQLUserAndDB(args)` erzeugt den Datenbank-Nutzer |
| | | und die Datenbank. Da sich Datenbank und Datenbank-Nutzer nicht in die |
| | | Quere kommen, haben sie der Einfachheit halber den gleichen Namen. |
| | | |
| | | Beim Aufruf des Skripts muss eine Zeichenkette übergeben werden, die |
| | | Bestandteil der Namen von Datenbank und Datenbank-Nutzer wird. |
| | | |
| | | ``` console |
| | | xyz00@h50:~$ ./createuseranddb.js my_domain_wordpress |
| | | created user and database xyz00_my_domain_wordpress with password 4fo=s3xY |
| | | ``` |
| | | |
| | | ::: attention |
| | | ::: title |
| | | Attention |
| | | ::: |
| | | |
| | | Merken Sie sich die Passworte, da Sie diese später benötigen. Bei einer |
| | | Datenbank-Anwendungen müssen Sie bei der Konfiguration den |
| | | Datenbank-Benutzer und sein Passwort angeben. |
| | | ::: |
| | | |
| | | ## Nutzung der Python-API {#kap-python-api} |
| | | |
| | | Sie können HSAdmin auch remote über die Python-API des Programms |
| | | ansprechen. Das ermöglicht es Ihnen von einem entfernten Rechner aus |
| | | HSAdmin zu bedienen. Um mit der Python-API zu arbeiten müssen Sie |
| | | zunächst die Python-Bindings für HSAdmin installieren. |
| | | |
| | | ### Installation von hs.admin.api |
| | | |
| | | Wir installieren die Python-Bindings in einer virtuellen |
| | | Python-Umgebung, sodass wir diese zunächst einrichten und aktivieren. |
| | | |
| | | ``` console |
| | | $ python3 -m venv /hsadmin |
| | | $ . /hsadmin/bin/activate |
| | | ``` |
| | | |
| | | Anschließend klonen wir die Python-Bindings und installieren sie. |
| | | |
| | | ``` console |
| | | $ git clone https://dev.hostsharing.net//r/ansible/hs.admin.api.git |
| | | $ cd hs.admin.api |
| | | $ python setup.py install |
| | | ``` |
| | | |
| | | Nun steht uns das Modul mit dem Python-Bindings in der virtuellen |
| | | Umgebung zur Verfügung, sodass wir es in einem Skript importieren |
| | | können. |
| | | |
| | | ### Python-Skript |
| | | |
| | | Um die API in einem Skript nutzen zu können, müssen wir mit folgendem |
| | | Code ein API-Objekt erzeugen. |
| | | |
| | | ::: {.literalinclude linenos="" lines="1-9"} |
| | | createdomain.py |
| | | ::: |
| | | |
| | | Nun ist es möglich, mit der üblichen Syntax HSAdmin im Skript |
| | | anzusprechen. |
| | | |
| | | Mit diesen beiden Befehlen legen wir beispielsweise einen Domain-Admin |
| | | und eine neue Domain an. |
| | | |
| | | ::: {.literalinclude lines="11-12"} |
| | | createdomain.py |
| | | ::: |
| | | |
| | | Eine Datenbank lässt sich folgendermaßen anlegen. |
| | | |
| | | ::: {.literalinclude lines="11-12"} |
| | | createuseranddb.py |
| | | ::: |
| | | |
| | | Nun wollen wir diese Befehle in ein Skript einbauen, das noch einige |
| | | andere nützliche Dinge für uns erledigt. Reseller und Webmaster, die |
| | | viele Anwendungen betreuen, buchen häufig mehrere Pakete bei |
| | | Hostsharing, sodass sie gerne ein Skript hätten, dem sie auch das Kürzel |
| | | für das Paket übergeben können, in dem sie eine Domain mit Datenbank |
| | | einrichten möchten. Außerdem wäre es hilfreich, wenn das Skript dafür |
| | | sorgt, dass Benutzernamen und Datenbankenname immer nach einem |
| | | einheitlichen Schema erzeugt werden, sodass die Orientierung leichter |
| | | fällt. In unserem Beispielskript übergeben wir daher dem Skript drei |
| | | Argumente: |
| | | |
| | | 1. das Kürzel für das Paket |
| | | 2. den Domainnamen |
| | | 3. eine Projekt-ID |
| | | |
| | | Die Projekt-ID darf nicht mehr als 10 Zeichen umfassen, da sie zusammen |
| | | mit dem fünfstelligen Paketkürzel in den Namen für Datenbank und |
| | | Datenbank-Nutzer verwendet wird. Diese dürfen aber nicht länger als 16 |
| | | Zeichen sein. Als Schema für eine Projekt-ID kommt also beispielsweise |
| | | eine Kombination aus einer Kundennummer und einer Abkürzung in Frage. |
| | | Wir verwenden in unserem Beispiel dafür eine dreistellige Kundennummer |
| | | und die Abkürzung `wp` für Wordpress. Die Elemente trennen wir mit dem |
| | | Unterstrich, da nur dieser als Namensbestandteil erlaubt ist. |
| | | |
| | | Wenn wir für den Kunden mit der Kundennummer 23 im Paket `xyz00` eine |
| | | Domain für einen Wordpress-Blog einrichten möchten, lautet der Aufruf |
| | | des Skripts folgendermaßen: |
| | | |
| | | ``` console |
| | | $ python createall.py xyz00 hs-example.de 023_wp |
| | | ``` |
| | | |
| | | Der Code des Skripts sieht so aus: |
| | | |
| | | ::: {.literalinclude linenos=""} |
| | | createall.py |
| | | ::: |
| | | |
| | | In den ersten fünf Zeilen importieren wir einige Module bzw. Funktionen, |
| | | die wir benötigen. In den Zeilen 7 bis 9 lesen wir die übergebenen |
| | | Argumente aus und speichern die Werte in entsprechenden Variablen. |
| | | |
| | | Um das API-Objekt zu erzeugen, benötigen wir das Passwort für den |
| | | übergebenen Paket-Admin. Wir lesen in Zeile 11 das Passwort aus dem |
| | | verschlüsselten Passwort-Tresor des Kommandozeilenprogramms |
| | | `pass`{.interpreted-text role="command"} aus und speichern es in der |
| | | Variablen `pw`. Weitere Informationen zu dem Programm finden Sie auf der |
| | | Website <https://www.passwordstore.org/>. Sie können natürlich andere |
| | | Programme wählen, um ein Passwort aus einem Passwort-Tresor auszulesen. |
| | | Falls Sie nur ein Paket bei Hostsharing verwalten, können Sie das |
| | | Passwort auch direkt ins Skript eintragen. Aus Sicherheitsgründen |
| | | sollten Sie dies möglichst vermeiden. |
| | | |
| | | Anschließend erzeugt das Skript das API-Objekt, wobei es als Credentials |
| | | den Namen des Paket-Admin und sein Passwort übergibt. Der Namen des |
| | | Paket-Admin ist identisch mit dem Paket, in dem die Domain angelegt |
| | | werden soll. |
| | | |
| | | Danach wird ein Zufallsgenerator definiert, mit die Passworte erzeugt |
| | | werden, die später benötigt werden. In Zeile 27 und 28 werden die |
| | | Passworte für den Domain-Admin und den Datenbank-Nutzer erzeugt und in |
| | | Variablen gespeichert. Direkt anschließend erzeugt das Skript aus den |
| | | beim Aufruf übergebenen Werten die Namen für den Domain-Admin, den |
| | | Datenbank-Nutzer und die Datenbank. |
| | | |
| | | In den Zeilen 33 bis 36 werden der Domain-Admin, die Domain, den |
| | | Datenbank-Nutzer und die Datenbank angelegt. |
| | | |
| | | Und zum Schluss gibt das Skript alle Daten aus. |
| | | |
| | | Idealerweise würde ein solches Skript die neuen Benutzernamen mit den |
| | | jeweiligen Passworten in den Passwort-Tresor eintragen, sodass dies |
| | | nicht mit der Hand erledigt werden muss. |
New file |
| | |
| | | # Syntax {#kap-hsadmin-syntax} |
| | | |
| | | Die Funktionen von HSAdmin können über das Kommandozeilenprogramm |
| | | `hsscript`{.interpreted-text role="command"} aufgerufen werden, welches |
| | | Befehle per Parameter, Dateiübergabe oder interaktiv entgegennimmt. Der |
| | | Aufruf erfolgt nach folgender Syntax: |
| | | |
| | | ``` console |
| | | $ hsscript -u <Benutzer> -e <Befehl>... |
| | | ``` |
| | | |
| | | Die folgenden Optionen können übergeben werden. |
| | | |
| | | ::: option |
| | | -u \--user |
| | | |
| | | Benutzer, welcher zur Authentifizierung und Autorisierung verwendet |
| | | werden soll, zum Beispiel `xyz00`. |
| | | ::: |
| | | |
| | | ::: option |
| | | -r \--runas |
| | | |
| | | Benutzer, mit dessen Rechten der Befehl ausgeführt werden soll, zum |
| | | Beispiel `xzy00-doms`. |
| | | ::: |
| | | |
| | | ::: option |
| | | -e \--expr |
| | | |
| | | Der Befehl, der ausgeführt werden soll. Er setzt sich aus einer Reihe |
| | | von Parametern zusammen. Der Befehl hat folgende Syntax: |
| | | |
| | | module.function({where:{field:'value',...}, set:{field:'value',...}}) |
| | | |
| | | -------------------------------------------------------------------------- |
| | | Parameter Erläuterung |
| | | ----------- -------------------------------------------------------------- |
| | | module Modul, dessen Funktion aufgerufen werden soll (z.B. `user` |
| | | oder `mysqldb`) |
| | | |
| | | function Funktion, welche aufgerufen werden soll (`search`, `add`, |
| | | `update`, `remove`) |
| | | |
| | | where selektiert nach Wert eines oder mehrerer Felder |
| | | |
| | | set setzt oder aktualisiert den Wert eines oder mehrerer Felder |
| | | -------------------------------------------------------------------------- |
| | | |
| | | Die Module und Funktionen werden in den folgenden Kapiteln erklärt. |
| | | ::: |
| | | |
| | | ::: option |
| | | -f \--file |
| | | |
| | | Datei, aus welcher Befehle gelesen und ausgeführt werden sollen. Lesen |
| | | Sie dazu `kap-hsscript-skript`{.interpreted-text role="numref"}. |
| | | ::: |
| | | |
| | | ::: option |
| | | -i \--interactive |
| | | |
| | | Das Programm startet im interaktiven Modus. Die Befehle können am |
| | | Kommandozeilen-Prompt eingegeben werden. |
| | | ::: |
New file |
| | |
| | | # Modul user {#kap-modul-user} |
| | | |
| | | ## Funktionen |
| | | |
| | | ::: option |
| | | user.search |
| | | |
| | | Suche Benutzer nach den im Befehlsausdruck angegebenen Feldern und |
| | | Werten |
| | | ::: |
| | | |
| | | ::: option |
| | | user.add |
| | | |
| | | Füge einen neuen Benutzer nach den im Befehlsausdruck angegebenen |
| | | Feldern und Werten hinzu. |
| | | ::: |
| | | |
| | | ::: option |
| | | user.update |
| | | |
| | | Aktualisiere einen Benutzer nach den im Befehlsausdruck angegebenen |
| | | Feldern und Werten. |
| | | ::: |
| | | |
| | | ::: option |
| | | user.remove |
| | | |
| | | Lösche einen Benutzer nach den im Befehlsausdruck angegebenen Feldern |
| | | und Werten. |
| | | ::: |
| | | |
| | | ## Editierbare Felder |
| | | |
| | | Das HSAdmin-Modul `user` kann entsprechend der folgenden Befehlssyntax |
| | | von `HSAdmin`{.interpreted-text role="command"} Felder setzen oder |
| | | verändern: |
| | | |
| | | user.function({where:{field:'value',...}, set:{field:'value',...}}) |
| | | |
| | | Im Modul `user` stehen folgende Felder zur Verfügung. |
| | | |
| | | name |
| | | |
| | | : Benutzerkennung (z.B. xyz00-abc) |
| | | |
| | | comment |
| | | |
| | | : Kommentar, in dem zum Beispiel die Funktion des Benutzers |
| | | beschrieben werden kann |
| | | |
| | | password |
| | | |
| | | : Das Passwort |
| | | |
| | | shell |
| | | |
| | | : Die zugewiesene Shell (z.B. `/bin/bash`) |
| | | |
| | | quota_softlimit |
| | | |
| | | : Das zugewiesene `Quota`{.interpreted-text role="term"} in Megabyte |
| | | |
| | | quote_hardlimit |
| | | |
| | | : Grenze der `Grace Period`{.interpreted-text role="term"}, bis zu der |
| | | Überschreitungen des Softlimit toleriert werden. Angabe in Megabyte |
| | | |
| | | ## Beispiele |
| | | |
| | | In einer interaktiven Sitzung wird mit folgendem Befehl der neue |
| | | Benutzer `xyz00-mustermann` angelegt. |
| | | |
| | | ``` console |
| | | xyz00@hsadmin> user.add ({set:{name:'xyz00-mustermann',comment:'Max Mustermann',password:'!1?2-3aBc',shell:'/bin/bash'}}) |
| | | ``` |
| | | |
| | | Man kann alle Informationen zu einem Nutzer abfragen: |
| | | |
| | | ``` console |
| | | xyz00@hsadmin> user.search ({where:{name:'xyz00-mustermann'}}) |
| | | ``` |
| | | |
| | | Einstellungen können nachträglich verändert werden. Dafür wird der |
| | | Befehl `user.update`{.interpreted-text role="option"} benutzt. Im |
| | | Befehlsausdruck wird zunächst mit `where` nach einem Datensatz gesucht, |
| | | auf den mit `set` die Veränderung angewendet wird. Im ersten Beispiel |
| | | wird für den Benutzer `xyz00-mustermann` ein neues Passwort gesetzt. Im |
| | | zweiten Beispiel bekommt der Benutzer eine andere Shell zugewiesen und |
| | | im dritten wird ein Quota gesetzt. |
| | | |
| | | ``` console |
| | | xyz00@hsadmin> user.update ({where:{name:'xyz00-mustermann'},set:{password:'neues-passwort'}}) |
| | | xyz00@hsadmin> user.update ({where:{name:'xyz00-mustermann'},set:{shell:'/bin/zsh'}}) |
| | | xyz00@hsadmin> user.update ({where:{name:'xyz00-mustermann'},set:{quota_softlimit:'50',quota_hardlimit:'75'}}) |
| | | ``` |
| | | |
| | | Natürlich können wir Benutzer mit Hilfe des Kommandozeilen-Tools auch |
| | | wieder entfernen. Im folgenden Beispiel wird der Benutzer |
| | | `xyz00-mustermann` mit dem Befehl `user.remove`{.interpreted-text |
| | | role="option"} gelöscht. |
| | | |
| | | ``` console |
| | | xyz00@hsadmin> user.remove ({where:{name:'xyz00-mustermann'}}) |
| | | ``` |
New file |
| | |
| | | # HSAdmin-Webfrontend |
| | | |
| | | HSAdmin verfügt über ein Webfrontend <https://admin.hostsharing.net> zur |
| | | Verwaltung eines |
| | | `Web-Pakets</referenz/webpaket/index>`{.interpreted-text role="doc"}. |
| | | |
| | | Die Bedienung wurde in `kap-hsadmin-einstieg`{.interpreted-text |
| | | role="numref"} beschrieben. |
New file |
| | |
| | | # htaccess {#kap-htaccess} |
| | | |
| | | Das Verhalten des Apache Webservers lässt sich durch |
| | | `.htaccess`{.interpreted-text role="file"}-Dateien im Verzeichnis einer |
| | | Domain steuern. Die zentrale Konfiguration lässt sich damit für einzelne |
| | | Verzeichnisse überschreiben. Eine `.htaccess`{.interpreted-text |
| | | role="file"}-Datei wirkt sich auf das Verzeichnis aus, in dem sie sich |
| | | befindet, und auf alle Unterverzeichnisse. Konfigurationen, die es |
| | | ermöglichen, dass der Webserver Rechte anderer User erhalten kann, sind |
| | | dabei nicht erlaubt. |
| | | |
| | | ## Bereiche einer Website mit Passwort schützen |
| | | |
| | | Ein typischer Anwendungsfall ist der Schutz eines bestimmten |
| | | Verzeichnisses mit einem Passwort. Dazu muss zunächst eine |
| | | Passwort-Datei mit dem Namen `.htpasswd`{.interpreted-text role="file"} |
| | | im `etc`{.interpreted-text role="file"}-Verzeichnis der Domain angelegt |
| | | werden. Dies erfolgt mit dem Programm `htpasswd`{.interpreted-text |
| | | role="command"}. |
| | | |
| | | ``` console |
| | | xyz00-doms@h97:~$ cd ~/doms/hs-example.de/etc |
| | | xyz00-doms@h97:~$ htpasswd -c .htpasswd peter |
| | | New password: ***** |
| | | Re-type new password: ***** |
| | | xyz00-doms@h97:~$ |
| | | ``` |
| | | |
| | | Statt der Sternchen geben Sie das gewünschte Passwort ein. Es wird |
| | | verschlüsselt gespeichert. Die Option `-c` wird nur bei der ersten |
| | | Anlage der Passwort-Datei gesetzt. Wenn ein Passwort für einen zweiten |
| | | Benutzer eingerichtet wird, muss `htpasswd`{.interpreted-text |
| | | role="command"} ohne die Option aufgerufen werden, da sonst die Datei |
| | | komplett überschrieben würde und das Passwort für den ersten Benutzer |
| | | verloren ginge. |
| | | |
| | | ``` console |
| | | xyz00-doms@h97:~$ cd ~/doms/hs-example.de/etc |
| | | xyz00-doms@h97:~$ htpasswd .htpasswd paula |
| | | New password: ***** |
| | | Re-type new password: ***** |
| | | xyz00-doms@h97:~$ |
| | | ``` |
| | | |
| | | Diese Passwort-Datei kann nun für beliebige Verzeichnisse der Domain |
| | | genutzt werden. Um ein Verzeichnis mit einem Passwort zu schützen, legen |
| | | Sie dazu einfach eine `htaccess`{.interpreted-text role="file"}-Datei |
| | | mit folgendem Inhalt in dem betreffenden Verzeichnis an. |
| | | |
| | | ``` text |
| | | order allow,deny |
| | | allow from all |
| | | require valid-user |
| | | Authname "Privater Bereich. Bitte melden Sie sich an." |
| | | Authtype Basic |
| | | AuthUserFile /home/doms/hs-example.de/etc/.htpasswd |
| | | ``` |
| | | |
| | | Beim Aufruf des Bereichs im Webbrowser wird der Besucher aufgefordert, |
| | | den Benutzernamen (in unserem Beispiel `peter` oder `paula`) sowie das |
| | | jeweilige Passwort einzugeben. |
| | | |
| | | ## Weiterleitungen (Redirects) |
| | | |
| | | Ein anderer typischer Anwendungsfall sind Redirects. Weiterleitungen |
| | | werden benötigt, wenn alte Inhalte verschoben werden, sodass sie unter |
| | | einer neuen Webadresse erreichbar sind. Weiterleitungen verhindern, dass |
| | | Links, die von anderen Webseiten auf den verschobenen Inhalt gesetzt |
| | | wurden, ins Leere gehen. Dazu können Sie eine |
| | | `htaccess`{.interpreted-text role="file"}-Datei im obersten Verzeichnis |
| | | anlegen, in dem Sie alle Weiterleitungen aufführen. |
| | | |
| | | ``` text |
| | | Redirect permanent /alte-url-1/ /neue-url-1/ |
| | | Redirect permanent /alte-url-2/ /neue-url-2/ |
| | | Redirect permanent /alte-url-3/ /neue-url-3/ |
| | | ``` |
| | | |
| | | ## Eigene 404-Datei festlegen |
| | | |
| | | Wenn ein Benutzer auf Ihrer Website eine ungültige Webadresse aufruft, |
| | | zeigt der Browser eine 404-Meldung an. Sie können diese Standardanzeige |
| | | anpassen, indem Sie den Webserver anweisen, bei einem 404-Fehler eine |
| | | besondere Webseite anzuzeigen. |
| | | |
| | | ``` text |
| | | ErrorDocument 403 /404.html |
| | | ``` |
| | | |
| | | Weitere Möglichkeiten, das Verhalten des Webservers über |
| | | `htaccess`{.interpreted-text role="file"}-Dateien zu steuern, finden Sie |
| | | in der [Apache-Dokumentation](https://httpd.apache.org/docs/2.4/). Eine |
| | | deutschsprachige Anleitung und Beispielkonfigurationen finden Sie unter: |
| | | <https://wiki.selfhtml.org/wiki/Webserver/htaccess> |
New file |
| | |
| | | # Referenz {#kap-referenz} |
| | | |
| | |  |
| | | |
| | | In diesem Kapitel werden die Dienste und Funktionen der Managed |
| | | Operations Platform von Hostsharing dokumentiert. |
| | | |
| | | ::: {.toctree maxdepth="1"} |
| | | benutzer/index webpaket/index domain/index email/index datenbanken/index |
| | | tls/index zonefile/index hsadmin/index htaccess php logging/index backup |
| | | wartungsfenster hostkeys |
| | | ::: |
New file |
| | |
| | | # Logging {#kap-logging} |
| | | |
| | | ## Traffic {#kap-traffic} |
| | | |
| | | Im Web-Paket wird jeden Monat eine Traffic-Log-Datei für den erzeugten |
| | | Traffic erzeugt, die den Verbrauch eines jeden Tages pro Zeile enthält. |
| | | Der Traffic setzt sich aus HTTP-, FTP- und Mail-Traffic (POP3, IMAP) |
| | | zusammen. Bei Überschreitung des gebuchten Traffics wird der |
| | | `Paket-Admin`{.interpreted-text role="role"} automatisch per E-Mail |
| | | informiert. |
| | | |
| | | Der Traffic für einzelne Benutzer innerhalb eines Pakets kann nicht |
| | | beschränkt werden. |
| | | |
| | | ## Traffic-Log-File {#kap-traffic-log} |
| | | |
| | | Der im Web-Paket erzeugte Traffic wird dem Paket-Admin unter |
| | | `/home/pacs/xyz00/var/traffic-iptables-YYYY-MM.log`{.interpreted-text |
| | | role="file"} zugänglich gemacht. Das Logfile hat folgenden Aufbau: |
| | | |
| | | +-----+----+-------+-------+--------+---------+-----+--------+-----+ |
| | | | Da | P | M | Tages | Traffi | IP- | T | IP-A | T | |
| | | | tum | ak | onats | limit | csumme | Adresse | raf | dresse | raf | |
| | | | | et | limit | | | 1 | fic | 2 | fic | |
| | | | | | | | | | 1 | | 2 | |
| | | +=====+====+=======+=======+========+=========+=====+========+=====+ |
| | | | 2 | x | > | 34 | > | 83.223 | 89. | | 0. | |
| | | | 020 | yz | 10240 | 1.333 | 89.367 | .79.125 | 367 | | 000 | |
| | | | -01 | 00 | | | | | | | | |
| | | | -01 | | | | | | | | | |
| | | +-----+----+-------+-------+--------+---------+-----+--------+-----+ |
| | | |
| | | Die Bedeutung der einzelnen Spalten: |
| | | |
| | | `Datum:` Datum der Messung |
| | | |
| | | `Paket:` Name des Web-Pakets |
| | | |
| | | `Monatslimit:` Gebuchter Gesamttraffic pro Monat in Megabyte |
| | | |
| | | `Tageslimit:` Tägliches Traffic-Kontingent bei gleichmäßigem Verbrauch |
| | | in Megabyte |
| | | |
| | | `Trafficsumme:` Gesamtsumme des angefallenen Traffics am angegebenen Tag |
| | | in Megabyte |
| | | |
| | | `IP-Adresse 1:` Primäre IP-Adresse des Web-Pakets |
| | | |
| | | `Traffic 1:` Über die primäre IP-Adresse angefallener Traffic in |
| | | Megabyte |
| | | |
| | | `IP-Adresse 2:` Sekundäre IP-Adresse des Web-Pakets |
| | | |
| | | `Traffic 2:` Über die sekundäre IP-Adresse angefallener Traffic in |
| | | Megabyte |
| | | |
| | | ## HTTP-Log {#kap-http-log} |
| | | |
| | | Das in kurzen Abständen aktualisierte Logfile |
| | | `web.log`{.interpreted-text role="file"} des Webservers steht im |
| | | Paketverzeichnis `/home/pacs/xyz00/var/`{.interpreted-text role="file"} |
| | | dem Paket-Admin zur Verfügung. Aus dem Logfile werden nach Ablauf des |
| | | Tages einzelne Logfiles für alle abgerufenen Domains und Sub-Domains |
| | | generiert und unter |
| | | `/home/pacs/xyz00/var/web-www.example.org-YYYYMMDD-HHMI.log.gz`{.interpreted-text |
| | | role="file"} gespeichert. Diese Dateien werden 48 Tage archiviert und |
| | | nach Ablauf dieser Frist automatisch gelöscht. Das Error-Logfile |
| | | `web.err` des Webservers steht unter |
| | | `/home/pacs/xyz00/var`{.interpreted-text role="file"} dem Paket-Admin |
| | | zur Verfügung. |
New file |
| | |
| | | # PHP {#kap-php} |
| | | |
| | | PHP ist standardmäßig über FastCGI konfiguriert. In den Ordnern |
| | | `fastcgi` und `fastcgi-ssl` unterhalb des Domainordners findet sich eine |
| | | phpstub-Datei; der Webserver liefert php-Dateien mit den Rechten des |
| | | Users aus. |
| | | |
| | | ## Eigene PHP Konfiguration |
| | | |
| | | Im Ordner `fastcgi` oder `fastcgi-ssl` wird die Datei php.ini angelegt. |
| | | In dieser Datei werden die Änderungen gegenüber den Standardwerten |
| | | eingetragen. |
| | | |
| | | Eine Übersicht über die Standardwerte von PHP können unter |
| | | `/etc/php/7.4/cgi/php.ini`{.interpreted-text role="file"} eingesehen |
| | | werden. |
| | | |
| | | ## PHP Prozesse stoppen |
| | | |
| | | Nach Änderungen an der php.ini müssen alle PHP-Prozesse gestoppt werden: |
| | | |
| | | ``` console |
| | | $ killall php -u $USER |
| | | ``` |
| | | |
| | | ## phpstub |
| | | |
| | | Die Datei `phpstub` ist standardmäßig vorhanden, alternativ kann sie aus |
| | | dem Ordner `/usr/local/src/phpstub` wiederhergestellt werden. |
| | | |
| | | ## Vorinstallierte PHP Version wechseln |
| | | |
| | | Hostsharing bietet neben der vom Betriebssystem vorinstallierten |
| | | Standardversion 7.4 auch PHP 7.0, 7.1, 7.2, und 7.3 an. |
| | | |
| | | Um die Version zu wechseln, genügt es, den jeweiligen phpstub |
| | | auszutauschen. Version 7.3 liegt unter |
| | | `/usr/local/src/phpstub/phpstub73`{.interpreted-text role="file"}; das |
| | | Versionformat ist entsprechend |
| | | `/usr/local/src/phpstub/phpstubXX`{.interpreted-text role="file"}. |
| | | |
| | | ### phpstub für PHP 7.3 kopieren |
| | | |
| | | ``` console |
| | | $ cp /usr/local/src/phpstub/phpstub73 ~/doms/example.com/fastcgi/ |
| | | $ cp /usr/local/src/phpstub/phpstub73 ~/doms/example.com/fastcgi-ssl/ |
| | | ``` |
| | | |
| | | ### phpstub für PHP 7.3 aktivieren |
| | | |
| | | In der jeweiligen .htaccess eines Ordners genügt es, die PHP |
| | | Dateizuordnung zu überschreiben: |
| | | |
| | | AddType application/x-httpd-php73 .php |
| | | Action application/x-httpd-php73 /fastcgi-bin/phpstub73 |
| | | |
| | | Damit wird für den aktuellen Ordner und alle Unterordner PHP 7.3 |
| | | verwendet. |
| | | |
| | | Auf die gleiche Weise können auch PHP 7.2, PHP 7.1 oder PHP 7.0 |
| | | aktiviert werden |
New file |
| | |
| | | # Zertifikate einer Zertifizierungsstelle |
| | | |
| | | Für die Installation eines Zertifikate einer Zertifizierungsstelle muss |
| | | der `Paket-Admin`{.interpreted-text role="role"} einen ›Private Key‹ und |
| | | einen CSR (Certificate Signing Request) erzeugen. Die Vorgehensweise ist |
| | | in der Regel auf den Webseiten der Zertifizierungsstelle beschrieben. |
| | | Weitere Hinweise sind im Hostsharing Wiki unter |
| | | [TLS/SSL](https://wiki.hostsharing.net/index.php?title=TLS_/_SSL) |
| | | beschrieben. |
| | | |
| | | Für die Aktivierung des Zertifikates wird ein Auftrag an |
| | | <service@hostsharing.net> gesendet. Die Aktivierung des Zertifikats |
| | | durch den Service ist kostenpflichtig. |
| | | |
| | | ::: todo |
| | | Evtl. ausführlich beschreiben und aus Wiki übernehmen. |
| | | ::: |
New file |
| | |
| | | # Filemapping mit TLS |
| | | |
| | | In der folgenden Grafik ist der Entscheidungsweg beschrieben, der |
| | | durchlaufen wird, um einem anfragenden Browser die richtige Datei |
| | | auszuliefern. Die Website wird über `https` aufgerufen, sodass TLS aktiv |
| | | ist. |
| | | |
| | |
---|