Owncloud with Apache 2.4, PHP FPM, and Plesk

Posted on Mon 04 April 2016 in Sysadmin

After about two weeks of fiddling around, I finally managed to get my own instance of owncloud up and running with Apache behind Plesk. Here's how I did it:

  1. Set up a sub-domain in Plesk, e.g. owcloud.mydomain.com
  2. Set up a database for owncloud using Plesk.
  3. Make sure to use HTTP strict transport security by adding the following Apache HTTPS directive:

    <IfModule mod_headers.c> Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload" </IfModule>

  4. Create a directory for your owncloud data, e.g. /var/oc_data

  5. Give sufficient permissions to your HTTP user on the data directory:

    chown -R $user1:psacln /var/oc_data/ chmod 750 /var/oc_data

    In my case, user1 is the the name of the Plesk user with which I had created the sub-domain. psacln is the group assigned to this user by Plesk.

  6. Update PHP to version 5.6.x. There is this bug in version 5.5.x which makes owncloud unusable if you don't want to use mod_php (which is discouraged).

  7. Configure PHP in Plesk and Apache as follows:

    • Run PHP as an FPM application
    • Set open_basedir to {WEBSPACEROOT}{/}{:}{TMP}{/}{:}/dev/urandom{:}/var/oc_data{/}
    • Set memory_limit to 256M (or something like that)
    • Set max_execution_time to 120 (or something like that)
    • Set max_input_time to 120 (or something like that)
    • Set post_max_size to 128M (or something like that)
    • Set upload_max_filesize to 64M (or something like that)
  8. Check this owncloud documentation page for potential additional PHP settings when running in FPM mode.

  9. Download the setup-owncloud.php web installer as described here and run it from your browser.
  10. Have fun.