Below is a step-by-step that works on my 1&1 (1and1) Cloud VPS Server (CentOS 5.x/Plesk 10.x) machine out of the box without jacking up your Plesk install. I execute these commands using Putty and logged in as "root".

STEP 1) Install the dependencies:

> yum install php-devel
> yum install php-pear
> yum install nano gcc gcc-c++ autoconf make automake

STEP 2) Download and unzip the files (you'll remove them later so the location is not relevant):

> mkdir uploadprogress
> cd uploadprogress
> wget http://pecl.php.net/get/uploadprogress-1.0.1.tgz
> tar zxvf uploadprogress-1.0.1.tgz
> cd uploadprogress-1.0.1

STEP 3) Compile the module:

> phpize
> ./configure
> make
> make install
> mv /usr/lib/php/modules/uploadprogress.so /usr/lib64/php/modules/uploadprogress.so
*Note: The last command above moves the uploadprogress.so file to where Plesk wants to see it. 

STEP 4) Create uploadprogress.ini and enable the UploadProgress module:

> echo "extension=uploadprogress.so" > /etc/php.d/uploadprogress.ini
> service httpd restart
*Note: If you don't restart, your status page will still show uploadprogress as not enabled.

OPTIONAL) Cleanup Files
I like to clean things up so I also do the following to need to navigate up a directory and remove the no-longer-needed files.

> cd ../
> rm -rf uploadprogress-1.0.1/

I spent more time than I want to admit trying to get PECL_Upload working on my 1&1 Cloud VPS Server (CentOS/Plesk) using instructions on drupal.org and elsewhere. All of the pieces were there, but none took into account the fact that many of the dependencies needed to follow these directions were not installed on my 1&1 Cloud VPS Server (CentOS/Plesk) by default (i.e. php-devel, php-pear, gcc, make).

UPDATE: 22 April 2011 10:48 GMT -6
If you get an error when running Drush commands, and the error message is similar to:

PHP Warning: PHP Startup uploadprogress: Unable to initialize module Module compiled with module API=20060613 PHP compiled with module API=20090626

This is related to PECL extensions having been compiled with the PHP 5.2 tool rather than the PHP 5.3 version. This started happening after I upgraded my server's PHP to 5.3. Basically, I just redid the steps above, restarted apache, and boom -- problem gone.

Comments

philrees’s picture

Many thanks for posting this. It will have saved me quite a bit of time.

There is a small and obvious error. The last line in STEP 2) should be simply:
> cd uploadprogress-1.0.1

defconjuan’s picture

That's great news. I was hoping it would save others from having to go through what I went through. If this helps anyone else, I'd love to hear about it.

The following link will probably also save you lots of hours of permissions headache:

http://groups.drupal.org/node/135269#comment-473909

There are a few scripts for resettings the permissions on a local Drupal box (I use QuickStart) and Plesk/CentOS (1and1 Cloud VPS).

tarstar2’s picture

mistaken post... my apologizes

Sam Moore’s picture

Just wanted to say thanks very much for this, and it works on fc12.
But you won't need
mv /usr/lib/php/modules/uploadprogress.so /usr/lib64/php/modules/uploadprogress.so
That's the only change.
Cheers

fidelissimo’s picture

Just wanted to thank for this post, works perfectly well.
What a timesaver, love u.

1&1 Vserver, CentOS6 w/ Plesk 12, D7.

neonigma’s picture

Working with CentOS 6 using the last uploadprogress, thanks!
http://pecl.php.net/get/uploadprogress-1.0.3.1.tgz