Neben der Konfiguration des (eventuell schon installierten) Microsoft Internet Information Server (IIS) wird noch eine SQL Datenbank benötigt. Für die SQL Datenbank gibt es die Wahl zwischen MySQL, Postgres oder SQLite, leider sind Microsoft SQL Server oder die Windows Internal Database (WID) nicht unterstützt.
Installation und Konfiguration des IIS
Im Server Manager muss nun die IIS Rolle mit CGI Unterstützung installiert werden. Dazu im „Assistenten zum Hinzufügen von Rollen und Features“ den „Webserver (IIS)“ auswählen und unterhalb von „Anwendungsentwicklung“ noch „CGI“ aktivieren. Nicht benötigt wird das HTTP-Feature „WebDAV-Veröffentlichung“.
Bei den Features brauch keine zusätzliche Auswahl getroffen zu werden.
Nach der Installation sollte jetzt schon die Testseite vom IIS erreichbar sein.
Installation von PHP unter IIS 8.0
Zunächst muss die richtige PHP Version von der PHP Windows Download Seite heruntergeladen werden, das sollte die Version PHP 5.3 „VC9 Non Thread Safe“ sein. Ich verwende der Bequemlichkeit und besseren Systempflege das Microsoft Installer Paket (MSI) zu Installation.
Die Installation ist sehr simpel: PHP Lizenz Akzeptieren, Zielverzeichnis aussuchen, „IIS FastCGI“ als Webserver auswählen, Standardauswahl nicht verändern (Außer OwnCloud soll ans MS Active Directory angebunden werden, dann bitte LDAP Modul noch auswählen) und Installation durchführen lassen.
Damit auch größere Dateien als 2 MB hochgeladen werden können, muss die PHP.ini (Standardmäßig unter C:Program Files (x86)PHP) noch angepasst werden. Dazu zu müssen die Werte „upload_max_filesize“ und „post_max_size“ auf die gewünschten Werte angepasst werden, z.B. „2G“ für 2 Gigabyte. Damit der IIS jetzt aber nicht bei 300MB abbricht, muss hier auch das Limit entsprechent angepass werden. Dazu muss im IIS-Manager in der „Anorderungsfilterung“ die „Featureeinstellungen“ bearbeitet werden, zum Beispiel mit dem Wert „2147483648“ für 2 GB.
Zum testen eine neue Datei (z.B. test.php) im Webserverroot (Standardmäßig C:inetpubwwwroot) erstellen und folgendes eintragen:
<?PHP
phpinfo ();
?>
Und die Datei im Browser aufrufen (und anschließend löschen!)
Das PHP erkennt aber nicht das es auf einem Windows Server 2012 läuft, aber da die Version und die Build-Nummer stimmt, dürfte da nur ein Eintrag in der PHP Konfiguration fehlen damit die Erkennung funktioniert. Das soll hier aber keinen stören.
Da in dem PHP Paket SQLite integriert ist, und ich nur eine kleine Instanz für mich brauch, spare ich mir an dieser Stelle die Installation von MySQL und nutze SQLite.
Installation von OwnCloud
Zur Installation von OwnCloud muss das Tar Archiv heruntergeladen und entpackt werden. Anschließend muss mit administrativer Berechtigung die Dateien in WWW-Root kopiert werden. Wer möchte kann dafür ein eigenes Unterverzeichnis anlegen.
Nach dem Kopieren muss für die Installation noch die NTFS Berechtigung angepasst werden das Schreibzugriff für die erste Konfiguration besteht.
Jetzt muss mit dem Webbrowser das neue OwnCloud Verzeichnis aufgerufen werden.
Jetzt muss ein Administrativer Benutzer mit sicherem Passwort angelegt werden. Zusätzlich muss unter „Fortgeschritten“ das Datenverzeichnis geändert werden, damit es außerhalb des WWWRoot liegt. Als Datenbank bleibt „SQLite“ ausgewählt.
Fertig ist die Installation von OwnCloud unter MS Windows Server 2012.
Kommentare
9 Antworten zu „OwnCloud unter Microsoft Windows Server 2012“
Hallo Fabian,
vielen Dank für deinen Post.
Leider klappt es so bei mir nicht so ganz. Nach dem Klicken auf Finish Setup, bekomme ich die Meldung: „Die Website kann diese Seite nicht anzeigen“.
Hast du eine Ahnung, an was das liegen könnte?
Vielen Dank
Hier sind noch die Einträge der logfiles:
2013-11-16 07:43:45 46.38.238.27 GET /data/htaccesstest.txt – 80 – 46.38.238.27 – – 200 0 0 32
2013-11-16 07:43:45 46.38.238.27 GET /index.php – 80 – 46.38.238.27 Mozilla/5.0+(Windows+NT+6.3;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko – 200 0 0 1249
2013-11-16 07:43:45 46.38.238.27 GET /data/htaccesstest.txt – 80 – 46.38.238.27 – – 200 0 0 402
2013-11-16 07:43:45 46.38.238.27 GET /index.php/core/routes.json – 80 – 46.38.238.27 Mozilla/5.0+(Windows+NT+6.3;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko http://*/index.php 200 0 0 548
[16-Nov-2013 07:45:26 UTC] PHP Fatal error: Call to a member function logicToPhysical() on a non-object in C:inetpubowncloudlibfilesstoragemappedlocal.php on line 311
Hi das könnte an der falschen PHP Version liegen, einfach nochmal genau prüfen welche runter geladen wurde.
Gruss Fabian
Ich habe den gleichen Fehler nach dem Anlegen des Admins kommt folgender Fehler:
Fatal error: Call to a member function logicToPhysical() on a non-object in F:xampphtdocsowncloudlibfilesstoragemappedlocal.php on line 311
und laut PHPingo habe ich die PHP Version 5.4.19. Also daran könnte es nicht liegen…
Hast du noch einen Tipp?
Nachtrag:
Wenn ich es erneut aufrufe kommt:
Dein Datenverzeichnis und Deine Dateien sind wahrscheinlich vom Internet aus erreichbar, weil die .htaccess-Datei nicht funktioniert.
Muss man die „Einen neuen Admin hinzufügen“ Seite per Hand löschen? Sonst kann da ja jeder neue Benutzer hinzufügen.
Ich hab OwnCloud schon wieder deinstalliert, weil es mir nicht das Brachte was ich wollte. Statt mit HTACCESS, habt Ihr mal Berechtigung auf dem Filesystem ausprobiert?
Auch die „VC9 Non Thread Safe“ Version?
Hallo Fabian, ich habe nun das Ganze so eingerichtet, jedoch scheint es mit webdav nicht so ganz zu klappen.
Nach der Einrichtung von Owncloud erschien folgende Meldung:
„Ihr Web-Server ist noch nicht für eine Datei-Synchronisation konfiguriert, weil die WebDAV-Schnittstelle vermutlich defekt ist. Bitte überprüfen Sie die Instalationsanleitungen. “
Muss ich WebDAV noch im IIS konfigurieren oder Ähnliches?
In Einstellungen erscheint die Meldung immer noch, mit dem Übertitel „Einrichtungswarnung“. Die Synchronisation mit der App funktioniert natürlich auch noch nicht.
Hallo Fabian,
Super Anleitung, vielen Dank!
Leider habe ich derzeit das Problem dass Dateien welche hochgeladen wurden weder gelöscht noch verschoben werden können.
Kennst Du das Problem und hättest Du eine Lösung?
Viele Grüße
Harry