Installing eAccelerator In Ubuntu Server
Note: You are currently viewing documentation for Moodle 2.4. Up-to-date documentation for the latest stable version of Moodle may be available here: Installing eAccelerator In 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 following:
Download and extract file
Download and extract version 0.9.5.3 - later versions dropped support for the PHP commands used by Moodle and other PHP software (the W3 Total Cache Wordpress plugin for example)....
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
To use the following phpize and php-config commands you will need to have the PHP development package installed, in Ubuntu you can install the PHP5 development package using:
sudo apt-get install php5-dev
After checking that this is installed you can continue:
- The following step will only work on servers that have a single PHP install. For those with more than one version of PHP see notes on http://eaccelerator.net/wiki/InstallFromSource.
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
Check the install area by changing directories:
cd / cd usr/lib/php5/
In this directory 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
Change to the PHP config directory and open the php.ini file for editing:
cd / cd etc/php5/apache2 sudo nano php.ini
Add the following to end of php.ini file changing folder names appropriately, do not worry if the cache_dir directory does not exist on your system we will create it next:
; 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
Next we will create the cache directory used in the previous step:
sudo mkdir /var/cache/eaccelerator
This directory must be writeable by the user eAccelerator runs under (usually www-data):
sudo chmod 0777 /var/cache/eaccelerator
For additional security we could change the owner of the directory to the same user eAccelerator runs under and set 0644 permissions:
sudo chown www-data:www-data /var/cache/eaccelerator sudo chmod 0644 /var/cache/eaccelerator
sudo /etc/init.d/apache2 restart
See the following web page for more info....