Potential issues with RedHat installation

From PKP Wiki
Revision as of 01:41, 26 June 2014 by Ronan (Talk | contribs) (Security)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Since RedHat and CentOS have somewhat different policies regarding packages and security, you may run into some issues when installing OJS that are not covered by the default OJS installation guide.


The default RedHat php installation does not include all the modules you will need for OJS. This may cause some strange errors, such as a white screen when accessing OJS via the browser. At very minimum you will need the php-mysql module which allows connections to your database and the php-xml package if you will be using the Lucene plugin. Note that this is not definitive, you may find that you need other packages depending on your plugin needs. In such case, please update the list here.

yum install php mysql php-mysql php-xml


If your RedHat / CentOS version has SELinux enabled, you may run into some issues not mentioned in other OJS documentation. These issues are well documented elsewhere on the Internet, but it's worth mentioning them from an OJS perspective.


If you attempt to change your httpd DocumentRoot to something non-default (e.g. /var/www/ojs) httpd will refuse to start. This can be worked around by deleting the default DocumentRoot and recreating it as a symbolic link to your OJS installation (this approach is quite useful when writing automatic upgrade scripts, as you only simple change a symbolic link when your upgrade is installed, thus preventing downtime).

rm -r /var/www/html
ln -s /var/www/ojs /var/www/html

You can also alter SELinux settings to your new DocumentRoot. There is a guide for this here.

Solr problems

If you are using the Solr plugin, you may also find that OJS cannot connect to the search service, even though it is running. In this case, the problem is that SELinux will not allow applications being served by httpd to connect to the network, i.e. cURL. You can allow this through the following command:

setsebool -P httpd_can_network_connect 1