Adm:Einrichtung Wikis MW1.35

Aus Salzwiki
Zur Navigation springen Zur Suche springen

Dokumentation zur Bereitstellung von "SalzWiki", "SaltWiki" und "Repository"

Allgemeines[Bearbeiten]

In dieser Dokumentation werden die Installation und Konfiguration der Salzwikis (3 Wikisysteme) und der Erweiterungen (Extensions) beschrieben. Die Angaben beziehen sich auf Mediawiki (MW) Version 1.35.8 LTS.

Ein Update kann durch Installation über die bestehende Version erfolgen oder durch Neuinstallation und Transfer von Konfigurationen und Daten. Um Altlasten in der neueren Version zu vermeiden empfiehlt sich Letzteres.

Das Repositorium-Wiki (englisch) ist zusammen mit dem allgemeinen Salzwiki (deutsch) zu installieren, bevor die Konfigurationen in den Dateien "LocalSettings.php" geändert und Erweiterungen installiert werden, weil Zugriffe vom allgemeinen Salzwiki auf das Repositorium zu konfigurieren sind.

Sprachvarianten[Bearbeiten]

  • Das deutsche SalzWiki ist einsprachig "Deutsch".
  • Das englische Saltwiki ist einsprachig "English".
  • Das Repositorium ist seit 2012 einsprachig "Englisch" (zuvor "Deutsch") und soll 2-sprachig "Deutsch/English" werden zukünftig nur noch für die Media-Dateien von "SalzWiki" und "SaltWiki" genutzt werden.

Zur Konfiguration der Standardspracheinstellung siehe unter Wiki-Konfiguration -> Spracheinstellungen

Langzeit-Versionen-Problematik[Bearbeiten]

MW-LTS-Versionen sind unzureichend auf Langzeit-Versionen von MariaDB und auf das Unterstützungsende von PHP ausgelegt:

  • MW 1.39 von 11/2022 bis 11/2025 für
    • MariaDB 10.3.0+ von 05/2018 bis 05/2023, nicht MariaDB 10.4 oder neuer
    • PHP 7.4.3+ von 11/2019 bis 11/2022, PHP 8.0 von 11/2020, PHP 8.1 bis 11/2024
  • MW 1.35 LTS von 09/2020 bis 09/2023 für
    • MariaDB 10.1.0+ von 10/2015 bis 10/2020, nicht MariaDB 10.2 oder neuer
    • PHP 7.4.3+ von 11/2019 bis 11/2022, nicht PHP 8.x

Installationen[Bearbeiten]

Server und Anwendungen[Bearbeiten]

  1. Betriebssystem Windows-Server 2016
  2. VMWare Tools (für Virtualisierung)
  3. Virenschutz Sophos
  4. Microsoft Visual C++ for Visual Studio 2019 Redistributable 64-Bit [VC16 x64]
  5. Webserver Apache 2.4.51 64-Bit VC16 mit OpenSSL 1.1.0i und anderen Zusatzmodulen
  6. Scriptsprache PHP 7.4.27 ThreadSafe 64-Bit (für Apache unter Windows) mit Zusatzmodulen
  7. Datenbank-Server (MySQL/)MariaDB 10.2.17 64-Bit
  8. Datenbank-Management-Anwendung phpMyAdmin 5.2.0
  9. Statistik-Anwendung Webalizer 2.23-08 32-Bit
  10. Wikisystem MediaWiki 1.35.8 LTS mit Erweiterungen und Zusatz-Software
  11. GhostScript AGPL 9.55.0 (für MediaWiki) 64-Bit-Version
  12. ImageMagick (für MediaWiki) Version 7.1.0-17-Q16-HDRI-x64-dll.exe
  13. php-imagick (für MediaWiki mit ImageMagick) neue 64-Bit-Version für PHP7.2-TS-VC15
  14. MiKTeX 21.12 NetInstaller-Version mit Complete-Installation (für MediaWiki mit Formeln) 64-Bit-Version
  15. Statistik-Anwendung Matomo, vormals Piwik

Programme unter Systemsteuerung Windows Server 2016[Bearbeiten]

Für MediaWiki 1.35.8 LTS[Bearbeiten]
  • GPL Ghostscript 9.55.0
  • ImageMagick 7.1.0-17 Q16-HDRI (64-bit) (2021-12-04)
  • Microsoft Visual C++ 2015-2019 Redistributable [VC16] (x64) - 14.29.30133
  • MikTeX 21.12
Für Server-System[Bearbeiten]
  • VMware Tools

Installationen ohne XAMPP[Bearbeiten]

Die Server und Anwendungen werden vergleichbar einer XAMPP-Installation in ein Verzeichnis "D:\noxampp\" installiert.

Für Apache, MariaDB, PHP, phpMyAdmin und Webalizer sind die Angaben in den Konfigurationsdateien anzupassen.

Es ist im Verzeichnis "D:\noxampp\htdocs\" ein Unterverzeichnis "info\" anzugelegen, in dem die selbst erstellte Datei "phpinfo.php" gespeichert wird.

Die Dienste für Apache und MariaDB müssen per Kommandozeile, die als Administrator zu öffnen ist, installiert werden, damit sie bei einem Windows-Server-Neustart ebenfalls neu gestartet werden.

Verzeichnisse und Dateien[Bearbeiten]

Im Verzeichnis "D:\noxampp\" befinden sich folgende Dateien mit Informationen und für die Konfiguration

  • apache
    • conf\httpd.conf
    • conf\extra\ mit Dateien httpd-default.conf, httpd-ssl.conf, httpd-vhosts.conf
  • htdocs
    • Angepasste Datei: index.php
    • info\phpinfo.php (neu erstelltes Verzeichnis mit selbst erstellter Datei)
    • Wiki-Verzeichnisse
  • mysql
    • my.ini
    • data
  • php
    • php.ini
  • phpmyadmin
    • config.inc.php
  • tmp (neu erstelltes Verzeichnis für Session-Dateien)
  • webalizer
    • webalizer.bat
    • conf-Dateien der Wikis

Firewall-Ausnahmen[Bearbeiten]

In der Windows Firewall sind 2 Ausnahmen für eingehenden Datenverkehr durch Erstellen eigener Regeln hinzuzufügen:

  • "Apache_TCP_80_443"
    • Beschreibung: Apache-Dienst TCP-Verbindungen Ports 80, 443 und 8080
    • Programme und Dienste: "D:\noxampp\apache\bin\httpd.exe"
    • Protokolle und Ports: Protokolltyp TCP, Ports 80, 443, 8080
    • Erweitert: Profil Öffentlich, Edgeausnahme blockieren
  • "IP_Bereiche_zulassen"
    • Beschreibung: fuer MSSQL von H.I. per VPN und von RedDot und HAWK-Website
    • Bereich: Remote-IP-Adressen für H.I.-DSL-Zugang, HAWK-VPN-Bereiche, RZ-Rechner, H.I.-Webserver, RedDot-Server, HAWK-Webserver, Datenbankserver
    • Erweitert: Profile Domäne, Privat und Öffentlich

Apache-Webserver[Bearbeiten]

Der Apache-Webserver ist als Dienst zu installieren, damit er nach Rechner-Neustarts durch Windows-Updates automatisch gestartet werden kann.

Für die Nutzung von Apache ohne XAMPP ist zu berücksichtigen, dass der Apache-Webserver für Windows nicht bei apache.org erhältlich ist. Es empfiehlt sich die Verwendung des Apache von https://www.apachelounge.com/download/.

Verzeichnisumbenennung[Bearbeiten]

Sofern das Verzeichnis für Apache "Apache24" lautet, wird es in "apache" umbenannt.

Die Pfadangaben in den Konfigurationsdateien mit der Dateiendung "conf" sind anschließend an die Bezeichnung "apache" anzupassen.

Apache als Dienst installieren[Bearbeiten]

Nachdem die Kommandozeile als Administrator geöffnet wurde, den Apache-Dienst installieren:

D:
cd noxampp\apache\bin
httpd -k install -n "Apache2.4.51"

Unter "Systemsteuerung => System und Sicherheit => Verwaltung => Dienste" prüfen, ob der Dienst "Apache2.4.51" den Starttyp "Automatisch" aufweist, damit er nach einem Rechner-Neustart automatisch gestartet wird.

Start und Stopp des Dienstes[Bearbeiten]

Der Apache-Webserver kann auf verschiedene Arten gestartet und angehalten werden:

  • Windows Task Manager => Dienste
  • mit Hilfe des Apache-Monitors
  • per Kommandozeile
Start und Stopp per Task Manager[Bearbeiten]

Um den Apache-Dienst zu starten oder anzuhalten, wird unter "Verwaltung => Dienste" nach Auswahl des Dienstes "Apache2.4.51" entweder im Menü unter "Aktion" oder mit der rechten Maustaste im Kontextmenü der jeweilige Vorgang ausgewählt.

Start und Stopp per Apache-Monitor[Bearbeiten]
  • Im Windows Explorer folgende Datei als Administrator ausführen: "D:\noxampp\apache\bin\ApacheMonitor.exe"
  • In der Taskleiste das Symbol mit der rechten Maustaste anklicken und "Open Apache Monitor" auswählen
  • Service "Apache2.4.51" markieren und Schaltfläche "Start" oder "Stop" auswählen
Start und Stopp per Kommandozeile[Bearbeiten]
NET start Apache2.4.51

cd D:\noxampp\
apache\bin\pv -f -k httpd.exe -q

Apache-Konfiguration[Bearbeiten]

Bei einer Installation von Apache ohne XAMPP werden die Verwendung von PHP und die Berechtigungen etwas anders als bei einer Installation mit XAMPP festgelegt. Die Haupt-Konfiguration unterscheidet sich je nach Installation wie folgt:

  • ohne XAMPP: in der Datei "apache\conf\httpd.conf"
  • mit XAMPP: zusätzlich in der Datei "apache\conf\extra\httpd-xampp.conf"

Konfigurationsdateien haben die Dateiendung ".conf" und befinden sich in folgenden Verzeichnispfaden:

  • Datei "apache\conf\httpd.conf
  • Dateien im Verzeichnis "apache\conf\extra\"
    • httpd-autoindex.conf
    • httpd-dav.conf
    • httpd-default.conf
    • httpd-manual.conf
    • httpd-mpm.conf
    • httpd-multilang-errordoc.conf
    • httpd-ssl.conf
    • httpd-vhosts.conf

httpd.conf[Bearbeiten]

In der Hauptkonfigurationsdatei werden allgemeine Einstellungen festgelegt, beispielsweise

  • Server-Pfad
  • Standard-HTTP-Port
  • Standard-Verzeichnis für Webdateien
  • Verwendung von Modulen wie "ssl" und "php"
  • Verwendung von Konfigurationsdateien aus dem Unterverzeichnis "\extra"
  • Schutz von Verzeichnissen

Sofern VHosts für verschiedene Domains in der Datei "httpd-vhosts.conf" eingerichtet werden, werden in der Datei "httpd.conf" nur HTTP-Aufrufe von "localhost" oder über die Server-IP festgelegt.

define SRVROOT "D:/noxampp/apache"
ServerRoot "${SRVROOT}"
...
Listen 80
..
## ThreadSafe von PHP verwenden, eingefügt 2018-09-03
LoadFile "D:/noxampp/php/php7ts.dll"
#LoadFile "D:/noxampp/php/php8ts.dll"
#LoadFile "/noxampp/php/libpq.dll"
...
LoadModule acces_compat_module modules/mod_access_compat.so
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule allowmethods_module modules/mod_allowmethods.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule authn_core_module modules/mod_authn_core.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule autoindex_module modules/mod_autoindex.so
#LoadModule cgi_module modules/mod_cgi.so
LoadModule dir_module modules/mod_dir.so
LoadModule env_module modules/mod_env.so
LoadModule ext_filter_module modules/mod_ext_filter.so
LoadModule headers_module modules/mod_headers.so
LoadModule include_module modules/mod_include.so
LoadModule info_module modules/mod_info.so
LoadModule isapi_module modules/mod_isapi.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule log_rotate_module modules/mod_log_rotate.so # Zusatzmodul für LogRotation
LoadModule mime_module modules/mod_mime.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule php7_module D:/noxampp/php/php7apache2_4.dll # Zusatzmodul für PHP7
#LoadModule session_module modules/mod_session.so
#LoadModule session_cookie_module modules/mod_session_cookie.so
#LoadModule session_crypto_module modules/mod_session_crypto.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule ssl_module modules/mod_ssl.so
LoadModule status_module modules/mod_status.so
LoadModule substitute_module modules/mod_substitute.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so
...
ServerAdmin webmaster@hornemann-institut.de
ServerName 193.175.104.134:80
...
DocumentRoot "${SRVROOT}/htdocs"
<Directory "${SRVROOT}/htdocs">
...
</Directory>
...
<IfModule dir_module>
  DirectoryIndex index.php index.html
</IfModule>
...
<Files ".ht*">
  Require all denied
</Files>
...
ErrorLog "logs/error.log"
LogLevel warn
<IfModule log_config_module>
 ## für HAWK wegen DSGVO angepasst
 #LogFormat "%h %l %u %t \"%r\" %>s %b \"{Referer}i\" \"{User-Agent}i\"" combined
 #LogFormat "%h %l %u %t \"%r\" %>s %b" common
 LogFormat "%h - - %t \"%r\" %>s %b \"{Referer}i\" \"{User-Agent}i\" %I %O" combined
 LogFormat "%h - - %t \"%r\" %>s %b" common
 <IfModule log_config_module>
  ## für HAWK wegen DSGVO angepasst
  #LogFormat "%h %l %u %t \"%r\" %>s %b \"{Referer}i\" \"{User-Agent}i\" %I %O" combinedio
  LogFormat "%h - - %t \"%r\" %>s %b \"{Referer}i\" \"{User-Agent}i\" %I %O" combinedio
 </IfModule>
 CustomLog "logs/access.log" common
</IfModule>
...
<IfModule alias_module>
 ## für HAWK eingefügt
 Alias /phpmyadmin D:/noxampp/phpmyadmin
 Alias /info D:/noxampp/info
 Alias /webalizer /D:/noxampp/webalizer
 ## für HAWK deaktiviert
 #ScriptAlias /cgi-bin/ "${SRVROOOT}/cgi-bin/"
</IfModule>
...
<IfModule headers_module>
 RequestHeader unset Proxy early
</IfModule>
...
<IfModule mime_module>
  ...
  #AddType text/html .shtml
  #AddOutputFilter INCLUDES .shtml
  #### Fuer PHP eingefügt
  AddType text/html .php
</IfModule>
...
#### aus "XAMPP" abgewandelt
<IfModule php7_module>
  PHPIniDir "D:/noxampp/php"
</IfModule>
...
## für HAWK aktiviert
Include conf/extra/httpd-ssl.conf
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
...
# für HAWK eingefügt
# Spam-Bots abwehren
<IfModule rewerite_module>
 RewriteEngine On
 RewriteCond %{HTTP_USER_AGENT} ^Java.* [OR]
 RewriteCond %{HTTP_USER_AGENT} ^MJ12bot.* [OR]
 RewriteCond %{HTTP_USER_AGENT} ^SemrushBot.* [OR]
 RewriteCond %{HTTP_USER_AGENT} ^AhrefsBot.*
 RewriteRule ^(.*)$ - [F]
 #RewriteRule .* - [R=429]
</IfModule>
...
#### aus "XAMPP" abgewandelt
# PHP7
<IfModule php7_module>
 PHPIniDir "D:/noxampp/php"
</IfModule>
## PHP8
<IfModule php_module>
 PHPIniDir "D:/noxampp/php"
</IfModule>
...
#### aus "XAMPP" abgewandelt
<FilesMatch "\.php$">
  SetHandler application/x-httpd-php
</FilesMatch>
...

Verzeichnisauflistungen verhindern[Bearbeiten]

Um Auflistungen von Dateien und Verzeichnissen im Browser zu verhindern, ist die Angabe "-Indexes" in der Konfigurationsdatei "apache\conf\httpd.conf" und bei den VHosts erforderlich:

<Directory />
  #Options -Indexes +FollowSymLinks
  AllowOverride none
  Require all denied
</Directory>
...
DocumentRoot "${SRVROOT}/htdocs"
<Directory "${SRVROOT}/htdocs">
  Options -Indexes +FollowSymLinks +Includes -ExecCGI
  AllowOverride All
  Require all granted
</Directory>

Verzeichniszugriff per Authentifizierung[Bearbeiten]

Um den Zugriff auf bestimmte Verzeichnisse per Browser nur für bestimmte Anmeldenamen mit Passwort zu erlauben, sind Angaben in folgenden Konfigurationsdateien erforderlich:

  • "noxampp\apache\conf\httpd.conf"
  • "noxampp\apache\conf\extra\httpd-default.conf"
  • "noxampp\phpMyAdmin\config.inc.php"


Apache-Datei "httpd.conf"[Bearbeiten]

ca. Z.300f

<Files ".ht*">
  Require all denied
<Files>
Apache-Datei "httpd-default.conf"[Bearbeiten]

Z.45

AccessFileName .htaccess

Verzeichniszugriff für bestimmte Rechner-IPs[Bearbeiten]

Um von einem Rechner aus, der sich in einem bestimmten Netz befindet oder per VPN mit einer bestimmten IP verbunden ist, per Browser die Verzeichnisse nicht nur mit "localhost" aufrufen zu können, müssen zusätzliche Angaben mit "Require ip ..." erfolgen; die Fehlermeldung für einen unzulässigen Aufruf wird mit "ErrorDocument ..." erzeugt.

In der Datei "D:\noxampp\apache\conf\httpd.conf" am Ende einfügen:


#### Verzeichnisschutz mit IP-Whitelist aus "xampp" abgewandelt
<LocationMatch "^/(?i:(?:info|phpmyadmin))">
  Require local
  Require ip 193.175.104.133
  Require ip 193.175.104.134
  Require ip 193.175.110.
  Require ip 10.104.5.
  Require ip 10.104.55.
  Require ip 10.104.56.
  Require ip 172.16.100.2
  Require ip 172.28.0.
  Require ip 192.168.170.
</LocationMatch>

Server-Software auf Fehlerseiten nicht anzeigen[Bearbeiten]

Standardmäßig werden auf den Fehlerseiten folgende Details des Webservers angezeigt:

  • Webserver-Bezeichnung "Apache"
  • Webserver-Version
  • Betriebssystem-Art "Win64"
  • OpenSSL-Version

Dies ist der Fall, obwohl üblicherweise "ServerSignature Off" in Apache eingestellt ist, weil ab Version 2.0.44 die Angaben für "ServerTokens" ausschlaggebend sind, siehe auch

In der Datei "httpd.conf" können unterhalb der "include"-Anweisungen folgende Angaben eingetragen werden, um auch im HTTP-Request möglichst wenig Informationen zu übermitteln:

ServerSignature Off
ServerTokens Prod

Um auch die minimalen Angaben auf den Fehlerseiten aus Sicherheitsgründen zu unterbinden, ist in der Datei "D:\xampp\apache\error\include\bottom.html" im span-Element für die Variable "SERVER_SOFTWARE" hinter dem öffnenden HTML-Kommentar ein Leerzeichen einzufügen:

<span><!-- #echo var="SERVER_SOFTWARE" --></span>

Konfiguration für HTTPS[Bearbeiten]

Es sind für HTTPS mit Verschlüsselung folgende Änderungen gegenüber HTTP ohne Verschlüsselung erforderlich:

  • Server-Zertifikat
    • Zertifikat von einer anerkannten Zertifizierungsstelle erstellen lassen
    • Anpassung einiger Zertifikat-Dateien für Apache unter Windows
  • Domain-Adresse für das Repositorium
  • Apache-Konfiguration
    • für Virtuelle Hosts mit Port 443 in der Datei "...\apache\extra\httpd-vhosts.conf"
    • für Deaktivierung des Passphrasen-Dialogs in der Datei "...\apache\extra\httpd-ssl.conf"
  • MediaWiki-Konfigurationsdatei "LocalSettings.php"
    • eigene PHP-Variable für das bei der Anfrage verwendete Protokoll
    • CreativeCommons-URLs mit https
Server-Zertifikat[Bearbeiten]

Das Server-Zertifikat wird vom Rechenzentrum der Hochschule beim DFN beantragt.

Zertifikat-Domains[Bearbeiten]

Das Zertifikat muss folgende Domain-Adressen abdecken:

  • salzwiki.de, www.salzwiki.de
  • saltwiki.net, www.saltwiki.net
  • repository.hawk-hhg.de, salzwiki.hawk-hhg.de, saltwiki.hawk-hhg.de
  • repository-sw.hawk.de, salzwiki.hawk.de, saltwiki.hawk.de

Für Tests auf einem Testserver können folgende Domain-Adressen verwendet werden:

  • test-szw.hawk.de
  • test-stw.hawk.de
  • test-rpw.hawk.de
Zertifikat-Dateien[Bearbeiten]

Die Zertifikat-Dateien haben folgende Bezeichnungen:

  • **öffentlicher Schlüssel**: "cert-***.pem" wird umbenannt in "salzwiki_cert_pem.crt"
  • **Zertifikate-Kette**: Es ist seit 2017 keine gesonderte Zertifikatsketten-Datei erforderlich, weil die Angaben zur Zertifizierungskette in den Zertifikaten enthalten sind.
  • privater Schlüssel
    • "salzwiki.de.key" ist mit einem Passwort geschützt und kann von Apache unter Windows nicht verwendet werden
    • "salzwiki.de.nopw.key" wird als Kopie von "salzwiki.de.key" ohne Passwortschutz erstellt

Um die Datei mit dem privaten Schlüssel ohne Passwortschutz verwenden zu können, müssen die Zugriffsrechte für das Verzeichnis "...\apache\conf\ssl.key\" erhöht werden. Das Verzeichnis darf nur vom Webserver ausgelesen werden können und nur mit Admin-Rechten zugänglich sein. Die Windows-Gruppe "Benutzer" muss von der Vererbung der übergeordneten Verzeichnisse befreit und aus den Verzeichnis-Berechtigungen entfernt werden.

Für die Erzeugung der Datei mit dem privaten Schlüssel ohne Passwortschutz kann die Datei "...\apache\bin\openssl.exe" verwendet werden, die inzwischen nicht mehr aus dem "XAMPP"-Paket hinzugefügt werden muss. Hierzu die geschützte Schlüsseldatei in dasselbe Verzeichnis einfügen, die Kommandozeile mit Admin-Rechten öffnen und folgenden Befehl eingeben:

openssl x509 -in salzwiki.de.key -out salzwiki.de.nopw.key

Die Zertifikate-Dateien werden in folgenden Unterverzeichnissen von "...\apache\conf\" gespeichert:

  • ssl.crt
    • salzwiki_cert_pem.crt
    • salzwiki_chain_pem.crt
  • ssl.key
    • salzwiki.de.key
    • salzwiki.de.nopw.key
Apache-Konfiguration ohne Passphrasen-Dialog[Bearbeiten]

Um unter Windows den Apache-Webserver bei Seitenaufrufen an der Passwort-Abfrage zu hindern ist in der Datei "httpd-ssl.conf" der Passphrasen-Dialog wie folgt auszukommentieren:

#SSLPassPhraseDialog builtin
Wiki-Konfiguration für Übertragungsprotokoll[Bearbeiten]

In der Datei "LocalSettings.php" wird bei Z.33ff eine Abfrage, welches Protokoll (http oder https) beim jeweiligen Seitenaufruf verwendet wird, eingefügt. Das Ergebnis wird in einer Variablen gespeichert und an mehreren Stellen in der Datei eingesetzt:

## The protocol and server name to use in fully-qualified URLs
if($_SERVER['HTTPS']==="on" OR !empty($_SERVER['HTTPS'])){$protokoll = "https";}
else{$protokoll = "http";}
$wgServer = $protokoll."://".$_SERVER['SERVER_NAME'];

Konfiguration für IP oder Domain[Bearbeiten]

"SalzWiki" und "SaltWiki" wurden ursprünglich durch Weiterleitungen von den "1&1"-Servern über folgende IP-Adressen eines "HAWK"-Servers zur Verfügung gestellt:

  • salzwiki.de => 193.175.110.91/salzwiki
  • saltwiki.net => 193.175.110.91/saltwiki

Das Repositorium war ohne Domain nur direkt über folgende IP-Adresse eines "HAWK"-Servers verfügbar:

  • 193.175.110.91/repository

Für eine Nutzung der Wikis per "HTTPS" mit SSL-Server-Zertifikat müssen Domain-Adressen statt IP-Adressen verwendet werden. Hierfür wurde bei den über "1&1" gehosteten Domains der DNS-Eintrag vom "1&1"-Server zum "HAWK"-Server geändert und die Weiterleitung aufgehoben.

Damit bei der Anmeldung im Repositorium vom Browser keine Sicherheitswarnung wegen eines fehlenden Server-Zertifikats erscheint, ist eine eigene Domain-Adresse für das Repositorium notwendig. Weil der Vertrag mit "1&1" keine Subdomains vorsieht, wurde hierfür bei der HAWK die Subdomain "repository.hawk-hhg.de" eingerichtet.

Konfiguration für IP[Bearbeiten]

Sofern die Wikis mit der IP-Adresse verwendet werden, sind keine besonderen Anpassungen in den Apache-Konfigurationsdateien erforderlich, abgesehen von den Unterschieden zwischen einer Installation mit oder ohne "XAMPP".

Konfiguration für Domain[Bearbeiten]

Sofern die Wikis mit den Domain-Adressen und "HTTPS" verwendet werden, sind Definitionen in folgenden Apache-Konfigurationsdateien im Unterverzeichnis "\extra\" erforderlich:

  • httpd-vhosts.conf für Virtual Hosts
  • httpd-ssl.conf eventuell für Anpassung der Standard-SSL-Konfiguration
Virtual Hosts[Bearbeiten]

Mehrere Domain-Adressen mit unterschiedlichen Inhalten auf einem Server werden als Virtual Hosts (VHosts) in der Datei "httpd-vhosts.conf" verwaltet.

Der zuerst definierte VHost ist der Standard-Server, beispielsweise "localhost", für Test-Wikis ohne Domain-Adresse und für nicht definierte Adressen mit dem Standard-Port 80 für "HTTP". Danach folgen die Definitionen für die Domain-Adressen und ihre Alias-Adressen mit dem Standard-Port 80 für "HTTP":

  • localhost (inkl. 193.175.110.91/salzwiki_draft, 193.175.110.91/saltwiki_draft, 193.175.110.91/repository_draft)
  • salzwiki.de alias www.salzwiki.de und salzwiki.hawk-hhg.de
  • saltwiki.net alias www.saltwiki.net und saltwiki.hawk-hhg.de
  • repository.hawk-hhg.de
  • subdomain-name.localhost

Für HTTPS-Verbindungen mit Port 443 erhalten folgende Domain-Adressen ebenfalls einen Eintrag in dieser VHosts-Datei – nicht in der Datei "httpd-ssl.conf":

  • localhost (mit selbst erstelltem SSL-Server-Zertifikat)
  • salzwiki.de alias www.salzwiki.de und salzwiki.hawk-hhg.de
  • saltwiki.net alias www.saltwiki.net und saltwiki.hawk-hhg.de
  • repository.hawk-hhg.de
Subdomains für localhost[Bearbeiten]

Subdomains für "localhost" können als "ServerAlias" oder für lokale Tests als "ServerName" festgelegt werden. Hierfür ist zusätzlich die "hosts"-Datei von Windows im Verzeichnis "C:\Windows\System32\drivers\etc\" zu ergänzen:

# Für Tests des Hornemann Instituts der HAWK eingefügt 2017-05-23
193.175.110.91   szw.localhost
193.175.110.91   stw.localhost
193.175.110.91   rpw.localhost
193.175.110.91   salzwiki.localhost
193.175.110.91   saltwiki.localhost
193.175.110.91   repository.localhost
Umstellung von IP-Adresse zu Domain-Adresse[Bearbeiten]

Bei einer Umstellung von IP-Adresse zu Domain-Adresse ändert sich das "root"-Verzeichnis von "htdocs" zum jeweiligen Wiki-Unterverzeichnis, das bei der VHost-Definition angegeben ist. Deshalb werden beim Standard-VHost für die bisher verwendeten Wiki-IP-Adressen Weiterleitungen zu den Wiki-Domain-Adressen eingerichtet, weil bei einer solchen Umstellung auch in den Wiki-Konfigurationsdateien "LocalSettings.php" in Z.30 der Pfad bei "$wgScriptPath" zu einem leeren String zu ändern ist:

$wgScriptPath = ""; #"/salzwiki"; #"/saltwiki"; #"/repository";

Vergleich zwischen IP-Adresse und Domain-Adresse:

  • SalzWiki
    • IP-Adresse: salzwiki.de als Weiterleitung zu "193.175.110.91/salzwiki/" mit $wgScriptPath = "/salzwiki";
    • Domain-Adresse: salzwiki.de als DNS-Eintrag zu "193.175.110.91" bei "1&1" mit Apache-VHost-Verzeichnis "/salzwiki" und mit $wgScriptPath = "";
  • SaltWiki
    • IP-Adresse: saltwiki.net als Weiterleitung zu "193.175.110.91/saltwiki/" mit $wgScriptPath = "/saltwiki";
    • Domain-Adresse: saltwiki.net als DNS-Eintrag zu "193.175.110.91" bei "1&1" mit Apache-VHost-Verzeichnis "/saltwiki" und mit $wgScriptPath = "";
  • Repository ohne Domain-Adresse
    • IP-Adresse: "193.175.110.91/repository/" mit $wgScriptPath = "/repository";
  • Repository mit Domain-Adresse
    • IP-Adresse: repository.hawk-hhg.de als Weiterleitung zu "193.175.110.91/repository/" mit $wgScriptPath = "/repository";
    • Domain-Adresse: repository.hawk-hhg.de als DNS-Eintrag zu "193.175.110.91" bei der HAWK mit Apache-VHost-Verzeichnis "/repository" und mit $wgScriptPath = "";
VHost-Definitionen[Bearbeiten]

Für HTTPS ist das öffentliche Ketten-Zertifikat "salzwiki_chain_pem.crt" als Standard-Zertifikat in der Direktive "SSLCertificateFile" anzugeben und die Direktive "SSLCertificateChainFile" auszukommentieren, weil sonst die Browser bei der Überprüfung hängen bleiben, wenn nicht gerade der Apache-Dienst im Task-Manager neu gestartet wurde.

Für HTTPS dürfen die Angaben für ServerName und ServerAlias keine Port-Angabe enthalten, weil "Google Chrome" sonst das Zertifikat als unsicher deklariert.

Einzutragende Definitionen in der Datei "httpd-vhosts.conf":

# Standard-VHost HTTP
<VirtualHost *:80>
 ServerName localhost
 ##ServerAlias 193.175.110.91
 ServerAdmin service@salzwiki.de
 DocumentRoot "D:/xampp/htdocs/"
 ErrorLog "logs/error.log"
 CustomLog "logs/access.log" combined
 RewriteEngine On
 RewriteCond %{REQUEST_URI} /salzwiki
 RewriteCond %{REQUEST_URI} !=/salzwiki_
 RewriteRule "^/salzwiki/(.*)$" "http://salzwiki.de/$1" [R=301,L] 
 RewriteCond %{REQUEST_URI} /saltwiki
 RewriteCond %{REQUEST_URI} !=/saltwiki_
 RewriteRule "^/saltwiki/(.*)$" "http://saltwiki.net/$1" [R=301,L]
 # Weiterleitung, sobald eine Subdomain repository.hawk-hhg.de eingerichtet ist
 RewriteCond %{REQUEST_URI} /repository
 RewriteCond %{REQUEST_URI} !=/repository_
 RewriteRule "^/repository/(.*)$" "http://repository.hawk-hhg.de/$1" [R=301,L] 
</VirtualHost>
# Standard-VHost HTTPS
<VirtualHost *:443>
 ServerName localhost
 ServerAdmin service@salzwiki.de
 DocumentRoot "D:/xampp/htdocs"
 <Directory "D:/xampp/htdocs">
  Options -Indexes +FollowSymLinks -Includes -ExecCGI
  AllowOverride All
  Require all granted
 </Directory>
 ErrorLog "logs/error.log"
 TransferLog "logs/access.log"
 CustomLog "logs/ssl_request.log" "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
 RewriteEngine On
 RewriteCond %{HTTP_HOST} salzwiki.localhost
 RewriteRule "^(.*)$" "https://salzwiki.de$1" [R=301,L]
 RewriteCond %{REQUEST_URI} /repository
 RewriteCond %{REQUEST_URI} !=/repository_
 RewriteRule "^(.*)$" "http://193.175.110.91/$1" [R=301,L]
 # Weiterleitung, sobald eine Subdomain repository.hawk-hhg.de eingerichtet ist
 RewriteCond %{REQUEST_URI} /repository
 RewriteCond %{REQUEST_URI} !=/repository_
 RewriteRule "^/repository/(.*)$" "https://repository.hawk-hhg.de/$1" [R=301,L] 
 SSLEngine on
 SSLCertificateFile "conf/ssl.crt/server.crt"
 SSLCertificateKeyFile "conf/ssl.key/server.key"
</VirtualHost>
# SalzWiki-VHost HTTP
<VirtualHost *:80>
 ServerName salzwiki.de
 ServerAlias www.salzwiki.de salzwiki.hawk-hhg.de salzwiki.localhost
 ServerAdmin service@salzwiki.de
 DocumentRoot "D:/xampp/htdocs/salzwiki"
 <Directory "D:/xampp/htdocs/salzwiki">
  Options -Indexes +FollowSymLinks -Includes -ExecCGI
  AllowOverride All
  Require all granted
 </Directory>
 ErrorLog "logs/error_salzwiki.log"
 CustomLog "logs/access_salzwiki.log" combined
 RewriteEngine On
 RewriteCond %{HTTP_HOST} salzwiki.localhost
 RewriteRule "^(.*)$" "http://193.175.110.91/salzwiki$1" [R=301,L]
 RewriteCond %{REQUEST_URI} /repository
 RewriteCond %{REQUEST_URI} !=/repository_
 RewriteRule "^(.*)$" "http://193.175.110.91/$1" [R=301,L] 
</VirtualHost>
# SalzWiki-VHost HTTPS
<VirtualHost *:443>
 ServerName salzwiki.de
 ServerAlias www.salzwiki.de salzwiki.hawk-hhg.de salzwiki.localhost
 ServerAdmin service@salzwiki.de
 DocumentRoot "D:/xampp/htdocs/salzwiki"
 <Directory "D:/xampp/htdocs/salzwiki">
  Options -Indexes +FollowSymLinks -Includes -ExecCGI
  AllowOverride All
  Require all granted
 </Directory>
 ErrorLog "logs/error_salzwiki.log"
 TransferLog "logs/access_salzwiki.log"
 CustomLog "logs/ssl_request.log" "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
 RewriteEngine On
 RewriteCond %{HTTP_HOST} salzwiki.localhost
 RewriteRule "^(.*)$" "https://salzwiki.de$1" [R=301,L]
 RewriteCond %{REQUEST_URI} /repository
 RewriteCond %{REQUEST_URI} !=/repository_
 RewriteRule "^(.*)$" "http://193.175.110.91/$1" [R=301,L]
 SSLEngine on
 SSLCertificateFile "conf/ssl.crt/salzwiki_chain_pem.crt"
 #SSLCertificateFile "conf/ssl.crt/salzwiki_cert_pem.crt"
 SSLCertificateKeyFile "conf/ssl.key/salzwiki.denopw.key"
 #SSLCertificateChainFile "conf/ssl.crt/salzwiki_chain_pem.crt"
 #SSLCertificateFile "conf/ssl.crt/server.crt"
 #SSLCertificateKeyFile "conf/ssl.key/server.key"
</VirtualHost>
# SaltWiki-VHost HTTP
<VirtualHost *:80>
 ServerName saltwiki.net
 ServerAlias www.saltwiki.net saltwiki.hawk-hhg.de saltwiki.localhost
 ServerAdmin service@saltwiki.net
 DocumentRoot "D:/xampp/htdocs/saltwiki"
 <Directory "D:/xampp/htdocs/saltwiki">
  Options -Indexes +FollowSymLinks -Includes -ExecCGI
  AllowOverride All
  Require all granted
 </Directory>
 ErrorLog "logs/error_saltwiki.log"
 CustomLog "logs/access_saltwiki.log" combined
 RewriteEngine On
 RewriteCond %{HTTP_HOST} saltwiki.localhost
 RewriteRule "^(.*)$" "http://193.175.110.91/saltwiki$1" [R=301,L]
 RewriteCond %{REQUEST_URI} /repository
 RewriteCond %{REQUEST_URI} !=/repository_
 RewriteRule "^(.*)$" "http://193.175.110.91/$1" [R=301,L] 
</VirtualHost>
# SaltWiki-VHost HTTPS
<VirtualHost *:443>
 ServerName saltwiki.net
 ServerAlias www.saltwiki.net saltwiki.hawk-hhg.de saltwiki.localhost
 ServerAdmin service@saltwiki.net
 DocumentRoot "D:/xampp/htdocs/saltwiki"
 <Directory "D:/xampp/htdocs/saltwiki">
  Options -Indexes +FollowSymLinks -Includes -ExecCGI
  AllowOverride All
  Require all granted
 </Directory>
 ErrorLog "logs/error_saltwiki.log"
 TransferLog "logs/access_saltwiki.log"
 CustomLog "logs/ssl_request.log" "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
 RewriteEngine On
 RewriteCond %{HTTP_HOST} saltwiki.localhost
 RewriteRule "^(.*)$" "https://saltwiki.net$1" [R=301,L]
 RewriteCond %{REQUEST_URI} /repository
 RewriteCond %{REQUEST_URI} !=/repository_
 RewriteRule "^(.*)$" "http://193.175.110.91/$1" [R=301,L]
 SSLEngine on
 SSLCertificateFile "conf/ssl.crt/salzwiki_chain_pem.crt"
 #SSLCertificateFile "conf/ssl.crt/salzwiki_cert_pem.crt"
 SSLCertificateKeyFile "conf/ssl.key/salzwiki.denopw.key"
 #SSLCertificateChainFile "conf/ssl.crt/salzwiki_chain_pem.crt"
 #SSLCertificateFile "conf/ssl.crt/server.crt"
 #SSLCertificateKeyFile "conf/ssl.key/server.key"
</VirtualHost>
# Repositorium-VHost HTTP
<VirtualHost *:80>
 ServerName repository.hawk-hhg.de
 ServerAlias repository.localhost
 ServerAdmin service@salzwiki.de
 DocumentRoot "D:/xampp/htdocs/repository"
 <Directory "D:/xampp/htdocs/repository">
  Options -Indexes +FollowSymLinks -Includes -ExecCGI
  AllowOverride All
  Require all granted
 </Directory>
 ErrorLog "logs/error_repository.log"
 CustomLog "logs/access_repository.log" combined
 # Weiterleitung, solange keine Subdomain repository.hawk-hhg.de eingerichtet ist
 RewriteEngine On
 RewriteCond %{HTTP_HOST} repository.localhost [OR]
 RewriteCond %{HTTP_HOST} repository.hawk-hhg.de
 RewriteRule "^(.*)$" "http://193.175.110.91/repository$1" [R=301,L] 
</VirtualHost>
# Repositorium-VHost HTTPS
<VirtualHost *:443>
 ServerName repository.hawk-hhg.de
 ServerAlias repository.localhost
 ServerAdmin service@salzwiki.de
 DocumentRoot "D:/xampp/htdocs/repository"
 <Directory "D:/xampp/htdocs/repository">
  Options -Indexes +FollowSymLinks -Includes -ExecCGI
  AllowOverride All
  Require all granted
 </Directory>
 ErrorLog "logs/error_repository.log"
 TransferLog "logs/access_repository.log"
 CustomLog "logs/ssl_request.log" "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
 # Weiterleitung, solange keine Subdomain repository.hawk-hhg.de eingerichtet ist
 #RewriteEngine On
 #RewriteCond %{HTTP_HOST} repository.localhost [OR]
 #RewriteCond %{HTTP_HOST} repository.hawk-hhg.de
 #RewriteRule "^(.*)$" "https://193.175.110.91/repository$1" [R=301,L] 
 SSLEngine on
 SSLCertificateFile "conf/ssl.crt/salzwiki_chain_pem.crt"
 #SSLCertificateFile "conf/ssl.crt/salzwiki_cert_pem.crt"
 SSLCertificateKeyFile "conf/ssl.key/salzwiki.denopw.key"
 #SSLCertificateChainFile "conf/ssl.crt/salzwiki_chain_pem.crt"
 #SSLCertificateFile "conf/ssl.crt/server.crt"
 #SSLCertificateKeyFile "conf/ssl.key/server.key"
</VirtualHost>

######## Beginn Draft-Wikis für Tests ########
<VirtualHost *:80>
 ServerName szw.localhost
 ServerAdmin service@salzwiki.de
 DocumentRoot "D:/xampp/htdocs/salzwiki_draft"
 <Directory "D:/xampp/htdocs/salzwiki_draft">
  Options -Indexes +FollowSymLinks -Includes -ExecCGI
  AllowOverride All
  Require all granted
 </Directory>
 ErrorLog "logs/error_salzwiki_draft.log"
 CustomLog "logs/access_salzwiki_draft.log" combined
 RewriteEngine On
 RewriteCond %{HTTP_HOST} szw.localhost
 RewriteRule "^(.*)$" "http://193.175.110.91/salzwiki_draft$1" [R=301,L] 
</VirtualHost>
<VirtualHost *:80>
 ServerName stw.localhost
 ServerAdmin service@saltwiki.net
 DocumentRoot "D:/xampp/htdocs/saltwiki_draft"
 <Directory "D:/xampp/htdocs/saltwiki_draft">
  Options -Indexes +FollowSymLinks -Includes -ExecCGI
  AllowOverride All
  Require all granted
 </Directory>
 ErrorLog "logs/error_saltwiki_draft.log"
 CustomLog "logs/access_saltwiki_draft.log" combined
 RewriteEngine On
 RewriteCond %{HTTP_HOST} stw.localhost
 RewriteRule "^(.*)$" "http://193.175.110.91/saltwiki_draft$1" [R=301,L] 
</VirtualHost>
<VirtualHost *:80>
 ServerName rpw.localhost
 ServerAdmin service@salzwiki.de
 DocumentRoot "D:/xampp/htdocs/repository_draft"
 <Directory "D:/xampp/htdocs/repository_draft">
  Options -Indexes +FollowSymLinks -Includes -ExecCGI
  AllowOverride All
  Require all granted
 </Directory>
 ErrorLog "logs/error_repository_draft.log"
 CustomLog "logs/access_repository_draft.log" combined
 RewriteEngine On
 RewriteCond %{HTTP_HOST} rpw.localhost
 RewriteRule "^(.*)$" "http://193.175.110.91/repository_draft$1" [R=301,L] 
</VirtualHost>
######## Ende Draft-Wikis für Tests ########

Datenbank-Server[Bearbeiten]

Der MariaDB-Datenbank-Server ist als Dienst zu installieren, damit er nach Rechner-Neustarts durch Windows-Updates automatisch gestartet werden kann.

MariaDB ohne XAMPP[Bearbeiten]

MariaDB-Service installieren[Bearbeiten]

Nachdem die Kommandozeile als Administrator geöffnet wurde, den MariaDB-Dienst mit der Bezeichnung "MariaDB10.2.17" installieren:

D:
cd noxampp\mysql\bin
mysql_install_db.exe --datadir=D:\noxampp\mysql\data --service=MariaDB10.2.17 --password

Unter "Systemsteuerung => System und Sicherheit => Verwaltung => Dienste" prüfen, ob der Dienst "MariaDB10.2.17" den Starttyp "Automatisch" aufweist, damit er nach einem Rechner-Neustart automatisch gestartet wird.

Zugangsdaten absichern[Bearbeiten]

Bei MariaDB ab Version 5.2 gibt es ein Authentication-Plugin für Socket-Authentifizierung, weshalb bei der Installation mittels Kommandozeile das Konto "root" ohne Passwort-Anmeldung eingerichtet wird.

Unter Windows kann ein Passwort für "root" in der Admin-Kommandozeile mit folgenden Befehlen festgelegt werden:

cd D:\noxampp\mysql\bin
mysql -u root
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhos' IDENTIFIED BY '[passwort]';
ALTER USER 'root'@'::1' IDENTIFIED BY '[passwort]';
ALTER USER 'root'@'127.0.0.1' IDENTIFIED BY '[passwort]';

Um die Passwort-Änderung zu aktivieren, muss der Dienst "MariaDB10.2.17" neu gestartet werden.

Möglicherweise muss zusätzlich das Authentication-Plugin "ed25519" verwendet werden. Es hat das Plugin "mysql_native_password", das SHA-1 basiert war, abgelöst.

Konfigurationsdatei[Bearbeiten]

Die Konfigurationsdatei "my.ini" für v10.2.17 wird vom bisherigen Server auf den neuen Server kopiert und mit der Vorlagendatei "my-huge.ini" des neuen Servers verglichen.

Die Vorlagendateien "my-[...].ini befinden sich bei v10.2.17 im Verzeichnis "mysql\" statt wie bei v10.0.17 im Verzeichnis "myslq\bin\".

Die Definitionen bei v10.2.17 erfolgen ohne Anführungszeichen und wie bei v10.0.17 mit "/" statt "\" auch unter Windows.

Defintionen im Abschnitten "[client]":

port = 3306
socket = D:/noxampp/mysql/mysql.sock

Definitionen im Abschnitt "[mysqld]":

port = 3306
socket = D:/noxampp/mysql/mysql.sock
skip-external-locking
key_buffer_size = 384M
max_allowed_packet = 1M
table_open_cache = 512
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size = 32M
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 8

# Point the following paths to a dedicated disk
#tmpdir = /tmp/
tmpdir = D:/noxampp/tmp
...
log_bin = mysql_bin
...
innodb_data_file_path = ibdata:1:10M:autoextend
...
innodb_buffer_pool_size = 384M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 100M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50

Start und Stopp im Produktivbetrieb[Bearbeiten]

Um den mysql-Dienst zu starten oder anzuhalten, gibt es folgende Möglichkeiten:

  • unter "Verwaltung => Dienste" nach Auswahl des Dienstes "MariaDB10.2.17" entweder im Menü unter "Aktion" oder mit der rechten Maustaste im Kontextmenü den jeweiligen Vorgang auswählen
  • per Kommandozeile
D:
cd noxampp\mysql\
bin\mysqld.exe --defaults-file=mysql\my.ini

D:
cd noxampp\mysql
bin\mysqld.exe -q
del data\%computername%.pid

PHP[Bearbeiten]

PHP-Versionen[Bearbeiten]

Erforderlich ist für Apache eine TS-Version, die als herunterladbare zip-Datei im Dateinamen kein "ts" enthält, während die "nts-Version "nts" enthält. Im Dateinamen ist "Win32" auch bei der 64-Bit-Version "x64" enthalten.

PHP 8.1.5[Bearbeiten]

Für MW 1.39: VC16 (2019) x64 TS: php-8.1.5-Win32-VS!&-x64.zip (2022-04-15)

PHP 7.4.32[Bearbeiten]

Für MW 1.35: VC15 (2017) x64 TS: php-7.4.32-Win32-VC15-x64.zip (2022-09-29)

PHP 7.2.2[Bearbeiten]

Bei MW 1.31:

  • Core-Erweiterung "Cite" erzeugt Fehler "Uncommitted DB writes" und ist zu ersetzen durch die Erweiterung "CiteThisPage"
  • Core-Erweiterung "ImageMap" erzeugt Fehler "Fatal exception of type MWException"

php.ini[Bearbeiten]

Module[Bearbeiten]

aktivierte Module[Bearbeiten]

Folgende Module sind aktiviert:

  • bz2
  • curl
  • fileinfo
  • gd2
  • gettext
  • intl
  • mbstring
  • exif ; Must be after mbstring
  • mysqli
  • openssl
  • pdo_mysql
  • pdo_sqlite
  • sqlite3
  • soap
  • sockets
  • xmlrpc
  • xsl

Damit "cURL" von PHP verwendet wird, ist die Windows-Systemvariable "PATH" für PHP zu ergänzen. Hierzu "Systemsteuerung => System und Sicherheit => System => Erweiterte Systemeinstellungen" auswählen, im Fenster "Systemeigenschaften" beim Karteikartenreiter "Erweitert" die Schaltfläche "Umgebungsvariablen..." auswählen und bei "Systemvariablen" die Variable "PATH" markieren. Anschließend über die Schaltfläche "Bearbeiten..." folgenden Eintrag am Ende hinzufügen:

...;D:\noxampp\php\

Zusätzlich ist die Datei "...\php\libssh2.dll" in das Verzeichnis "..\apache\bin\" zu kopieren.

zusätzliche Module[Bearbeiten]
  • imagick

Die dll-Datei "php_imagick.dll" für das Modul "imagick" kann bei "PECL" heruntergeladen werden: https://windows.php.net/downloads/pecl/releases/imagick/.

php-Konfiguration[Bearbeiten]

engine = On
short_open_tag = On
allow_call_time_pass_reference = Off
safe_mode = Off
expose_php = Off
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED & ~E_WARNING
error_log = "D:\noxampp\php\logs\php_error.log"
extension_dir = "D:\noxampp\php\ext"
enable_dl = On
file_uploads = On
upload_tmp_dir = "D:\noxampp\tmp"
upload_max_filesize = 50M
allow_url_fopen = On
allow_url_include = Off