Roundcube Community Forum

 

Im confused from updating from 1.7 to fresh 1.7

Started by Dmitry42, October 20, 2025, 08:37:53 AM

Previous topic - Next topic

Dmitry42

I vas used 1.7 git version for 1-2 years. Now I want update to current 1.7 git or 1.7 beta 2.
And I have problem with interface.

At this moment i try drop Roundcube database,  i try delete RC web-site folder and use full new files from RC 1.7beta2 archive. I update all with composer.

Only one what I use old - its config file, but in config file I switch off all plugins and set elastic as default skin.

I use nginx, and I pass test from installer.php.

Can't understand what I can do to repair interface.

I need your help, please!

Dmitry42

and one new difference between my old RC 1.7 and current new - its using /public_html - but I update nginx config file :

server {
    listen 443 ssl http2;
    server_name localhost;
    root /var/www/html/webmail/public_html;
    index index.php;

May be nginx can't get access upper than public_html ....?

SKaero

What errors do you have in the browser console? It looks like your not getting the static assets, in 1.7 they are all served from the static.php file so I'm guessing there is a problem with the nginx config accessing that file.

dea75

OK, I've exactly the same problem...

Nginx on Debian 12.

No warning or error in logs...

SKaero

The errors would be in the browser console not the Roundcube error logs.

alec

I have something like this in the nginx config:
location ~ \.php(/.+)?$ {
    #rewrite "^/[a-zA-Z0-9]{16}/(.*)$" /$1;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_index  index.php;
    include        fastcgi_params;
    fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
    fastcgi_param  PATH_INFO $fastcgi_path_info;
    fastcgi_pass   php-fpm;
}

Dmitry42

#6
Hi! Thank you for answer! Im little late -have problem with internet access.

Yes I sow in nginx logs that new RC use static.php for work, so I think too its can be problem with nginx config.

Here is part of my nginx config:
server {
    listen 443 ssl http2;
    server_name 10.1.1.2;
    root /var/www/html/webmail/public_html;
    index index.php;
 
    location ~ \.php(?:$|/) {
        try_files $uri = 404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param HTTPS on;
        fastcgi_param modHeadersAvailable true;
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;
        fastcgi_intercept_errors on;
        fastcgi_buffers 4 256k;
        fastcgi_busy_buffers_size 256k;
fastcgi_read_timeout 180s;
    }

Unfortunately I have not experience and knowledge to understanding have this config critical errors or not. As I can see, basically it looks like Alec sample.

Dmitry42

#7
Quote from: SKaero on October 20, 2025, 02:55:24 PMThe errors would be in the browser console not the Roundcube error logs.

I check it and come back with answers. Thank you for your help.

Dmitry42

So im come back. I check browser console and yes - problem with access to files.


bootstrap.min.css:1
 Failed to load resource: the server responded with a status of 404 ()
styles.min.css:1
 Failed to load resource: the server responded with a status of 404 ()
elastic.css:1
 Failed to load resource: the server responded with a status of 404 ()
styles.css:1
 Failed to load resource: the server responded with a status of 404 ()
styles.css:1
 Failed to load resource: the server responded with a status of 404 ()
elastic.css:1
 Failed to load resource: the server responded with a status of 404 ()
jquery-ui.min.css:1
 Failed to load resource: the server responded with a status of 404 ()
custom.php:1
 Failed to load resource: the server responded with a status of 404 ()
scripts.min.js:1
 Failed to load resource: the server responded with a status of 404 ()
jquery.min.js:1
 Failed to load resource: the server responded with a status of 404 ()
common.js:1
 Failed to load resource: the server responded with a status of 404 ()
js.cookie.js:1
 Failed to load resource: the server responded with a status of 404 ()
app.js:1
 Failed to load resource: the server responded with a status of 404 ()
xskin.min.js:1
 Failed to load resource: the server responded with a status of 404 ()
framework.min.js:1
 Failed to load resource: the server responded with a status of 404 ()
howler.min.js:1
 Failed to load resource: the server responded with a status of 404 ()
jquery-ui.min.js:1
 Failed to load resource: the server responded with a status of 404 ()
alarm.min.js:1
 Failed to load resource: the server responded with a status of 404 ()
datepicker-en-GB.js:1
 Failed to load resource: the server responded with a status of 404 ()
bootstrap.bundle.min.js:1
 Failed to load resource: the server responded with a status of 404 ()
ui.min.js:1
 Failed to load resource: the server responded with a status of 404 ()
(index):44 Uncaught ReferenceError: rcube_webmail is not defined
    at (index):44:14
(index):92 Uncaught ReferenceError: $ is not defined
    at (index):92:1
/static.php/skins/el....ico?s=1760867757:1
 Failed to load resource: the server responded with a status of 404 ()

I can't understand how static.php must use files from folder upper than nginx root.

Can you show your nginx SERVER section ? How you config root folder ?

SKaero

I wonder if your $_SERVER['PATH_INFO'] value is invalid or empty. If you create a php file with the following what does it output?
<?php
echo $_SERVER['PATH_INFO'];

Dmitry42

Quote from: SKaero on October 26, 2025, 09:45:53 PMI wonder if your $_SERVER['PATH_INFO'] value is invalid or empty. If you create a php file with the following what does it output?
<?php
echo $_SERVER['PATH_INFO'];

I think you are right. Your php script output plank page - nothing. So I will search and read about setup this variable. Thank you!

I'l back later with any news.

Dmitry42

Im come back. I find that :

QuoteThe try_files directive changes URI of a request to the one matched on the file system, and subsequent attempt to split the URI into $fastcgi_script_name and $fastcgi_path_info results in empty path info - as there is no path info in the URI after try_files.

So the my solution was backup $fastcgi_path_info and restore after try_files.

    location ~ \.php(?:$|/) {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
       
        set $backup  $fastcgi_path_info;
        try_files $uri = 404;
        fastcgi_param PATH_INFO $backup;


THANK YOU!!!

Dmitry42

But it was not the end ))))

Still have problem with "try_files" and now its problem with new mail composer - can't  switch to HTML editor and with one of calendar plugins:
Quote2025/10/27 23:47:54 [error] 230452#230452: *240 open() "/var/www/html/webmail/public_html404" failed (2: No such file or directory), client: 192.168.6.210, server: mail, request: "GET /static.php/program/js/publickey.js?s=1761116479 HTTP/2.0", host: "10.1.1.1", referrer: "https://10.1.1.1/?_task=mail&_action=compose&_id=6815834868ffa239d049f"

I remove "try_files" from config and all working fine. So i will search solution to check user request with try_files and not broke my RC publication.


Im back later with solution