[Solved] Cannot access tt-rss but no errors in logs



Describe the problem you’re having:

I’ve installed the latest tt-rss version on a dedicated server and configure my webserver (nginx) accordingly:

 server {
     server_name ttrss.domain.tld;
     root        /home/user/srv/ttrss;

     location / {
         index   index.php;

     location ~ \.php {
         try_files       $uri    =404;
         fastcgi_index   index.php;
         fastcgi_pass    unix:/run/php/php7.0-fpm.sock;
         include         fastcgi_params;

     error_log /var/log/nginx/ttrss_error.log;
     access_log /var/log/nginx/ttrss_access.log;

When I try to browse to http://ttrss.domain.tld/install/index.php there’s no error (HTTP 200) but my browser doesn’t receive any content. There are no errors in the error log I’ve configured with Nginx nor in the php-fpm error log (the one in /var/log/php7.0-fpm.log).

Am I missing something here? Where should I look for hints about what’s going wrong?

tt-rss version (including git commit id): 04ad631a08e33c30ba506ed07e93f1815434018d

Platform (i.e. Linux distro, PHP, PostgreSQL, etc) versions:

  • Debian 9
  • PHP 7 (7.0.30-0+deb9u1)
  • PostgreSQL 9.6 (9.6+181+deb9u2)
  • Nginx 1.10 (1.10.3-1+deb9u1)


Try this:


@JustAMacUser: thanks for the idea.

Unfortunately I can’t even reach the login page and there’s no existing config.php file since I haven’t been through the setup process yet (the one I’m trying to start through /install/index.php).

Should I copy the config.php-dist as config.php and change the LOG_DESTINATION directive?


Make sure you haven’t accidentally modified the core files. You can run git status inside the TT-RSS directory and it should let you know if there are modified files. Make sure files are readable by the web server and PHP interpreter (644 for files, 755 for directories should work). Make sure the PHP interpreter has write permissions to the TT-RSS root directory (including the cache, feed-icons, and lock directories).

Try copying config.php-dist to config.php. Then updating the settings in config.php as best you can (including that LOG_DESTINATION constant).


Everything is clean according to git status.

Files/folders permissions are correct too.

Files/folders are owned by www-data and as far as I know PHP runs as this user (and this is what’s configured in /etc/php/7.0/fpm/pool.d/www.conf).

Done, but I can’t still access any page (HTTP 200 but not content in the response and no errors in logs).



I don’t have a solution, but I am happily running ttrss on identical software stack.

Did you check if you can run other php scripts? For reference this is my relevant nginx conf section:

    location /rss {
            root /usr/share/nginx/www;
            try_files $uri $uri/ =404;
            access_log off;
    location ~ \.php$ {
            root /usr/share/nginx/www;
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/run/php/php7.0-fpm.sock;


So @pafnucy gave me an idea as well…

Make sure your Nginx conf is actually pointing its root to the correct directory.

You should make two files in the root:


With the content <h1>Hello world</h1>.



With the content <?php phpinfo(); ?>

Attempt to access both (http://yourdomain.tls/test.html and http://yourdomain.tls/test.php). What are the results?

Keep in mind that at this point we’re troubleshooting your stack and not TT-RSS, so you may have to venture to another forum or support site for assistance.


Including snippets/fastcgi-php.conf in Nginx configuration solved the problem (although I have another PHP web application on the same server that runs happily without it).

Thanks because it was driving me crazy!


you might want to read up on how nginx location matching works, it might be a bit confusing especially if you started with apache

btw i think your particular problem is right there in “common mistakes” chapter of nginx documentation