Prerequisites for Manual Installation on Linux


This document guides you through the prerequisites for a manual ownCloud Server installation on Linux.

The ownCloud tar archive contains all of the required third-party PHP libraries. As a result, no extra ones are strictly necessary. However, ownCloud does require that PHP has a set of extensions installed, enabled and configured.

This section lists both the required and optional PHP extensions. If you need further information about a particular extension, please consult the relevant section of the extensions section of the PHP manual.

If you are using a Linux distribution, it should have packages for all the required extensions. You can check the presence of a module by typing php -m | grep -i <module_name>. If you get a result, the module is present.

Required Prerequisites

openSSL Version

ownCloud requires that you have openSSL version 1.1.x installed. With the release change of openSSL v1.x to openSSL version 3.x in December 2021, some ciphers which were valid in version 1.x, have been retired with immediate effect. This impacts the ownCloud encryption app.

If you plan to:

  • upgrade the openSSL version of your server to v3 or

  • install or upgrade your server where the server upgrade delivers the new openSSL v3 version and

  • you have enabled and use encryption

your encryption environment will break due to openSSL v3 retired (legacy) ciphers. As a result, encrypted files cant be accessed. As a temporary solution, you have to manually reenable in the openSSL v3 config the legacy ciphers. To do so, see the example in the OpenSSL 3.0 Wiki at section 6.2 Providers.

How to implement the fix for the above mentioned issue:

  1. Find the openssl config directory with

    openssl version -d

    Output example:

    OPENSSLDIR: "/usr/lib/ssl"

  2. Go in to that directory and open the config file openssl.cnf

    Look for:

    providers = provider_sect

    and add this line below

    legacy = legacy_sect

    then look for

    # activate = 1

    remove the "#" before "activate" and add the following lines below:

    activate = 1
  3. The file should now look like this:

    openssl_conf = openssl_init
    providers = provider_sect
    default = default_sect
    legacy = legacy_sect
    activate = 1
    activate = 1
  4. Save the file and you have enabled OpenSSL legacy support.

PHP Version

ownCloud can run with following PHP versions: 7.4

PHP 7.4 must be used for all installations. Sites currently using a different PHP version must migrate to PHP 7.4.

Note that PHP 8.x is currently not supported.

PHP Extensions

Name Description


For character type checking


Used for aspects of HTTP user authentication


For operating on XML documents through the DOM API


For creating and manipulating image files in a variety of different image formats, including GIF, PNG, JPEG, WBMP, and XPM

HASH Message Digest Framework

For working with message digests (hash)


For working with the iconv character set conversion facility


Increases language translation performance and fixes sorting of non-ASCII characters


For working with the JSON data-interchange format


This is required for the DOM, libxml, SimpleXML, and XMLWriter extensions to work. It requires that libxml2, version 2.7.0 or higher, is installed

Multibyte String

For working with multibyte character encoding schemes


For symmetric and asymmetric encryption and decryption, PBKDF2, PKCS7, PKCS12, X509 and other crypto operations


This is required for the pdo_msql function to work


For working with PHP Archives (.phar files)


For working with UNIX POSIX functionality


For working with XML files as objects


For generating streams or files of XML data


For reading and writing ZIP compressed archives and the files inside them.


For reading and writing gzip (.gz) compressed files

The Phar, OpenSSL, and cUrl extensions are mandatory if you want to use Make to setup your ownCloud environment, prior to running either the web installation wizard, or the command line installer.

Database Extensions

Name Description


For working with MySQL & MariaDB


For working with PostgreSQL. It requires PostgreSQL 9.0 or above


For working with SQLite. It requires SQLite 3 or above. This is, usually, not recommended for performance reasons

Required For Specific Apps

Name Description


For working with FTP storage


For working with SFTP storage


For IMAP integration


For LDAP integration


For SMB/CIFS integration

SMB/Windows Network Drive mounts require the PHP module smbclient version 0.8.0+. See SMB/CIFS.


Extension Reason


Required for extraction of applications


Highly recommended, as it enhances file analysis performance


Increases file encryption performance


Required for accessing HTTPS resources


Required for creating and modifying images and preview thumbnails

For Specific Apps

Extension Reason


For image rotation in the pictures app


For working with arbitrary-length integers

For Server Performance

For enhanced server performance consider installing one of the following cache extensions:

See Caching Configuration to learn how to select and configure Memcache.

For Preview Generation

For Command Line Processing

Extension Reason


Enables command interruption by pressing ctrl-c

You don’t need the WebDAV module for your Web server (i.e., Apache’s mod_webdav), as ownCloud has a built-in WebDAV server of its own, SabreDAV. If mod_webdav is enabled, you must disable it for ownCloud. See the Apache preparation guide for more details.

For MySQL/MariaDB

The InnoDB storage engine is required, and MyISAM is not supported, see MySQL / MariaDB storage engine for more information.