OS Specific Installation Notes

From CollectiveAccess Documentation
Jump to: navigation, search


Ubuntu 9.10

The PHP package for Ubuntu 9.10 defaults to a memory limit of 16megs per process, which is usually too low a ceiling for the installer to operate under. What compounds this minor problem is that, for some reason, no error message is issued when the memory limit is hit. The installer is silently and randomly aborted despite the PHP display_errors directive being set to "On." This has caused no end of confusion.

The installer will attempt to set the memory limit to 128megs before starting the actual install. This will only work if you are not running PHP in safe mode or with Suhosin. If the installer cannot up the memory limit on its own then you will get a warning prior to installation advising you to up the memory limit by modifying the php.ini file by hand.

Red Hat Enterprise Linux/CentOS 5

The Perl Compatible Regular Expression (PCRE) library that ships with some (all?) versions Red Hat/CentOS 5 does not include support for the UTF-8 character set. However the Zend Framework Lucene library that CA uses to parse search expressions requires that PCRE support UTF-8. The result is an error every time you attempt to search.

One solution: grab the latest PCRE source code from http://www.pcre.org and build your own version that includes UTF-8 support.

Detailed installation instructions can be found here.

PCLinuxOS 10

Note that the PHP packaged with PCLinuxOS10 has "display_errors" set to Off, which means any errors thrown by CA are not visible. This can be very confusing when trying to debug an installation, so be sure to change it to "On" first thing if you are experiencing problems.

The standard PHP packages shipped with this Linux distribution have two issues when running CA:

  1. The PHP Iconv module, which is required by CA, is not loaded by default. You can fix this by installing the PHP-iconv package using apt-get.
  2. The standard PHP package includes the Suhosin security patches for PHP. Suhosin is a great product, but it introduces some default constraints than can prevent CA from saving information entered into forms. To fix these issues edit the Suhosin configuration file in /etc/php5.d, setting the following directives to these values:
suhosin.post.max_name_length 256
suhosin.request.max_varname_length 256
suhosin.post.max_totalname_length 5012
suhosin.request.max_totalname_length 5012

Note that you can also get CA to work under Sushosin by setting the "suhosin.simulation" directive to "On" This will negate most of the security benefits of having Suhosin installed, however. Note that on some servers (shared hosting) you may not have access to /etc/php5.d. In that case you can make these changes in php.ini for the same result. (You will have to add these values.)


Installation of media handling libraries and delegates such as ffmpeg can be problematic because it is more difficult to build software from source on Windows. See Compiling_ffmpeg for information how to install ffmpeg for Windows.

The format of the /app/conf/External_Applications.conf file is different in Windows installations. For example, the correct format for the entry describing the ghostscript application is

ghostscript_app = E:/prog/gs/gswin32c.exe

in this case, ghostscript is installed on disk E: in the subdirectory prog/gs. The application is the non-windows version of ghostscript.

The app/helpers/mediaPluginHelpers.php file must also be updated to function properly in Windows. The entry for ghostscript must be changed from

exec($ps_path_to_ghostscript." -v 2> /dev/null", $va_output, $vn_return);


exec($ps_path_to_ghostscript." -v 2> /$null", $va_output, $vn_return);

Similarly, all other media helper functions to detect the other processors you have installed for CA to used must be updated to change /dev/null to /$null.

Other places that have /dev/null include

TilePicParser in \app\lib\core\parsers CoreImage.php in \app\lib\core\Plugins\Media ImageMagick.php in \app\lib\core\Plugins\Media PDFWand.php in \app\lib\core\Plugins\Media

references to /dev/null must be changed to /\$null in order for the plugin to work correctly. This is particularly important if you are using ImageMagic. Both ImageMagick.php and TilePicParser.php must be changed for this process to work.

The external_applications line for ImageMagick might be

imagemagick_path = E:/Prog/ImageMagick

depending on where you have installed ImageMagick. Both the static and dynamic versions of ImageMagick seem to work well.

The ImageMagick process is very slow and libGD is preferred for speed, but it requires much more memory. If you are using it locally where you have control over the memory size, up the memory limit entry of php.ini to

memory_limit = 512M

This will allow must photographs to be handled properly without the tilepic function running out of memory.



Personal tools