Benutzer-Werkzeuge

Webseiten-Werkzeuge


webseiten

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
Nächste ÜberarbeitungBeide Seiten, nächste Überarbeitung
webseiten [2016/02/20 12:53] – letsencrypt hinzugefügt julianwebseiten [2020/04/25 15:40] – Bisschen Text vereinfacht. julian
Zeile 5: Zeile 5:
  * den Shellserver zum Testen und Hochladen, siehe auch [[shell|Shell]].  * den Shellserver zum Testen und Hochladen, siehe auch [[shell|Shell]].
  * einen Pre-Proxy  * einen Pre-Proxy
- * verschiedene Webserver, je nach PHP-Version (momentan 5.2 und 5.3).+ * verschiedene Webserver, je nach PHP-Version (momentan 5.25.3, 5.4, 5.6, 7.0, 7.2, 7.4).
  
 ## Webseiten erstellen ## Webseiten erstellen
  
-Hat man keine weitere Domain, so kann man Webseiten einfach in seinem Home unter `websites/public_html/` anlegen. Alles in diesem Ordner ist dann unter `http://sitename.in-berlin.de` erreichbar. Wie genau es mit unterschiedlichen Sitenamen oder Domains läuft, ist unter [[DomainSitename|Domains und Sitenamen]] beschrieben.+Hat man keine weitere Domain, so kann man Webseiten in seinem Home unter `websites/public_html/` anlegen. 
 +Alles in diesem Ordner ist unter `http://sitename.in-berlin.de/` erreichbar. 
 +Wie genau es mit unterschiedlichen Sitenamen oder Domains läuft, ist unter [[DomainSitename|Domains und Sitenamen]] beschrieben.
  
-Hat man weitere Domains, so sind diese in der Regel verfügbar unter `websites/domain.tld`. Subdomains lassen sich natürlich auch separat behandeln und in beliebige Verzeichnisse als Documentroot zeigen.+Hat man weitere Domains, liegen diese in der Regel unter `websites/domain.tld`. 
 +Subdomains lassen sich auch separat behandeln und in beliebige Verzeichnisse als Documentroot zeigen
 +Für solche oder ähnliche Sonderwünsche bitte an den [[kontakt|Support]] wenden.
  
-Für solche oder ähnliche Sonderwünsche bitte einfach den [[kontakt|Support]] kontaktieren.+## Weiterleitungen
  
-## CGIs+Hat man eigene Domains, dann will man evtl. unter allen die gleiche Webseite erreichbar haben, z.B. soll example.in-berlin.de auf example.org weiterleiten. Dafür gibt es prinzipiell zwei Möglichkeiten: Einmal .htaccess-Dateien, die flexibler sind, und Symlinks, die einfacher sind.
  
-Auf dem Webserver laufen alle üblichen CGIs (Perl, Python, SSI, PHP5, usw.). Falls einem ein bestimmtes Modul oder ein CGI fehlt, sollte man entweder darüber nachdenken, den [[#Spezielle_Anwendungen_Applikationsserver|Applikationsserver]] zu benutzen, oder beim [[kontakt|Support]] nachzufragen, ob dieses Paket nachinstalliert werden kann.+### .htaccess
  
-Da die Daten des Webservers auch auf dem Shellserver verfügbar sind, kann man dort schon Dinge testen (PHPPerl uswsind installiert). Allerdings kann es je nach Migrationsstand auch dazu kommen, dass bestimmte Programme auf dem Shellserver nicht installiert sind (oder andersrum, installiert, aber nicht auf dem Webserver), oder in einer anderen Version als auf dem Webserver vorliegen.+Eine automatische Umleitung von http auf https bei Aufruf einer Domain kann man erreichenindem man eine [[wd>htaccess|.htaccess-Datei]] (wie auch bei SSL beschriebenunter websites/public_html/.htaccess mit folgendem Inhalt anlegt:
  
-## SSL/https+    RewriteEngine On 
 +    RewriteCond %{HTTPS} !=on 
 +    RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
  
-Wer seine Webseite mit SSL bzw. mit https absichern will, braucht als erstes ein [[wd>x509|x509-Zertifikat]] und dazu einen Schlüssel (dieser muss uns ohne Passwort gegeben werden). In einem Zertifikat stehen explizit die Domains drin, die erlaubt sind, d.h. man braucht für jede Domain, die man hat, ein eigenes Zertifikat, oder muss ein Zertifikat für alle erstellen. Als Schlüssellänge nehmen wir mindestens 2048 Bit.+Dann wird man beim Aufruf der Domain direkt auf den https-Teil der Domain weitergeleitet.
  
-Hat man das Zertifikat, dann legt man die am besten auf dem Shellserver ab und sagt dem [[kontakt|Support]], wo sich das Zertifikat und der Schlüssel befinden, und dann wird es einem eingerichtet (hier nicht erwarten, dass es allzu schnell geht - die Einrichtung in unserem Setup ist relativ kompliziert und braucht eine Weile).+### Symlinks
  
-Will man nur seine Site `sitename.in-berlin.de` verschlüsselnund keine eigene Domain, dann reicht eine Anfrage beim [[kontakt|Support]]. Wir sind schon bei StartSSL und CACert angemeldet und auch nur wir können für Subdomains von in-berlin.de Zertifikate erstellen.+Die zweite Möglichkeit, eine Weiterleitung einzurichten, ist es, einen [[wd>https://de.wikipedia.org/wiki/Symbolische_Verknüpfung|Symlink]] anzulegenDies ist eine einfache Verknüpfung im Dateisystem. Hierfür würde man in seinen websites/-Ordner gehen, dort das Verzeichnis der alten Webseite löschen und stattdessen einen Symlink auf die neue Webseite anlegen. 
 +Wenn man also von example.in-berlin.de (unter public_html/) auf example.org verlinken will, sähe das so aus:
  
-Für eigene Domains empfehlen wir drei Möglichkeiten, sich ein Zertifikat zu holen:+    cd ~/websites/ 
 +    rmdir public_html 
 +    ln -s example.org public_html
  
-### letsencrypt 
  
-Viele haben schon von [letsencrypt](https://letsencrypt.org) gehört und wollen ihre Webseiten damit benutzen. Der IN-Berlin würde das auch gerne tun, allerdings ist letsencrypt noch im Beta-Stadium, d.h. vorerst werden wir es nicht benutzen können. Wenn es online ist, werden wir uns um eine Umsetzung kümmern, erste Versuche haben wir bereits gemacht.+## CGIs
  
-### StartSSL+Auf dem Webserver laufen alle üblichen CGIs (Perl, Python, SSI, PHP5, usw.). Falls einem ein bestimmtes Modul oder ein CGI fehlt, sollte man entweder darüber nachdenken, den [[#Spezielle_Anwendungen_Applikationsserver|Applikationsserver]] zu benutzen, oder beim [[kontakt|Support]] nachzufragen, ob dieses Paket nachinstalliert werden kann.
  
-[StartSSL](http://startssl.com) ist eine CA, die Privatpersonen kostenlose Zertifikate ausstellt. StartSSL ist in allen gängigen Browsern enthaltend.h. man erhält keine Warnungensondern direkt eine sichere Verbindung, wenn man auf die entsprechende Webseite gehtWir können bei der Erzeugung eines StartSSL-Zertifikates leider nicht helfen, aber es gibt eine Anleitung auf der Webseite, wie das gehtHier braucht man nur Kontrolle über die Domain und kann sich dann online verifizieren.  +Da die Daten des Webservers auch auf dem Shellserver verfügbar sindkann man dort schon Dinge testen (PHPPerl uswsind installiert)Allerdings kann es je nach Migrationsstand auch dazu kommen, dass bestimmte Programme auf dem Shellserver nicht installiert sind (oder andersruminstalliertaber nicht auf dem Webserver), oder in einer anderen Version als auf dem Webserver vorliegen.
- +
-StartSSL verwenden wir auch für unsere sichtbaren verschlüsselten Dienste wie z.B. das Service-Interface oder den Mailserver.  +
- +
-Nachteil an StartSSL ist, dass es eine israelische CA ist, und damit auch israelischen Datenschutzbestimmungen und Gesetzen unterliegt. +
- +
-### CACert +
- +
-[CACert](http://cacert.org) ist ein Projekt, das Vertrauen dadurch aufbaut, dass alle Teilnehmer des Projekts mal ein Dokument zur Verifikation der Persönlichkeit (Vereinsregisterauszug, Personalausweis, Reisepass) vorgelegt haben. In der Wikipedia findet sich eine genauere Beschreibung, wie die Verifikation abläuft.  +
- +
-Die einfachste Version ist es, zu einer Veranstaltung oder einem Ort zu gehenwo CACert-Assurer sind. Man kann auch auf der Webseite nachsehenob man welche in der Gegend hat, mit denen man sich mal treffen kann.  +
- +
-Nachteil an CACert ist, dass es in gängigen Browsern nicht enthalten ist. Das heißt, man muss entweder das Root-Zertifikat von der CACert-Webseite einspielen (wie man das überprüft, steht auf den Teilnahmeformularen von CACert), oder aber immer die Warnungen ignorieren, und dann könnte man sich Zertifikate auch gleich sparen. +
- +
-### Selbstsigniert +
- +
-Will man die verschlüsselte Webseite nur für sich selber benutzen, dann kann auch ein selbstsigniertes Zertifikat reichen. Dann braucht man dieses Zertifikat nur einmal zu akzeptieren bzw. nur einmal den Fingerprint zu checken, und kann danach immer auf diese Webseite zugreifen. +
-Besucher müssen natürlich bei jedem Besuch immer wieder eine Warnung wegklicken, um diese Webseite zu sehen. +
- +
-Wie man ein Zertifikat selber erstellt, findet man im Internet zahlreiche Anleitungen. Am einfachsten ist es wohl, auf unserem Shellserver die Befehle von `openssl` zu benutzen (konkret: `genrsa(1)`, `req(1)`).+
  
-**Beispiel** (auf dem Shellserver einloggen, dann das hier tun):+## TLS/SSL/https
  
-    gnrp@Endurance:~$ openssl genrsa -out domain.tld.key 4096 +IN-Berlin unterstützt [Let's Encrypt](https://letsencrypt.org/). Wir erstellen standardmäßig für sämtliche Domains auf unseren Servern SSL-Zertifikate von letsencrypt. 
-    Generating RSA private key, 4096 bit long modulus +Zum Ausprobieren: Die eigene Webseite mit `https://` statt `http://` am Anfang aufrufen.
-    ...........................................................................................................................................++ +
-    ......................................................................................................................................................................................................................................................................++ +
-    e is 65537 (0x10001) +
-     +
-    gnrp@Endurance:~$ openssl req -new -key domain.tld.key -x509 -days 730 -subj "/C=DE/CN=www.example.org/-out domain.tld.crt+
  
-Als erstes erstellt man sich einen Schlüssel mit 4096 Bit, der in der Datei `domain.tld.key` abgespeichert wird. Danach erstellt man sich ein selbstsigniertes Zertifikat, das zwei Jahre (730 Tage) gültig ist, ausgestellt für die Domain `www.example.org`.+### https-only
  
-### SSL-only+Wenn man nur https erlauben und keine unverschlüsselten Verbindungen mehr zulassen möchte, get das mit einer [[wd>htaccess|.htaccess-Datei]]. 
 +Mit einer Internetsuche findet man zahlreiche Beispiele, was man damit konfigurieren kann (z.B. auch Passwortschutz für Verzeichnisse). In der offiziellen Dokumentation für [mod_rewrite](https://httpd.apache.org/docs/current/mod/mod_rewrite.html) findet man alle Möglichkeiten.
  
-Wir richten standardmäßig eine Webseite mit https und mit normalem http ein. Will man nur https erlauben und keine verschlüsselten Verbindungen mehr, so kann man das mit einer [[wd>htaccess|.htaccess-Datei]] machen. +Folgende .htaccess-Datei im Rootverzeichnis einer Webseite (`websites/public_html/.htaccess`) würde alle Verbindungen auf https umleiten:
-Ein Beispiel, wie eine .htaccess-Datei aussieht, die im Root einer Webseite liegt (also z.B. unter `websites/public_html/.htaccess`):+
  
     RewriteEngine On     RewriteEngine On
-    RewriteRule ^https://www.example.org/$1 [R]+    RewriteCond %{HTTPS} !=on 
 +    RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
  
-Diese Regel würde alle Anfragen von http://www.example.org/irgendwas auf https://www.example.org/irgendwas weiterleiten, also genau der gleiche Pfad, nur verschlüsselt.+Diese Regel würde alle Anfragen von `http://www.example.org/irgendwasauf `https://www.example.org/irgendwasweiterleiten.
  
 ## Datenbanken (MySQL, PostgreSQL) ## Datenbanken (MySQL, PostgreSQL)
  
 Wir haben einen PostgreSQL- und einen MySQL-Server, auf denen jeder User beliebig viele Datenbanken haben kann. Wir haben einen PostgreSQL- und einen MySQL-Server, auf denen jeder User beliebig viele Datenbanken haben kann.
-Wer eine Datenbank braucht, schreibt dafür einfach eine Anfrage an den [[kontakt|Support]], welchen Datenbanktyp (MySQL oder PostgreSQL) er haben will und welchen Namen die Datenbank haben sollDann legen wir die an und legen euch i.d.R. in euer Homeverzeichnis eine nur für euch lesbare Datei mit dem Usernamendem Datenbanknamen und dem Passwort. Die Datenbankserver sind, je nach verwendeter Datenbank:+Wer eine Datenbank braucht, ändern oder löschen möchte, kann das im [[https://service.in-berlin.de/|Service-Interface]] erledigenDie Zugangsdaten werden dort angezeigtdas Passwort kommt per extra Mail. Die Datenbankserver sind, je nach verwendeter Datenbank:
  
  * mysql.in-berlin.de  * mysql.in-berlin.de
webseiten.txt · Zuletzt geändert: 2021/08/24 19:45 von julian