Home > IIS > Owncloud


Of recent I’ve been looking at secure cloud storage, where there is end to end encryption of the file and sys admins have no way of viewing the file.


This brought me to Owncloud which as of writing is at 6RC2.


Unfortunately installing Owncloud on a Windows Server IS a pain so I’m detailing the steps here for others that want to follow.


For clarity, the OS that I’m using is Windows Server 2012R2, for the older OS, I believe the only major thing would be the mime type mapping


While the Owncloud installation guide at http://doc.owncloud.org/server/5.0/admin_manual/installation/installation_windows.html is relatively decent, it also doesn’t seem to address all the possible issues that occur, so the steps that follow detail EXACTLY what you need to do to get Owncloud to work properly on a windows box


  1. Install Windows Server 2012R2 Standard out of the box
  2. Follow the features that are installed for Web Server
    -You need ODBC logging as SMTP uses ODBC to log
    -No need for ASP.NET installation, Owncloud DOES not need ASP.NET

    image image
    image image
  3. Install IIS Management Tools
  4. Install SMTP Server
  5. Run services.msc and set “Simple Mail Transfer Protocol” Startup type to Automatic.
  6. Start the SMTP Service
  7. Restrict access to the SMTP Service
  8. Disable public access to the SMTP Service from windows firewall
  9. Run IIS Manager and it will prompt if you want to install WebPI, click Yes to install it
  10. Once Web PI is installed, run it and choose and install PHP
  11. Now goto http://dev.mysql.com/downloads/ and download the latest community build of MySQL. Run the installation leaving everything to default if you are lazy
  12. Just to play safe, goto Windows Firewall again and ensure that there is no public access to MySQL
  13. Now go and edit C:\Program Files (x86)\PHP\v5.5\php.ini
  14. Change/add the following values inside php.ini
    max_execution_time = 400
    memory_limit = 1G ;1G of memory usage for php
    upload_max_filesize = 1G ;up to 1GB file can be uploaded
  15. Add in the OpenSSL Config
    Found at C:\Program Files (x86)\PHP\v5.5\extras\ssl\openssl.cnf
  16. Ensure that you give the proper security permissions for PHP and the Temp Folders
  17. Download Owncloud and unzip it to a folder of your choice
  18. Configure the default apppool to not run any managed code
  19. Goto the Default Website and then set the following
  20. Request Filtering > Http verbs, should be empty
  21. Click on edit feature setting and change Maximum allowed content length to 4187593113
  22. Goto handler mappings and allow all verbs for php via fast cgi
  23. If you get the following prompt, just enclose the executable in quotation
  24. Now map the Default Website directory to the owncloud folder
  25. Open localhost to test and follow the prompts to setup Owncloud

Good luck!

Categories: IIS
  1. December 7, 2013 at 7:46 am

    Hmm, I could be wrong, but I don’t think that ownCloud really provides true end-to-end encryption. According to the manual, the data is encrypted on the server, not on the client. If you’re looking for a true en-to-end encrypted file syncronization tool that’s much less complicated to install, I suggest taking a look at TeamDrive – http://teamdrive.com/

    • December 7, 2013 at 7:57 am

      Lenz, you are right, there cannot be true end to end encryption unless there is some form of client installed on the source machine to encrypt the file before transmission.

      That said. if i’m using HTTPS as the transport protocol and i enable encryption on the server side, i have a fairly decent end to end encryption where the transmission medium is secured and the backend encrypts the file

      Cost vs benefit in the end, owncloud is free, everything else costs $

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: