Note: You are currently viewing documentation for Moodle 2.3. Up-to-date documentation for the latest stable version is available here: Installing eAccelerator In Ubuntu Server.

Installing eAccelerator In Ubuntu Server

From MoodleDocs
Revision as of 10:12, 10 December 2010 by Dale Davies (talk | contribs) (New page: {{Review}} = Installation Guide for eAccelerator on Ubuntu Server = "eAccelerator is a free open-source PHP accelerator & optimizer. It increases the performance of PHP scripts by cachin...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

This page requires a review. Please do so and remove this template when finished.


Installation Guide for eAccelerator on Ubuntu Server

"eAccelerator is a free open-source PHP accelerator & optimizer. It increases the performance of PHP scripts by caching them in their compiled state, so that the overhead of compiling is almost completely eliminated. It also optimizes scripts to speed up their execution. eAccelerator typically reduces server load and increases the speed of your PHP code by 1-10 times." - eaccelerator.net eAccelerator Homepage


Step-By-Step Command Line Installation

  • Change directory to home/user directory

Make sure you are in your own user directory, to do this use something like the the following...

cd /ur/home/username


  • Download and extract version 0.9.5.3 (this is the version that supports php commands required by Moodle and w3 Total Cache)....
wget http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.tar.bz2
tar xvf eaccelerator-0.9.5.3.tar.bz2
cd eaccelerator-0.9.5.3/


  • Build and install....
sudo phpize

(The following step will work on servers that have a single PHP install. For those with mroe than one version of PHP see notes on http://eaccelerator.net/wiki/InstallFromSource regarding having php in path, export path if required - This could affect the "--with-php-config" line below)

sudo ./configure --with-php-config=/usr/bin/php-config --with-eaccelerator-shared-memory --enable-eaccelerator=shared
sudo make clean
sudo make
sudo make test
sudo make install


  • Check install location....
cd /
cd usr/lib/php5/

... in here you should see a folder named like a date string - eg... "20060613". Remember the folder name, you may need to use this to point to the eaccelerator.so file in the configuration options below.


  • Add configuration options for eAccelerator to php.ini...
cd /
cd etc/php5/apache2
sudo nano php.ini


  • Add the following to end of php.ini file (changing folder name appropriately)...
; eAccelerator configuration
; Note that eAccelerator may also be installed as a PHP extension or as a zend_extension
; If you are using a thread safe build of PHP you must use
; zend_extension_ts instead of zend_extension
;extension                       = "/usr/lib/php5/20060613+lfs/eaccelerator.so"
zend_extension                  = "/usr/lib/php5/20060613/eaccelerator.so"
eaccelerator.shm_size           = "16"
eaccelerator.cache_dir          = "/var/cache/eaccelerator"
eaccelerator.enable             = "1"
eaccelerator.optimizer          = "1"
eaccelerator.check_mtime        = "1"
eaccelerator.debug              = "0"
eaccelerator.filter             = ""
eaccelerator.shm_max            = "0"
eaccelerator.shm_ttl            = "0"
eaccelerator.shm_prune_period   = "0"
eaccelerator.shm_only           = "0"
eaccelerator.compress           = "1"
eaccelerator.compress_level     = "9"
eaccelerator.allowed_admin_path = "/var/www/eaccelerator"


  • Create cache directory....


One last very important step is creating the cache directory that you configured in the previous step. The default value is /tmp/eaccelerator It's easy because it's writable to everyone, but it isn't very smart because on a lot of systems this directory is cleaned on reboot. A better place would be /var/cache/eaccelerator. Create the directory and make sure it's writable for the user eAccelerator runs under (usually the user which you webserver runs as).

A safe bet is making it world writable. A safer and cleaner way would be to change the owner of the directory to the same user PHP runs as (most of the time the same user as Apache or Lighttpd) and set 0644 permissions.

mkdir /tmp/eaccelerator
chmod 0777 /tmp/eaccelerator


  • Restart Apache...
sudo /etc/init.d/apache2 restart


  • Also, see the following web page for more info....

http://eaccelerator.net/wiki/InstallFromSource