MediaWiki Sitemap mittels PHP generieren

Fertige Wiki’s mittels MediaWiki unter Microsoft Azure sind eine feine Sache. Sie sind schnell eingerichtet und installiert. Eine fertige Vorlage ist vorhanden, und auch der Aufbau mit den ersten BeitrĂ€gen funktioniert innerhalb weniger Minuten. Wenn das Wiki dann aber veröffentlicht werden soll, stellt sich schnell die Frage, wie eine MediaWiki Sitemap automatisch generiert werden kann.

Anmeldung an Kudu

MediaWiki Sitemap

Zuerst ist eine Anmeldung am Kudu-Web-Frontend notwendig. Das System ist in Microsoft Azure ĂŒber eine eigene URL fĂŒr jede Website erreichbar:

Powershell starten

Als nĂ€chstes sucht man sich die PowershellÂ ĂŒber das obere MenĂŒ unter „Debug Console“.

Sitemap generieren

Als letzten Schritt fĂŒhrt man den Befehl zur Erstellung der Sitemap aus. Es handelt sich dabei um ein kleines PHP-Programm, welches in der MediaWiki-Vorlage automatisch enthalten ist.

php maintenance/generateSitemap.php --compress=no

Optionen

Folgende Optionen stehen fĂŒr das Script zur VerfĂŒgung:

--help

zeigt die verfĂŒgbaren Optionen fĂŒr generateSitemap.php an

--fspath=<path>

Der Pfad, in dem die fertige Sitemap gespeichert werden soll. FĂŒr die spĂ€tere Nutzung muss dieser Pfad natĂŒrlich online sichtbar sein.

Beispiel: sitemap/

--identifier=<identifier>

Welche Site Identifier soll genutzt werden? StandardmĂ€ĂŸig wird $wgDBname verwendet

--urlpath=<prefix>

Die URL, die auf –fspath zeigt, also z.B. http://wiki.example.com/sitemap/

Besonders fĂŒr Google ist das hilfreich, diese Pfadangabe wird jeder URL in der Sitemap vorangestellt und von Google erwartet. Diese Einstellung sollte immer in Verbindung mit –server verwendet werden.

--server=<server>

Der Servername einschließlich Protokoll (http/https), der in den URL’s verwendet werden soll. Beispiel: http://en.wikipedia.org

Manchmal ist dieser optionale Parameter notwendig, wenn die Erkennung des Servernamens fehlschlĂ€gt und EintrĂ€ge in der Sitemap mit „localhost“ erscheinen.

--compress=[yes|no]

Schaltet die Kompression der Sitemap-Datei ein oder aus. StandardmĂ€ĂŸig ist die Kompression aktiviert.

Beispiel zur Erstellung einer MediaWiki Sitemap

MediaWiki Sitemap fĂŒr Google Webmaster Tools erstellen:

Zuerst legt man ein eigenes Verzeichnis fĂŒr die Sitemap an:

mkdir sitemap

Danach generiert man die Sitemap mittels des Scripts:

php maintenance/generateSitemap.php \
--fspath sitemap \
--server http://mydomain.org \
--urlpath http://mydomain.org/sitemap

Webformular als JSON senden

Im letzten Blog-Beitrag wurde vorgestellt, wie eine Microsoft Azure Function erstellt wird, die zum Senden von Emails genutzt werden kann. Die Function erwartet dabei einen HTTP-PUT-Aufruf mit angehÀngten Daten im JSON-Format. Wie Sie aus einem normalen HTML-Formular mit einigen Zeilen JavaScript und Jquery einen solchen JSON-Aufruf erzeugen, erfahren Sie in diesem Beitrag. Weiterlesen

CDN: Konfigurieren von Cacheoptionen fĂŒr statische Dateien

Bei Integration von Azure CDN (Content Delivery Network) in Ihre Azure-Web-App kann man einrichten, wie lange statische Inhalte in den CDN-Endpunkten zwischengespeichert werden sollen. Die Einstellung erfolgt dabei ĂŒber die IIS-Konfigurationsdatei web.config innerhalb der Web Applikation. Weiterlesen

HTTPS / SSL auf einer Website erzwingen

Den Besucherverkehr vom HTTP-Protokoll auf die HTTPS-Version einer Website zur Nutzung von SSL umzuleiten ist ganz einfach.

Die folgende Methode funktioniert nicht nur mit Microsoft Azure Web Services App, sondern auch mit jeder anderen Website, die auf einem Microsoft IIS (Internet Information Server) Webserver lĂ€uft. Bei vielen Kunden setzen wir diese Variante ein, um den Datenverkehr im Internet sicherer zu machen und HTTPS-SSL-Zertifikate sinnvoll zu nutzen. Denn in vielen unserer Hosting-Pakete sind einfachere SSL-Zertifikate fĂŒr den www-Webserver bereits inklusive enthalten.

HTTPS bzw. SSL aktivieren

Nachdem es innerhalb des Azure Portals keinen Schalter oder keine Option gibt, um den verschlĂŒsselten Datenverkehr zu erzwingen, wird eine web.config Datei im Stammverzeichnis der Web-App angelegt. Das geht am einfachsten ĂŒber die in Azure integrierte App Kudu, die in jeder WebApp ĂŒber erreichbar ist. Dort findet man unter Debug Console -> CMD einen Zugriff auf die Verzeichnisstruktur.

Kudu

Unter dem Ordner site\wwwroot\ wird nun eine neue Datei web.config angelegt und mittels dem in Kudu integrierten Editor bearbeitet.

Der Inhalt von web.config:

<configuration>
<system.webServer>
<rewrite>
    <rules>
	<rule name="HTTP to HTTPS redirect" stopProcessing="true"> 
	<match url="(.*)" /> 
	<conditions> 
		<add input="{HTTPS}" pattern="off" ignoreCase="true" />
	</conditions> 
	<action type="Redirect" redirectType="Permanent" url="https://{HTTP_HOST}/{R:1}" />
      </rule>   
    </rules>
</rewrite>
</system.webServer>
</configuration>

Damit wird, unabhÀngig von der im hostheader eingegebenen Domain, der Datenverkehr auf die HTTPS-Variante umgeleitet.

Wir nutzen dieses Verfahren selbst bei einigen Kunden, die ausschließlich auf SSL-verschlĂŒsselten Webzugriff setzen.