Difference between revisions of "Roundcube"

from HTYP, the free directory anyone can edit if they can prove to me that they're not a spambot
Jump to navigation Jump to search
Line 29: Line 29:
 
* <code>program</code> &rarr; <code>/usr/share/roundcube/program</code>
 
* <code>program</code> &rarr; <code>/usr/share/roundcube/program</code>
 
* <code>SQL</code> &rarr; <code>/usr/share/roundcube/SQL</code>
 
* <code>SQL</code> &rarr; <code>/usr/share/roundcube/SQL</code>
 +
It also contains a few web-app-related things:
 +
* <code>public_html</code>: the web server should point at this folder
 +
* <code>skins</code> &larr; <code>public_html/skins</code>
 +
* <code>plugins</code> &larr; <code>public_html/plugins</code>
 
|}
 
|}
 +
When installed this way, however, RC is ''not'' configured to play nicely with a virtual domain. It seems to expect to run as <code>www-data</code>. Tentatively, the remedy is just to change ownership of everything it touches (including log folders), but I'm still working on this. &mdash;''[[User:Woozle|Woozle]] ([[User talk:Woozle|talk]]) 15:02, 17 February 2025 (UTC)''
 
==Tech Notes==
 
==Tech Notes==
 
The MariaDB/MySQL password must not contain the <code>&amp;</code> character, because the DSN parser treats it as syntactically significant. There does not seem to be any way of escaping it, either. The critical piece of code is in <code>/usr/share/roundcube/program/lib/Roundcube/rcube_db.php</code>, line 1336:
 
The MariaDB/MySQL password must not contain the <code>&amp;</code> character, because the DSN parser treats it as syntactically significant. There does not seem to be any way of escaping it, either. The critical piece of code is in <code>/usr/share/roundcube/program/lib/Roundcube/rcube_db.php</code>, line 1336:

Revision as of 15:02, 17 February 2025

About

Roundcube (RC) is a webmail client that runs under the LAMP stack.

Files

When installed via apt, this is where Roundcube's files end up:

path description
/etc/roundcube global configuration stuff:
  • defaults.inc.php: must be present; should not be edited
  • config.inc.php: must be present, and should be edited to contain local settings
  • main.inc.php:
    • old name for config.inc.php
    • RC will load this if config.inc.php is not found
    • should not be present in new installations
  • debian-db.php: database credentials for RC installs in Debian-based systems
/usr/share/roundcube application code
/var/lib/roundcube installation image -- about half of the top folders here are just links:
  • config/etc/roundcube
  • logs../../log/roundcube (/var/log/roundcube)
  • program/usr/share/roundcube/program
  • SQL/usr/share/roundcube/SQL

It also contains a few web-app-related things:

  • public_html: the web server should point at this folder
  • skinspublic_html/skins
  • pluginspublic_html/plugins

When installed this way, however, RC is not configured to play nicely with a virtual domain. It seems to expect to run as www-data. Tentatively, the remedy is just to change ownership of everything it touches (including log folders), but I'm still working on this. —Woozle (talk) 15:02, 17 February 2025 (UTC)

Tech Notes

The MariaDB/MySQL password must not contain the & character, because the DSN parser treats it as syntactically significant. There does not seem to be any way of escaping it, either. The critical piece of code is in /usr/share/roundcube/program/lib/Roundcube/rcube_db.php, line 1336:

if (strpos($dsn, '&') !== false) {
    $opts = explode('&', $dsn);
}

Pages

Links

Reference