Roundcube: Difference between revisions
Created page with "<hide> page type::article thing type::webmail client category:software </hide> ==About== ===Files=== {| |- ! path !! description |- | /etc/roundcube | global confi..." |
No edit summary |
||
| (8 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
{{#set:page type|article}} | |||
{{#set:thing type|webmail client}} | |||
[[category:software]] | [[category:software]] | ||
==About== | ==About== | ||
[[Roundcube]] (RC) is a [[webmail client]] that runs under the [[LAMP stack]]. | |||
===Files=== | ===Files=== | ||
{| | When installed via {{l/cmd|apt}}, this is where Roundcube's files end up: | ||
{| class="wikitable sortable" | |||
|- | |- | ||
! path !! description | ! path !! description | ||
|- | |- | ||
| /etc/roundcube | | valign=top | <code>/etc/roundcube/</code> | ||
| global configuration stuff | | global configuration stuff: | ||
* <code>defaults.inc.php</code>: must be present; should not be edited | |||
* <code>config.inc.php</code>: must be present, and should be edited to contain local settings | |||
* <code>main.inc.php</code>: | |||
** old name for <code>config.inc.php</code> | |||
** RC will load this if <code>config.inc.php</code> is not found | |||
** should not be present in new installations | |||
* <code>debian-db.php</code>: database credentials for RC installs in [[Debian]]-based systems | |||
|- | |- | ||
| /usr/share/roundcube | | valign=top | <code>/usr/share/roundcube/</code> | ||
| application code | | application code | ||
|- | |- | ||
| /var/lib/roundcube | | valign=top | <code>/var/lib/roundcube/</code> | ||
| installation image -- | | installation image -- about half of the top folders here are just links: | ||
* <code>config/</code> → <code>/etc/roundcube/</code> | |||
* <code>logs/</code> → <code>../../log/roundcube/</code> (<code>/var/log/roundcube</code>) | |||
* <code>program/</code> → <code>/usr/share/roundcube/program/</code> | |||
* <code>SQL/</code> → <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>index.php</code>: the actual root page | |||
** <code>.htaccess</code> → <code>../.htaccess</code> | |||
*** → <code>/etc/roundcube/htaccess</code> | |||
* <code>skins/</code> ''⇐ <code>public_html/skins/</code>'' | |||
** <code>classic/</code> → <code>/usr/share/roundcube/skins/classic/</code> | |||
** <code>elastic/</code> → <code>/usr/share/roundcube/skins/elastic/</code> | |||
** <code>larry</code> → <code>/usr/share/roundcube/skins/larry/</code> | |||
* <code>plugins/</code> ''⇐ <code>public_html/plugins/</code>'' | |||
* <code>index.php</code> ''⇐ <code>/usr/share/roundcube/index.php</code>'' | |||
* <code>.htaccess</code> → <code>/etc/roundcube/htaccess</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. —''[[User:Woozle|Woozle]] ([[User talk:Woozle|talk]]) 15:02, 17 February 2025 (UTC)'' | ||
==Tech Notes== | |||
The MariaDB/MySQL password must not contain the <code>&</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: | |||
<syntaxhighlight lang=php> | |||
if (strpos($dsn, '&') !== false) { | |||
$opts = explode('&', $dsn); | |||
* | } | ||
</syntaxhighlight> | |||
==Pages== | |||
* [[/archive]]: obsolete stuff | |||
==Links== | ==Links== | ||
===Reference=== | ===Reference=== | ||
* [https://roundcube.net roundcube.net] - official | |||
* {{wikipedia}} | * {{wikipedia}} | ||
Latest revision as of 16:04, 17 February 2025
{{#set:page type|article}} {{#set:thing type|webmail client}}
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:
|
/usr/share/roundcube/
|
application code |
/var/lib/roundcube/
|
installation image -- about half of the top folders here are just links:
It also contains a few web-app-related things:
|
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
- /archive: obsolete stuff
Links
Reference
- roundcube.net - official
- Wikipedia
