General Requirements for all OS

Specific Requirements for Debian 8 Jessie

In addition to the general requirements for all OS above, here are the specific requirements for Debian 8 Jessie with PHP 5:

  • Debian Jessie 8.x
  • Root access to your server. Usually VPS or dedicated servers comes with Root access. It will NOT work on share hosting without Root access. If unsure ask your host.
  • Drupal 7.x or 8.x
  • PHP 5.5.9 or more recent
  • Apache 2.2 or more recent

Steps

  1. Using Terminal. SSH as Root on the server. Run the following commands.
    • apt-get install make php5-dev php-pear
      • Notes
        • This command install the required packages;
        • "pecl" is contained in the package php-pear and needs php5-dev.
    • IF you had installed it previously, e.g. while using an earlier version of PHP, such as came with Debian Wheezy then run:
      • pecl uninstall uploadprogress
      • Without this step, pecl will think it's already installed because you'll be downloading the same version as before (it's not been updated for years), however that will have been compiled against the old php.
    • pecl install uploadprogress
      • Note: This command install PECL uploadprogress and its library
      • echo -e "extension=uploadprogress.so" > /etc/php5/mods-available/uploadprogress.ini
      • php5enmod uploadprogress
      • Notes
        • The "echo -e" command line adds "extension=uploadprogress.so" in php's "mods-available" folder;
        • The "php5enmod" command line adds "extension=uploadprogress.so" in php's "conf.d" folder. Enabling the "uploadprogress" extension;
        • This is the official Debian 8 and more stable way to do this. Similar to the way enabling apache modules and virtual hosts, instead of editing "php.ini".
  2. apt-get remove php5-dev
  3. apt-get autoremove
    • Notes
      • Those two commands remove "php5-dev" and other packages, which are no longer needed on a Production server
  4. /etc/init.d/apache2 reload
    or
    service apache2 restart
    • Note: Use only one of those commands to restart Apache in order to take this new configuration file into account
  5. Refresh the Drupal "Status report page" at "/admin/reports/status". Search for "Upload progress" row. If successful on the right side column it reads "Enabled (PECL uploadprogress)". Enjoy.

Thanks to blekc, fairisle, faqbay, philippklaus for their contributions :)

F.A.Q.

  • I see 'starting upload' but no progress?
    If you have https enabled then you'll see 'starting upload' but no progress. Read more.
  • Will this documentation work with PHP 7?
    Please find this issue