ownCloud / PHP-FPM problem after upgrade to 2.4.26

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

I've got a problem after upgrading to 2.4.26. Everything works fine except my ownCloud instance.
I compile httpd by myself and used the exact same method for 2.4.26 as I used for 2.4.25, where everything worked as expected. I noticed, that in the current apr-util, theres no expat bundled anymore and manually compiled it and expanded my configure to "--with-expat=...". Thats the only difference to my working 2.4.25 compilation.

Now the problem:

ownCloud uses ocs as API to do different things. One is maintaining the folder shares. And they aren't working anymore with 2.4.26 (in detail, you can't search for groups, created public links are gone after reload and you can't edit any existing share). I investigated some things on my own already and found the following out:

I used the URL from logfiles (which get a 200 - OK as a response) to investigate which URL is called when searching for a group at share tab. Its this one:

/ocs/v1.php/apps/files_sharing/api/v1/sharees?format=json&search=Fa&perPage=200&itemType=folder

I search for "Fa" as one of my groups is called "Familie".
If I directly open this in my Browser tab with version 2.4.25 (or mod_php), I get the following response:

ocs
meta
status "ok"
statuscode 100
message "OK"
totalitems ""
itemsperpage ""
data
exact
users
groups
remotes
users
groups
0
label "Familie"
value
shareType 1
shareWith "Familie"
remotes

Now I only change the version from 2.4.25 to 2.4.26 and just reload the exact same page. I still get a 200 return code in Apache logfiles, but I get a different response in browser:

ocs
meta
status "failure"
statuscode 999
message "Invalid query, please check the syntax. API specifications are here: http://www.freedesktop.org/wiki/Specifications/open-collaboration-services. DEBUG OUTPUT:\n"
data

So now I can't get why this isn't working. Everything else is the same as before, just the current Apache release is the difference to working and non-working.

In addition: All Logfiles are empty. No error in Apache Errorlog, nothing in php-fpm Errorlog, nothing in owncloud.log (even with 'debug' => true in config.php).

As you can see, I'm using php-fpm (currently 7.1.6, also self-compiled). I already posted an issue on ownCloud forums, and someone there asked, if I have the same problem, if switching to mod_php instead of php-fpm. So I testet that and it's strange, but now working. Everything works as expected if using mod_php, but not with php-fpm.

There must be some change in Apache which doesn't work as before. I tested everything else, used 2.4.25 with 7.1.6, 2.4.26 with 5.6.30, etc. The only working combinations are

    - httpd 2.4.25 with anything (php 5.6.30, 7.1.6 mod_php or php-fpm)
    - httpd 2.4.26 with mod_php (5.6.30 and 7.1.6)

As you can suggest I don't want to use mod_php over php-fpm for obvious reasons.

So any help would be appreciated to solve this problem.

To complete my request, heres my vhost configuration for my owncloud instance:

    <VirtualHost *:443>
        SSLEngine On
        SSLProtocol all -SSLv2 -SSLv3
        SSLCertificateFile "/opt/instances/apache/conf/certs/owncloud/server.crt"
        SSLCertificateKeyFile "/opt/instances/apache/conf/certs/owncloud/server.key"
        SSLCertificateChainFile "/opt/instances/apache/conf/certs/owncloud/chain.crt"
        # Add HSTS header
        Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains;"
        # Block TRACE/TRACK XSS vector
        RewriteEngine On
        RewriteCond %{REQUEST_METHOD} ^TRAC(E|K)
        RewriteRule .* - [F]
        #
        ServerAdmin mail@xxxxxxxxxx
        DocumentRoot /opt/websites/cloud
        <Directory "/opt/websites/cloud/data">
           Require all denied
        </Directory>
        # mod_xsendfile
        SetEnv MOD_X_SENDFILE_ENABLED 1
        XSendFile On
        ServerName cloud.domain.de
        ErrorLog "|/opt/products/apache/current/bin/rotatelogs -l -L /opt/instances/apache/logs/cloud/error.log -f -c /opt/instances/apache/logs/cloud/error.log-%Y-%m-%d 100M"
        CustomLog "|/opt/products/apache/current/bin/rotatelogs -l -L /opt/instances/apache/logs/cloud/access.log -f -c /opt/instances/apache/logs/cloud/access.log-%Y-%m-%d 100M" extended
        # FPM forwarding
        SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
        <FilesMatch "\.php$">
          SetHandler "proxy:fcgi://127.0.0.1:9000"
        </FilesMatch>
    </VirtualHost>


Finally my used versions:
- Apache httpd 2.4.26
- PHP 7.1.6
- OpenSSL 1.0.2l
- Expat 2.2.1
- apr 1.6.2
- apr-util 1.6.0
- nghttp2 1.23.1
- PCRE 8.40
- mod_xsendfile 0.12
- curl 7.54.1 (for PHP)

Used configure:
./configure \
        --prefix=/opt/products/apache/${apache_version} \
        --enable-so \
        --enable-mpms-shared=all \
        --enable-modules=all \
        --enable-static-support \
        --enable-ssl-staticlib-deps \
        --with-ssl=/opt/products/deps/openssl/current \
        --with-included-apr \
        --enable-nonportable-atomics=yes \
        --enable-threads \
        --with-crypto \
        --with-openssl=/opt/products/deps/openssl/current \
        --with-pcre=/opt/products/deps/pcre/current \
        --with-nghttp2=/opt/products/deps/nghttp2/current \
        --with-expat=/opt/products/deps/expat/current

(I'm not sure if I need every single line here, some are ported from my previous 2.2 builds)

Any suggestions on this?

Thanks in advance and with regards,


[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux