Difference between revisions of "Roundcube"
(Created page with "<hide> page type::article thing type::webmail client category:software </hide> ==About== ===Files=== {| |- ! path !! description |- | /etc/roundcube | global confi...") |
|||
(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
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