kind: reference search: Subdomain, Webspace, veröffentlichen, rsync, hochladen, hackschule.de

Eigener Webspace

Eine eigene Hackschule-Subdomain ist öffentlicher Webspace für deine fertige, statische Website: HTML, CSS, Bilder und JavaScript, das im Browser läuft. Im Gegensatz zu den Shared Live Apps ist sie auch ohne Anmeldung im Workspace erreichbar und bleibt online, wenn dein Workspace nicht läuft. Das Angebot ist kostenlos; du bekommst eine Subdomain von hackschule.de, keine selbst registrierte Domain.

1. Einverständniserklärung

Für die Subdomain unterschreibst du eine Nutzungsvereinbarung; wenn du noch minderjährig bist, unterschreibt auch eine erziehungsberechtigte Person. Druck sie aus, lass sie unterschreiben und gib sie bei deiner Lehrkraft ab. Sie erklärt auch, dass deine Website öffentlich und nicht nur innerhalb des Workspace sichtbar ist und was gespeichert wird.

2. Schlüsselpaar erstellen

Im Workspace ist ~ dein Ordner /workspace, ~/.ssh also /workspace/.ssh. Hast du schon einen Schlüssel für Git eingerichtet (Handbuch: Git-Server), nimmst du denselben. Überprüfe, ob du bereits ein Schlüsselpaar hast:

ls ~/.ssh/*.pub

Falls nicht, erstelle ein neues Schlüsselpaar:

ssh-keygen

Bestätige den Speicherort, eine Passphrase ist nicht nötig (du kannst aber eine setzen, wenn du möchtest). Das Schlüsselpaar wird in ~/.ssh/id_ed25519 und ~/.ssh/id_ed25519.pub gespeichert.

Achtung: Dein Schlüsselpaar besteht aus zwei Dateien: id_ed25519 (privat) und id_ed25519.pub (öffentlich). Teile niemals deinen privaten Schlüssel! Den öffentlichen Schlüssel kannst du jedoch mit anderen teilen, um ihnen Zugriff auf deine Ressourcen zu gewähren.

Lass dir den öffentlichen Schlüssel anzeigen:

cat ~/.ssh/id_ed25519.pub

Das sollte z. B. so aussehen:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHx1j3zKyFZybh2BRyiaiGj7KceAPyzHGy6gM0gHp43j abc@757c63b27d58

Wenn die Einverständniserklärung (sofern erforderlich) abgegeben ist, schicke den kompletten öffentlichen Schlüssel an specht@gymnasiumsteglitz.de und gib an, welche Subdomain du haben möchtest. Du bekommst als Antwort eine E-Mail, in der Folgendes steht:

  • die Subdomain, die du bekommen hast (z. B. cobolultras.hackschule.de)
  • dein Nutzername für die Subdomain (z. B. max)

3. Subdomain einrichten

Wenn deine Subdomain eingerichtet ist, kannst du sie in deinem Browser aufrufen. Du wirst aber noch nichts sehen, da du noch keine Dateien hochgeladen hast.

Bevor du Dateien hochladen kannst, musst du deine SSH-Konfiguration anpassen. Erstelle die Datei ~/.ssh/config:

touch ~/.ssh/config

Öffne sie im Editor und füge Folgendes hinzu:

Host cobolultras.hackschule.de
  User max
  IdentityFile ~/.ssh/id_ed25519
  Port 2222
Achte darauf, dass du den Hostnamen und den Benutzernamen durch die Werte ersetzt, die du in der E-Mail erhalten hast. Wenn du mehrere Subdomains hast, kannst du für jede Subdomain einen eigenen Block hinzufügen. Achte darauf, dass der Hostname und der Benutzername jeweils korrekt sind.

Versuche nun, dich mit dem Server zu verbinden:

ssh cobolultras.hackschule.de

Wenn du dich zum ersten Mal mit dem Server verbindest, wirst du gefragt, ob du dem Host vertraust. Gib yes ein und drücke Enter.

abc@0ea48f711732:~/website-test$ ssh cobolultras.hackschule.de
The authenticity of host '[cobolultras.hackschule.de]:2222 ([138.199.166.247]:2222)' cannot be established.
ED25519 key fingerprint is SHA256:G71MgKyMMzC8lD3LwVsct3eXTJEDzjj4MetU43NcfQs.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])?

Du befindest dich jetzt auf einem anderen Server, aber auch hier kannst du ganz normal mit ls und cd arbeiten. Du findest ein Verzeichnis, das so heißt wie deine Subdomain (z. B. cobolultras). Das ist der Ort, an dem du deine Dateien ablegen kannst. Du kannst in dieses Verzeichnis wechseln:

cd cobolultras

Du kannst auch Dateien erstellen, z. B. eine index.html:

echo "<h1>Hallo Welt</h1>" > index.html

Diese Datei kannst du jetzt in deinem Browser aufrufen, indem du die URL http://cobolultras.hackschule.de eingibst. Du solltest den Text »Hallo Welt« sehen.

4. Dateien mit rsync hochladen

Um Dateien auf deinen Server hochzuladen, kannst du rsync verwenden. Das ist ein Programm, das Dateien zwischen zwei Computern synchronisiert. Du kannst es verwenden, um Dateien von deinem lokalen Computer auf den Server zu kopieren. Gehe dazu in das Verzeichnis, das du hochladen möchtest. Wenn du z. B. die Dateien in /workspace/website-test hast, gehe in dieses Verzeichnis:

cd /workspace/website-test

Anschließend kannst du rsync verwenden, um die Dateien auf den Server zu kopieren. Ersetze max und cobolultras durch deinen Benutzernamen und deine Subdomain:

rsync -avz . max@cobolultras.hackschule.de:cobolultras

Das -a steht für »archive« und sorgt dafür, dass die Dateien rekursiv (also mit allen Unterverzeichnissen) kopiert werden und die Dateiberechtigungen beibehalten werden. Das -v steht für »verbose« und zeigt dir an, welche Dateien kopiert werden. Das -z steht für »compress« und sorgt dafür, dass die Daten komprimiert übertragen werden, was die Übertragungsgeschwindigkeit erhöht.

Wenn du rsync mehrfach ausführst, werden nur die Dateien übertragen, die sich geändert haben. Das ist besonders nützlich, wenn du an deiner Website arbeitest und immer wieder neue Dateien hochladen möchtest.

Viel Spaß beim Programmieren!