WebApp improvement suggestion for users running php-fpm instead of Apache internal mod_php

Hello devs,

Kopano-WebApp by default is shipped with following .htaccess file on its root.

/usr/share/kopano-webapp/.htaccess"

# some apache settings
Options -Indexes

# The maximum POST limit. To upload large files, this value must be larger than upload_max_filesize.
php_value post_max_size 31M
php_value upload_max_filesize 30M

# Deny access to config.php, config.php.dist, debug.php, debug.php.dist, defaults.php
# because they could become a security vulnerability when accessible
# Better safe then sorry
<FilesMatch "^(config|debug|defaults|init)\.php">
        <IfVersion < 2.4>
                    Deny from all
        </IfVersion>

        <IfVersion >= 2.4>
                   <RequireAll>
                       Require all denied
                   </RequireAll>
        </IfVersion>
</FilesMatch>

Anyone who is using php-fpm instead of Apaches mod_php will get into trouble, because you cannot access Kopano-WebApp. The error produced in the log clearly states, that the lines “php_value” are unknown to php-fpm and cannot be processed. Thus you get an error page with Internal Server Error when trying to access Kopano-Webapp through your browser.

That’s nothing new and certainly known to most of us. You have to remove (or disable by commenting) all php_value lines from that .htaccess file and put them into the php-fpm configuration so they can correctly be processed by php-fpm. I am using separate php-configuration for my Apache2 web server running which are defined under /etc/php5/fpm/pool.d For the sake of completeness, the corresponding configuration file for php-fpm is:

/etc/php5/fpm/pool.d/kopano-webapp.conf

[...]
php_value[post_max_size] = 31M
php_value[upload_max_filesize] = 30M
[...]

I have following simple suggestion to the developers, maybe they can look into it and implement it in future version?

In /usr/share/kopano-webapp/.htaccess change the corresponding lines:

# The maximum POST limit. To upload large files, this value must be larger than upload_max_filesize.
php_value post_max_size 31M
php_value upload_max_filesize 30M

to:

<IfModule mod_php5.c>
   # php-fpm users should consider putting these settings into their appropriate php-fpm configuration
   php_value post_max_size 31M
   php_value upload_max_filesize 30M
</IfModule>

<IfModule mod_php7.c>
   # php-fpm users should consider putting these settings into their appropriate php-fpm configuration
   php_value post_max_size 31M
   php_value upload_max_filesize 30M
</IfModule>

As result, these php definitions will only be effective in Apache in case the internal php module is in use (either version 5 or even the latest version 7).

Why I am suggesting this? Because just some minutes ago I stumbled again over this. I upgraded Kopano-WebApp to the latest version and after the upgrade the webpage Kopano-WebApp was not accessible any more with “Internal Server Error”. The default .htaccess settings did overwrite my old .htaccess file, where I had removed those two lines.

HTH

Kind regards
micro

yes, that’s it