Benutzer-Werkzeuge

Webseiten-Werkzeuge


webseiten

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
webseiten [2020/04/25 15:40]
julian Bisschen Text vereinfacht.
webseiten [2020/04/26 10:07]
julian Wording. Alles neu. Und nicht-shared-webhost-fähige Anwendungen und Wordpress hinzugefügt.
Zeile 6: Zeile 6:
  * einen Pre-Proxy  * einen Pre-Proxy
  * verschiedene Webserver, je nach PHP-Version (momentan 5.2, 5.3, 5.4, 5.6, 7.0, 7.2, 7.4).  * verschiedene Webserver, je nach PHP-Version (momentan 5.2, 5.3, 5.4, 5.6, 7.0, 7.2, 7.4).
 +
  
 ## Webseiten erstellen ## Webseiten erstellen
  
-Hat man keine weitere Domain, so kann man Webseiten in seinem Home unter `websites/public_html/anlegen. +Wenn man keine weitere Domain hatdann ist im Home unter `websites/public_html/die Standarddomain `http://sitename.in-berlin.de/` erreichbar. 
-Alles in diesem Ordner ist unter `http://sitename.in-berlin.de/` erreichbar. +Wie unterschiedliche Sitenamen oder Domains funktionieren, ist unter [[DomainSitename|Domains und Sitenamen]] beschrieben.
-Wie genau es mit unterschiedlichen Sitenamen oder Domains läuft, ist unter [[DomainSitename|Domains und Sitenamen]] beschrieben.+
  
-Hat man weitere Domainsliegen diese in der Regel unter `websites/domain.tld`.+Zusätzliche Domains liegen in der Regel unter `websites/domain.tld`.
 Subdomains lassen sich auch separat behandeln und in beliebige Verzeichnisse als Documentroot zeigen. 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 an den [[kontakt|Support]] wenden.
 +
  
 ## Weiterleitungen ## Weiterleitungen
  
-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.+Weiterleitungen von Domains auf andere kann man über .htaccess-Dateien oder über Symlinks einrichten.
  
 ### .htaccess ### .htaccess
  
-Eine automatische Umleitung von http auf https bei Aufruf einer Domain kann man erreichen, indem man eine [[wd>htaccess|.htaccess-Datei]] (wie auch bei SSL beschrieben) unter websites/public_html/.htaccess mit folgendem Inhalt anlegt:+Eine automatische Umleitung von einer Webseite auf die Domain example.org würde man mit folgender Datei unter `websites/public_html/.htaccess` erreichen:
  
     RewriteEngine On     RewriteEngine On
-    RewriteCond %{HTTPS} !=on +    RewriteRule ^/?(.*) https://example.org/$1 [R,L]
-    RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]+
  
-Dann wird man beim Aufruf der Domain direkt auf den https-Teil der Domain weitergeleitet. 
  
 ### Symlinks ### Symlinks
  
-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. +Eine Möglichkeit von Weiterleitungen von Domains beim IN-Berlin ist mittels eines [[wd>https://de.wikipedia.org/wiki/Symbolische_Verknüpfung|Symlink]]. 
-Wenn man also von example.in-berlin.de (unter public_html/) auf example.org verlinken will, sähe das so aus:+Ein Symlink ist eine 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:
  
     cd ~/websites/     cd ~/websites/
Zeile 41: Zeile 42:
  
  
-## CGIs+## Anwendungen / CGIs
  
-Auf dem Webserver laufen alle üblichen CGIs (Perl, Python, SSI, PHP5, usw.). Falls einem ein bestimmtes Modul oder ein CGI fehltsollte man entweder darüber nachdenkenden [[#Spezielle_Anwendungen_Applikationsserver|Applikationsserver]] zu benutzen, oder beim [[kontakt|Support]] nachzufragen, ob dieses Paket nachinstalliert werden kann.+Auf dem Webserver laufen alle üblichen CGI-Plattformen (Perl, Ruby, Python, SSI, PHP). 
 +Falsl bestimmte Module oder CGIs fehlenbitte an den [[kontakt|Support]] wenden. 
 +Eine genaue Beschreibung des Moduls hilft uns, das schnell umzusetzen, am besten schon mit Debian-Paketnamen. 
 + 
 +Auf dem Shellserver, auf dem man die Daten bearbeitet und hochläd, kann man dort auch schon Dinge teste (PHP, Perl usw. sind installiert). 
 +Allerdings sind manchmal bestimmte Module nicht installiert oder andersherum, auf dem Shellserver, nicht aber auf dem Webserver installiert, oder sie liegen in unterschiedlichen Versionen vor. 
 + 
 +### Nicht-shared-webhost-fähige Anwendungen 
 + 
 +Es gibt leider immer mehr Anwendungen, die nicht als CGI auf einem Shared Webhost funktionieren. Es lassen sich ein paar Grundregeln sagen: 
 + 
 + * Alleswas als Docker-Container installiert wirdfunktioniert nicht. 
 + * Die meiste Software, die exzessiv auf der Shell mit vielen Kommandos installiert werden muss, funktioniert nicht. 
 + * Software, die bei der Installation root sein muss, funktioniert nicht. 
 + 
 +Als einzige Alternative bietet sich hier ein [VServer](https://www.in-berlin.de/provider/vserver.html) an. 
 +Auf diesem muss man sich aber selber um die Wartung und sämtliches Setup kümmern, was Fachwissen und kontinulierlicher Zeit voraussetzt. 
 + 
 +### Wordpress 
 + 
 +Wer als Teilnehmer einen Blog laufen lassen will, kann dafür die zentrale Wordpress-Instanz des IN-Berlin benutzen. Auch eigene Domains sind hier möglich. 
 +Gegenüber einer eigenen Installation hat das den Vorteildass man sich nicht um Installation und Wartung kümmern muss (auch wenn dies bei Wordpress sehr einfach ist). Allerdings hat es auch den Nachteil, dass man selber keine Nutzer und Plugins anlegen kann, sondern nachfragen muss. 
 + 
 +Ein Wordpress-Blog bekommt man, indem man sich beim [[kontakt|Support]] meldet.
  
-Da die Daten des Webservers auch auf dem Shellserver verfügbar sind, kann man dort schon Dinge testen (PHP, Perl usw. sind 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. 
  
 ## TLS/SSL/https ## TLS/SSL/https
Zeile 54: Zeile 77:
 ### https-only ### https-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 [[wd>htaccess|.htaccess-Datei]] kann man nur https erlauben und unverschlüsselte Verbindungen automatisch umleiten
-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.+Eine Internetsuche zeigt 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.
  
 Folgende .htaccess-Datei im Rootverzeichnis einer Webseite (`websites/public_html/.htaccess`) würde alle Verbindungen auf https umleiten: Folgende .htaccess-Datei im Rootverzeichnis einer Webseite (`websites/public_html/.htaccess`) würde alle Verbindungen auf https umleiten:
Zeile 64: Zeile 88:
  
 Diese Regel würde alle Anfragen von `http://www.example.org/irgendwas` auf `https://www.example.org/irgendwas` weiterleiten. Diese Regel würde alle Anfragen von `http://www.example.org/irgendwas` auf `https://www.example.org/irgendwas` weiterleiten.
 +
  
 ## 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, ändern oder löschen möchte, kann das im [[https://service.in-berlin.de/|Service-Interface]] erledigen. Die Zugangsdaten werden dort angezeigt, das Passwort kommt per extra Mail. Die Datenbankserver sind, je nach verwendeter Datenbank:+Datenbanken anlegen ändern oder löschen geht im [[https://service.in-berlin.de/|Service-Interface]]. Die Zugangsdaten werden dort angezeigt, das Passwort kommt per extra Mail. Die Datenbankserver sind, je nach verwendeter Datenbank:
  
  * mysql.in-berlin.de  * mysql.in-berlin.de
  * postgresql.in-berlin.de  * postgresql.in-berlin.de
  
-Die Datenbankserver sind von allen IN-Berlin-Servern erreichbar. Wenn man seine Datenbank z.B. von seinem eigenen Rechner aus erreichen will, kann man das mit einem SSH-Tunnel über unseren [[shell|Shellserver]] oder mit einem VPN tun. Ansonsten kann man auch vom Shellserver aus auf den Datenbankserver zugreifen, dort sind die üblichen Tools `mysql` und `mysqldump` bzw. `psql` und `pg_restore` und `pg_dump` installiert.+Die Datenbankserver sind nur aus dem IN-Berlin-Netz erreichbar. 
 +Um eine Datenbank von seinem eigenen Rechner aus zu erreichen, kann man das mit einem VPN oder einem SSH-Tunnel über unseren [[shell|Shellserver]] tun. 
 +Alternativ kann man auch vom Shellserver auf den Datenbankserver zugreifen
 +Dort sind die üblichen Tools `mysql` und `mysqldump` bzw. `psql` und `pg_restore` und `pg_dump` installiert.
  
-Alternativ kann man auch die bekannten Webinterfaces phpmyadmin bzw. phppgadmin benutzen unter:+Als dritte Alternative bieten sich die Webinterface phpmyadmin bzw. phppgadmin an:
  
  * https://user.in-berlin.de/phpmyadmin  * https://user.in-berlin.de/phpmyadmin
  * https://user.in-berlin.de/phppgadmin  * https://user.in-berlin.de/phppgadmin
  
-## Spezielle Anwendungen/Applikationsserver 
  
-Für spezielle Anwendungen, die einen eigenen Webserver mitbringen, haben wir einen Applikationsserver. Auf diesem Applikationsserver kriegt man auf Anfrage beim [[kontakt|Support]] einen Account und einen Port(-range) zugewiesen. Danach kann man sich dort einloggen und seine eigene Software installieren (als User), und muss sie nur dazu bringen, auf diesem Port zu lauschen.+## Besonderheiten des Setups
  
-Erreichbar ist die Anwendung dann unter einer beliebigen Adresse. Da auch dieser Server hinter dem Pre-Proxy hängt, kann man hier eine beliebige Domain nehmen und muss dafür nicht extra den speziellen Port angebenein Webseitenbesucher sieht hiervon nichts. +Das Setup der Webserver des IN-Berlin nennt sich *Pre-Proxy*: Ein Proxy nimmt zuerst sämtliche http-Anfragen f+r eine Webseite an und leitet sie transparent im Hintergrund an den Webserver weiterder die Anfragen verarbeitet.
- +
-## Besonderheiten des Setups+
  
-Das Setup vom IN-Berlin ist nicht unüblich, aber doch für viele unerwartet: Es gibt einen Proxy, der zuerst sämtliche http-Anfragen für eine Webseite annimmt, und diese dann erst an den eigentlichen Webserver weiterleitet, der die Anfragen bearbeitet.+Damit kann Last besser verteilt werden (z.B. können statische Webseiten gecached werden) und für Wartungen oder Spezialsetups können Webseiten leichter verschoben werden.
  
-Dies hat den Hintergrund, dass damit deutlich besser Last abgefangen werden kann (sich nicht ändernde Seiten müssen nicht jedes mal neu erstellt werden, sondern können im Proxy im Cache gehalten werden), und für Wartungen oder Spezialsetups kann man Webseiten leichter auf anderen Servern ablegen, ohne, dass sich die IP ändert.+Einige Setups werden damit aber auch kompliziert. Bspw. Client-Zertifikate zur Authentifizierung sind z.B. nicht ohne weiteres möglich. 
 +Wer so ein Spezialsetup haben willschreibt am besten den [[kontakt|Support]] an.
  
-Manchmal verhindert es aber auch, dass man bestimmte Dinge tut -- Client-Zertifikate zur Authentifizierung sind z.B. nicht ohne weiteres möglich, wenn man sowas will, muss man den [[kontakt|Support]] anschreiben. 
webseiten.txt · Zuletzt geändert: 2020/04/26 10:07 von julian