As the developers of Open Journal Systems, Open Conference Systems, Open Harvester Systems, and Open Monograph Press, the PKP team are experts in helping journal managers and conference organizers make the most of their online publishing projects. PKP Publishing Services offers support for:

As a customer of PKP Publishing Services, you will not only receive direct, personalized support from the PKP Development Team, but will be contributing to the ongoing development of the PKP applications. All funds raised by PKP Publishing Services go directly toward enhancing our free, open source software. For more information, please contact us.

1. Search the forum. You can do this from the Advanced Search Page or from our Google Custom Search, which will search the entire PKP site. If you are encountering an error, we especially recommend searching the forum for said error.

2. Check the FAQ to see if your question or error has already been resolved.

3. Post a question, but please, only after trying the above two solutions. If it's a workflow or usability question you should probably post to the OJS Editorial Support and Discussion subforum; if you have a development question, try the OJS Development subforum.

Hi! I ran nginx on my linode and I was trying to make OJS work here. After reading the minimum reqs I thought it could work (well, it says nginx isn't supported; but hey, even wordpress says doesn't run with nginx).

After downloading it when I try to access the url ojs.example.com I found that I get an empty white page and something that looks like some infinite loop this webpage (it keeps like "reloading it"):

That "index.php" in the middle of the uri looks weird, but on my wordpress websites pretty urls and query urls works fine (I mention this because I recall having a similar issue a year ago, but i resolved it).

Afaik or what I understood from the user guide, to see the install screen it's not needed to touch the config.inc.php, so it's "as it came".

White pages can be caused by a lot of different things. Right out of the box, they are usually permission errors on the cache/ directory. You do need to have a copy of config.inc.php present, but it does not need to be writeable or modified for the initial page load.

Are you seeing any errors in the Nginx log file? The 'index.php' in the URL is fine, and is how OJS URLs are supposed to look.

If I call an specific php file, let's say info.php, it's loaded without issues, so php is working too.

The weird thing, is as soon as I enter the urls ojs.example.com there's some redirection to ojs.example.com/index.php/index/install and enters an infinite loop. It looks like I'm pressing the reload button all the time.

I think you're hitting the same reason why Wordpress doesn't work with Nnginx -- there are PHP variables that are not being set correctly by nginx when run from what amounts to a command line mode. OJS is looping because it's not seeing what it needs and redirecting to find it. If memory serves, FastCGI does not populate the _SERVER array with path information. You could probably dig through some of the OJS code and see if you can get it working with $_ENV["ORIG_PATH_INFO"] instead.

JasonNugent wrote:I think you're hitting the same reason why Wordpress doesn't work with Nnginx -- there are PHP variables that are not being set correctly by nginx when run from what amounts to a command line mode. OJS is looping because it's not seeing what it needs and redirecting to find it. If memory serves, FastCGI does not populate the _SERVER array with path information. You could probably dig through some of the OJS code and see if you can get it working with $_ENV["ORIG_PATH_INFO"] instead.

No, most of those _SERVER variables are probably fine. If turning off path_info in config.inc.php solved the problem, you're probably good for the time being. This problem also exists in lighttpd (and probably anything that does PHP as a CLI).

pablox wrote:I'm still curious though... making compatible with nginx is something that the development team is planning to do?

It works now. The problem is that Nginx essentially runs PHP via command line, which means that the environment is different. It will work just fine with the path_info directive. If you want pretty URLs, you can probably get those pretty easily with some investigation on your part. We'd love to support every OS/System configuration but we have limited developer resources and have to prioritize accordingly.