Commit aa63a3bc authored by mahogony's avatar mahogony
Browse files

Update webhostimg docu

parent afc6253a
Pipeline #908 failed with stages
in 14 seconds
......@@ -3,4 +3,12 @@ title: "Webhosting"
date: 2019-05-08T20:55:56+02:00
weight: 20
---
# Webhosting
Immerda bietet Webhosting für php basierte Projekte. In Zukunft werden wir auch Hostings für andere Programmiersprachen anbieten. Das Webhosting eignet sich für Projektwebseiten, Blogs und Informationsprojekte.
## Webhosting bestellen
Wenn du dein eigener Blog oder deine eigene Seite bei uns Hosten willst, schreib uns eine Email an admin@immerda.ch. Teil uns bitte mit, was für eine Domain und CMS du benutzen möchtest.
### Domains
Immerda reserviert keine Domains für dich. Deine Domain musst du selbständig bei einem Registrar deiner Wahl registrieren. Falls du nicht weisst wovon wir hier reden, dann schreib und, wir können dich dabei unterstützen.
## mod_security
Per Default haben wir auf allen Seiten mod_security aktiviert. Dies kann unter Umständen durchaus zu Problemen führen, meldet euch einfach.
.htaccess Files
Die Verwendung von .htaccess ist möglich, jedoch bei uns per Default aufgrund von Performance Gründen ausgeschalten. Ihr könnt uns aber einfach ein mail machen und wir werden dies euch aktivieren.
Nameservers
Siehe Infos zur eigenen Domain.
PHP Kommentare
PHP Kommentare werden nur in der Form // für einzeilige und /* */ für mehrzeilige Kommentare vom Server akzeptiert. # wird z.T. auch von Apache Servern akzeptiert, führt auf immerda jedoch zu einem Internal Server Error 500.
Wordpress Caching
Wir empfehlen folgende Anleitung um eure Wordpress Seiten zu Cachen und damit schneller zu machen: https://github.com/0x46616c6b/wordpress-caching
Piwik und Wordpress
Um Statistiken über Anzahl Besucherinnen deiner Seite zu sammeln kannst du unsere datenschutzfreundliche Piwik Installation nutzen. Um dies mit deinem Wordpress zu verbinden, empfehlen wir dir dabei das Plugin WP-Piwik. In den Einstellungen musst du dabei die volle https-Url inkl. /index.php angeben, sowie den Auth-Token, den du von uns bekommen hast.
Weiterleitung auf https
Eine permanente Weiterleitung auf https könnt ihr am einfachsten bei uns beantragen, dann richten wir dies so ein. Solltet ihr dies nur für bestimmte URLs oder selber via .htaccess lösen möchten, dann müsst ihr beachten, dass ihr folgende Redirect regeln dafür verwenden müsst:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP:X-Forwarded-Proto} !=https
RewriteRule (.*) https://%{SERVER_NAME}$1 [R=permanent,L]
Wichtig hier ist der zusätzliche X-Forwarded-Proto Eintrag, weil unter Umständen HTTPS nicht zwingend off ist.
Versionsgeschichte
Suche
---
title: "Ordnerstruktur"
date: 2019-05-08T20:55:56+02:00
weight: 20
---
# Ordner Struktur
Im Webhosting stehen euch folgende Ordner zur Verfügung:
/logs - Sämtliche Logfiles des Webservers.
/private - Dieser Ordner kann zu Ablage von Dateien verwendet werden, welche nicht per Web einsehbar sein sollen. Der Webserver hat keine Leserechte in diesem Ordner.
/www - Hier kommt eure Webseite hin. Dies ist auch das Documentroot des Apaches und somit der Ort, wo ihr meistens eure Webfiles ablegt.
/data - Dieses Verzeichnis kann durch den Webserver gelesen werden und ist z.B. auch Teil der Pfade in php's openbasedir. Dies bedeutet, dass ihr hier Dateien ablegen könnt, welche z.B. durch die PHP Skripte gelesen oder geschrieben werden sollen, aber nicht direkt durch den Webserver erreichbar sein sollen.
## Schreibrechte
Was es zu beachten gilt ist, dass der Webserver per Default keine Schreibrechte auf Dateien hat. Dies könnt ihr jedoch selber ändern indem ihr per SFTP die Dateien oder Ordner wo der Webserver schreiben soll zusätzlich mit Gruppenschreibrechten versorgt. D.h. anstatt chmod 0640 braucht es 0660 oder halt 0770. Es ist nicht nötig chmod 0777 zu machen!
Wir empfehlen euch jedoch Schreibrechte nur dort zu vergeben, wo es auch wirklich notwendig ist und alle Konfigurationsdateien z.B. nur temporär schreibbar machen.
Kurz:
Der Webserver kann nur Dateien oder Ordner Beschreiben, welche Gruppen Lese-/Schreibrechte haben (chmod 0640/0750 and 0660/0770)
Es gibt keinen Grund für chmod 0777
Es gibt auch noch verschiedene Skripte, welche euch das Handling mit den Schreibrechten erleichtert.
## Anpassung Ownership
Wir überwachen die www/ Ordner der Webhostings. Wird eine Datei erstellt, überprüfen wir ob der Owner des Ordners/der Datei eurem SFTP User entspricht. Ist dies nicht der Fall, machen wir die Datei Gruppenschreibberechtigt und setzen den Owner dabei auf den SFTP User.
Dies sollte sicherstellen, dass alle Dateien dem SFTP User gehören, auch jene die durch den Webserver erstellt werden, diese aber weiterhin durch den Webserver schreibbar sind.
---
title: "sftp / ftp"
date: 2019-05-08T20:55:56+02:00
weight: 20
---
# Sftp
Damit du deine Daten von deinem PC auf den Server transferieren kannst, musst du dich per sftp auf unseren Server verbinden. Wir akzeptieren keine unverschlüsselte ftp verbindung mehr.
## Clients
### Filezilla (Linux/Mac/Windows)
[Filezilla](https://filezilla-project.org/) ist ein Programm, mit dem du einfach Daten auf den Serverhochladen kannst. Wenn du zum Beispiel ein Bild hochladen möchtest, verbindest du dich per filezilla auf den Server
### Cyberduck (Mac)
[Cyberduck](https://cyberduck.io) ist ein Programm für Mac, mit dem du dich auf den Server verbinden kannst.
### CLI (Linux)
```bash
sftp ftp.DEINEDOMAIN.org
```
## SFTP bequemer nutzen
Oftmals erscheint die Nutzung von SFTP mühsam, gerade weil jeweils ein spezieller Client dafür verwendet wird. Dabei möchte man ja nur kurz eine Datei editieren oder lieber gleich ein ganzes Verzeichnis mit einem lokalen Verzeichnis synchronisieren.
Dies ist alles ohne Probleme möglich: Moderne Betriebssysteme (Linux, OS X, Windows) ermöglichen es das Webhostingverzeichnis wie eine lokale Festplatte einzubinden.
### Linux
Unter im Dateimanager von Gnome (was z.B. bei Ubuntu der Standard ist) findet man den Menupunkt "Mit Server verbinden" (oder so ähnlich). Dort kann man sich auch auf ein SSH-Server verbinden. Du musst nur deine Zugangsdaten fürs Webhosting eingeben und schon wird das Webhostingverzeichnis wie als externe Festplatte eingebunden.
Mehr dazu findest du unter [Sysop:SSHFS](https://wiki.immerda.ch/index.php/Sysop:SSHFS#Packages).
Es gibt auch Clients, wie lftp, welche das Verschieben von Verzeichnissen ermöglichen.
lftp ermöglicht auch das spiegeln von Verzeichnissen- damit werden nur die Änderungen übertragen (inkrementell) und nicht das ganze Verzeichnis. Dies kann auch bequem in Skripten verwendet werden:
```bash
lftp -e "mirror -eRv source www; quit;" -u username sftp://ftp.foo.immer-da.ch
```
### Windows
tbd
### Mac
tbd
\ No newline at end of file
---
title: "Ordnerstruktur"
date: 2019-05-08T20:55:56+02:00
weight: 20
---
# User Scripts
Der Zugriff auf Webhostings ist bei Immerda nur per SFTP möglich. Wir können dadurch die Datei Zugriffsrechte strikter absichern, jedoch kann dies euch z.T. die Administration erschweren.
Aus diesem Grund bieten wir Skripts an, welche die Rechteverwaltung vereinfachen. Zur Zeit sind dies:
## Update Mode
Update Mode um das Hosting temporär in einen "Update Modus" zu versetzen. Dadurch kann der Webserver auf alle Verzeichnisse schreiben. So können Updates von CMS einfach und bequem durchgeführt werden. Dazu musst du die Datei /scripts/update_mode.run erstellen.
```bash
/scripts/update_mode.run
```
## Update Wordpress
Update Wordpress um Wordpress Installationen in deinem Webhosting ganz einfach zu updaten. Dadurch wird ein Backup deines Wordpress erstellt und anschliessend alle Plugins/Themes und Wordpress selber aktualisiert. dies kann auch automatisiert jeden Tag durchgeführt werden. Dazu einfach die Datei /scripts/update_wordpress/update_wordpress.run erstellen.
```bash
sftp /scripts/update_wordpress/update_wordpress.run
```
## Adjust Permissions um Zugriffsrechte im Detail zu konfigurieren.
SSH Authorized Keys um SSH Keys für die SFTP Authentifizierung zu hinterlegen.
Die Skripte folgen einer einfachen Logik:
Sie befinden sich in eurem SFTP Konto unter scripts/script_name
Das Skript wird durch ein Anlegen der Datei scripts/script_name/script_name.run gestartet. Am einfachsten indem ihr eine entsprechende leere Datei via SFTP hoch lädt.
Ihr könnt sie mit Hilfe einer entsprechenden Datei konfigurieren. Siehe dazu die Infos des jeweiligen Scripts.
Die Ausgabe der Skripts wird in scripts/script_name/script_name.log Protokolliert.
Solltest du weitere Skripte benötigen, so setze dich mit uns in Verbindung, damit wir eine mögliche Lösung erarbeiten können.
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment