Windows: ownCloud mit IIS, PHP und SQLite

Gestern Abend erhielt ich eine E-Mail von jemand, das er ein Problem mit der ownCloud-Installation auf einem Windows Server 2008 R2 hat.

Die „gemeldete“ Fehlermeldung konnte ich leider bislang nicht reproduzieren. Aber wie so oft gibt es eine Menge möglicher Stolpersteine.

Unter Windows fängt das mitunter schon damit an, wie PHP installiert wurde. D.h. ob manuell über das Archiv, mit dem Installer oder über den Microsoft Web Platform Installer.

Verwendet man einen der Installer erhält man auf jeden Fall eine unter Windows funktionierende PHP-Installation. Verwendet man das Archiv ist etwas Handarbeit notwendig. Ich gehe in diesem Artikel auf alle drei Möglichkeiten ein.

Hier nun eine Kurzanleitung zur Installation von ownCloud unter Windows 7 und Windows Server 2008 R2.

IIS installieren

Sofern noch nicht geschehen, muss zuerst der IIS, also der Webserver von Microsoft installiert werden:

Windows 7

  • Zu „Systemsteuerung – Programme und Funktionen – Windows-Funktionen Aktivieren oder Deaktivieren“ wechseln.
  • „Internetinformationsdienste“ aktivieren.
  • Nun unter „Internetinformationsdienste – WWW-Dienste – Anwendungsentwicklungsfeatures – CGI“ aktivieren.

Windows Server 2008 R2

  • Im „Server-Manager – Rollen hinzufügen“ anklicken und „Webserver (IIS)“ auswählen.
  • Unter „Webserver – Anwendungsentwicklung“ „CGI“ aktivieren.

PHP installieren

Prinzipiell gibt es drei Möglichkeiten, PHP unter Windows zu installieren. Zum einen gibt es denn Web Platform Installer von Microsoft. Dieser erlaubt eine sehr einfache Installation von PHP und weiteren, nützlichen Tools wie dem PHP Manager for IIS. Nachteilig kann allerdings sein, das die dort verwendete PHP-Version leicht veraltet ist. Z.B. zum Zeitpunkt des Schreibens dieses Artikel war bereits Version 5.3.10 aktuell, während über Web PI noch Version 5.3.8 angeboten wird.

Installation via Web Platform Installer

  • Den Web Platform Installer herunterladen und ausführen.
  • Nach erfolgter Installation zum „IIS-Manager“ wechseln.
  • Doppelklick auf „PHP Manager“.
  • „De-/Aktivere eine Erweiterung“ anklicken.
  • „SQLite“ aktivieren.

Installation via PHP-Installer

  • Den PHP-Installer (VC9, NTS) herunterladen und ausführen.
  • Während des Setups „IIS FastCGI“ auswählen.
  • Die PHP-Erweiterung (unter „Extensions“) „SQLite“ aktivieren. Dies sollte per Standard schon der Fall sein.

Installation via PHP-Archiv

Die aufwendigste und leider auch fehleranfälligste Methode PHP unter Windows mit dem IIS zu installieren, besteht darin, das PHP-Archiv zu verwenden. Dabei ist ein wenig Handarbeit vonnöten.

  • Das PHP Zip-Archiv (VC9, NTS) herunterladen und z.B. nach „C:\PHP“ entpacken.
  • Die Datei „php.ini-production“ umkopieren und in „php.ini“ umbenennen.
  • Die Datei „php.ini“ editieren und wie folgt ändern:
Zeile 821:  extension_dir = "C:\PHP\ext"
Zeile 862: ;fastcgi.impersonate = 1; - Das Kommentar-Zeichen ";" entfernen.
Zeile 962: ;extension=php_gd2.dll - Das Kommentar-Zeichen ";" entfernen.
Zeile 969: ;extension=php_mbstring.dll - Das Kommentar-Zeichen ";" entfernen.
Zeile 982: ;extension=php_pdo_sqlite.dll - Das Kommentar-Zeichen ";" entfernen.
Zeile 993: ;extension=php_sqlite.dll - Das Kommentar-Zeichen ";" entfernen.
Zeile 1008: date.timezone = Europe/Berlin
  • Den IIS-Manager öffnen.
  • Auf „Handlerzuordnungen“ klicken.
  • Auf „Modulzuordnung hinzufügen“ klicken und wie im Screenshot konfigurieren:

Optional kann man den PHP Manager for IIS noch herunterladen und installieren. Bei der Installation via Web Platform Installer ist Dieser bereits dabei. Der PHP Manager for IIS erleichtert die Konfiguration und Verwaltung von PHP mit dem IIS. Ferner bietet er leichten Zugriff auf die Einstellungen und Protokolle und erlaubt die Änderung der Konfiguration im laufenden Betrieb, ohne das der Webserver neu gestartet werden muss.

ownCloud installieren

Auf der Homepage von ownCloud wird in der Dokumentation darauf verwiesen, das aktuelle Developer-Build, also die Entwicklerversion zu verwenden. Bei meinem Schnelltest funktionierte die Stable-Version allerdings auch.

  • Die aktuelle Version von ownCloud herunterladen und nach „C:\inetpub\wwwroot“ entpacken.
  • Dem Benutzer „IUSR“ auf die Ordner „data“ und „config“ die Berechtigung „Ändern“ geben. Das Schreibrecht wird automatisch mitgesetzt.
  • Das Setup von ownCloud über einen Browser aufrufen:
http://IP-ODER-SERVERNAME/owncloud
  • Einen administrativen Benutzer mit Benutzername und Passwort angeben.
  • Auf „Erweitert“ klicken.
  • Dort sollte „SQLite“ bereits ausgewählt sein.
  • Auf „Installation abschließen“ klicken.

Nun kann man sich als Administrator mit den beim Setup angegebenen Daten anmelden und die weitere Konfiguration von ownCloud vornehmen.

9 Kommentare

  • Pingback: Bau dir deine eigene Cloud mit ownCloud | Andy's Blog – Linux, Mac, Windows

  • „Dem Benutzer “IUSR” auf die Ordner “data” und “config” die Berechtigung “Ändern” geben. Das Schreibrecht wird automatisch mitgesetzt.“

    Wo kann ich Berechtigungen ändern?
    Im Kontextmenü wird bei mir kein Benutzer der so heißt aufgelistet.

  • Im Windows-Explorer zu „C:\inetpub\wwwroot“ (und ggf. in den ownCloud-Unterordner) gehen und mit der rechten Maustaste auf „data“/“config“ klicken.
    „Eigenschaften“ auswählen und auf die Registerkarte „Sicherheit“ klicken.
    Wird der Benutzer „IUSR“ bereits eingezeigt, dann Diesem das Recht „Ändern“ geben.
    Wird der Benutzer nicht angezeigt, dann auf „Bearbeiten“ und dann auf „Hinzufügen“ klicken.
    Nun auf „Erweitert“ und dann auf „Jetzt suchen“ klicken.
    Den Benutzer „ISUR“ auswählen und auf „OK“ klicken.

  • Gute Anleitung, ich persönlich habe die Owncloud-Doku dafür verwendet. Aber eine Frage: Mein Owncloud hat eine ziemlich erbärmliche Performance unter IIS (windows2008r2, HP40l, 2*1,5GHZ, 4GB RAM), auch im lokalen Netz. Kann das jemand bestätigen bzw. Abhilfe schaffen?

  • Bestätigen: Ja, indirekt. Abhilfe: Ich weiß zumindest keine, außer IIS nicht zu verwenden.
    Aber schau mal hier rein:

    ownCloud – Installieren und Einrichten auf Windows Server 2008 R2 mit IIS 7.5

  • Hallo,

    vielen Danke für die ausführliche Anleitung. Leider blieb mir jetzt nichts anderes möglich als mich an dich zu wenden.

    Ich bekomme die Cloud unter meinem Windowsserver 2008 mit iis einfach nicht zum laufen. Obwohl ich alle Berechtigungen richtig gesetzt habe, bekomme ich diese Meldung;

    Can’t create data directory ()
    This can usually be fixed by giving the webserver write access to the root directory.

    Egal wie viel ich schon Google und sämtliche Seiten leergelesen habe, es klappt einfach nicht.

    Vielleicht kannst du mir weiterhelfen.

    Danke Chris

  • > Obwohl ich alle Berechtigungen richtig gesetzt habe, bekomme ich diese Meldung;
    > Can’t create data directory ()

    Dann gibt’s da wohl doch noch ein Problem.

    – Sollte in den Klammern nicht der Pfad stehen?
    – Wo hast du denn nun für welche Benutzer welche Berechtigungen gesetzt?
    – Gibt’s ein Log von PHP? (Muss ggf. zuvor aktiviert werden.)

  • Richte den Ordner „data“ von Hand ein, setze NTFS Berechtigungen IUSR auf ändern und probier es noch einmal 😉 Der IUSR User hat ja auf der Root-Ebene keine Rechte, kann demnach auch nicht den data Ordner anlegen. Ich musste übrigens den IUSR auch auf das Apps Verzeichnis berechtigen.

  • Das grösste Problem von Owncloud auf einem Windows Server ist das aktuelle rename-Probleme. Wenn ein Ordner der Daten enthält und Leerzeichen im Namen hat über den Sync-Client umbenannt wird, so wird der Ordner in der DB des Users nicht korrekt umbenannt. Er erscheint im WebGUI dann zweimal.

    Siehe auch https://github.com/owncloud/core/issues/7046

    Hat hierfür schon jemand eine Lösung?

    Axel

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.