Gearman, PHP and mod_gearman_status on Ubuntu· 2 minute read
Installing Gearman is pretty easy as there are packages for it in Ubuntu:
sudo apt-get install gearman libgearman-dev
The development headers (libgearman-dev) are only required if you need to compile a library for your programming language such as a PHP extension. To install the PHP module you would run:
sudo pecl install channel://pecl.php.net/gearman-0.7.0
If you have trouble with the above step then it is probably because you are running an older version of Ubuntu. In this case take a look at my previous post Getting gearman to install on Ubuntu.
Moving onto mod_gearman_status, which is an Apache module to show the status of Jobs and their associated workers. It looks like the following:
Firstly lets ensure that the system has the build-essentials package installed:
sudo apt-get install build-essentials
We now need to install the Apache2 development headers, which assuming you installed the standard Ubuntu Apache2 package will be the prefork edition. If you don’t understand this then don’t worry you can just continue below.
sudo apt-get install apache2-prefork-dev
Now download modules C file and run the following command to build it and install it as an Apache module:
sudo apxs2 -c -i mod_gearman_status.c
Apache now needs to be told how to load the module and what configuration settings to use. In /etc/apache2/mods-available you need to create two files.
LoadModule gearman_status_module /usr/lib/apache2/modules/mod_gearman_status.so
<IfModule mod_gearman_status.c> <Location /gearman-status> SetHandler gearman_status </Location> </IfModule>
Enable the module with the following command:
sudo a2enmod gearman_status
Restart Apache to load the module:
sudo service apache2 restart
Now in your browser you can visit http://example.org/gearman-status where example.org is your servers address.