As the title states, I've installed the module under 3 system configurations :
- Debian 6 / PHP 5.3 / Virtualmin on a private server
- Ubuntu 10.04 LTS / PHP 5.3 on a development workstation
- Ubuntu 12.04 LTS / PHP 5.4 on a development workstation
Downloadprogress beind installed by PECL, the first step is to install pecl. In both distributions it's included in the php-pear package. So :
sudo apt-get install php-pear
In the two operational configurations, the package was already installed ; as a basic component in the Ubuntu WS and as part of Virtualmin auto-installation on the Debian server.
At this stage, pecl is installed but it will need to compile the downloadprogress module as a step of the installation process. So more resources are needed before pecl can be invoked.
sudo apt-get install php5-dev
Accept the required dependeces and let apt-get do it's job.
Ubuntu 12.04 (LTS):
build-essentialis another required package, otherwise the install will fail:
sudo apt-get install build-essential
Then pecl can be invoked :
sudo pecl install uploadprogress
The module is installed but won't be loaded when php is run. The php ".ini" configuration files has to be properly set. The Debian (and Ubuntu) way to do it clean is to add a module dedicated ini file in the /etc/php5/apache2/conf.d directory (do not touch php.ini file). Use your favorite text editor...
sudo nano /etc/php5/apache2/conf.d/uploadprogress.ini
and insert the following two lines :
; activate and configurate for php uploadprogress module
Apache needs to be restarted in order to take this new configuration file into account :
sudo service apache2 restart
The uploadprogress module should be available for your PHP applications...
Installing dev packages on a WS is very common but it's not appropriate on a server. So, on the Debian Virtualmin powered server :
sudo apt-get remove php5-dev
It works in both environments. On the Ubuntu WS php is running as a apache module with apache user's rights (www-data). On Debian-Webmin php is running as fastcgi with site's user's rights.