I'm attempting to upgrade from version 0.9.5 to 1.0RC. However, I'm stuck at step 3 (updating my database) because I'm receiving the following error:
The installer is disabled!
To enable it again, set $config['enable_installer'] = true; in RCUBE_CONFIG_DIR/config.inc.php
But when I look inside of the config.inc.php file, $config['enable_installer'] isn't there.
My RC is installed here (http://thebx.net/mail).
Then you'll need to add it.
OK... I manually added it, ran it again and now I'm getting the following error:
Check DB config
DSN (write): OK
sh: /home2/myinfo/public_html/mail/bin/updatedb.sh: Permission denied
Database schema update failed.
DB Schema: NOT OK(Database schema differs)
Missing columns in table 'cache': expires
Missing table 'cache_shared'
Missing columns in table 'cache_index': expires
Missing columns in table 'cache_thread': expires
Missing columns in table 'cache_messages': expires
Is there an SQL I can run to manually update the database?
Here is my config file. Please let me know if something is wrong with it.
<?php
/* Local configuration for Roundcube Webmail */
// ----------------------------------
// SQL DATABASE
// ----------------------------------
// Database connection string (DSN) for read+write operations
// Format (compatible with PEAR MDB2): db_provider://user:password@host/database
// Currently supported db_providers: mysql, pgsql, sqlite, mssql or sqlsrv
// For examples see http://pear.php.net/manual/en/package.database.mdb2.intro-dsn.php
// NOTE: for SQLite use absolute path: 'sqlite:////full/path/to/sqlite.db?mode=0646'
$config['db_dsnw'] = 'mysql://mywebsiteinfo@localhost/mydbinfo';
// ----------------------------------
// IMAP
// ----------------------------------
// the mail host chosen to perform the log-in
// leave blank to show a textbox at login, give a list of hosts
// to display a pulldown menu or set one host as string.
// To use SSL/TLS connection, enter hostname with prefix ssl:// or tls://
// Supported replacement variables:
// %n - http hostname ($_SERVER['SERVER_NAME'])
// %d - domain (http hostname without the first part)
// %s - domain name after the '@' from e-mail address provided at login screen
// For example %n = mail.domain.tld, %d = domain.tld
$config['default_host'] = 'localhost';
// SMTP username (if required) if you use %u as the username Roundcube
// will use the current username for login
$config['smtp_user'] = '%u';
// SMTP password (if required) if you use %p as the password Roundcube
// will use the current user's password for login
$config['smtp_pass'] = '%p';
// provide an URL where a user can get support for this Roundcube installation
// PLEASE DO NOT LINK TO THE ROUNDCUBE.NET WEBSITE HERE!
$config['support_url'] = '';
// use this folder to store log files (must be writeable for apache user)
// This is used by the 'file' log driver.
$config['log_dir'] = 'logs/';
// use this folder to store temp files (must be writeable for apache user)
$config['temp_dir'] = 'temp/';
// If users authentication is not case sensitive this must be enabled.
// You can also use it to force conversion of logins to lower case.
// After enabling it all user records need to be updated, e.g. with query:
// UPDATE users SET username = LOWER(username);
$config['login_lc'] = false;
// this key is used to encrypt the users imap password which is stored
// in the session record (and the client cookie if remember password is enabled).
// please provide a string of exactly 24 chars.
$config['des_key'] = 'TlTgVbw42GtKAV0VneGnnVmq';
// use this name to compose page titles
$config['product_name'] = 'My Website Webmail';
// add this user-agent to message headers when sending
$config['useragent'] = 'My Website Webmail/RCMAIL_VERSION';
# null == default
// mime magic database
$config['mime_magic'] = '/usr/share/misc/magic';
// ----------------------------------
// PLUGINS
// ----------------------------------
// List of active plugins (in plugins/ directory)
$config['plugins'] = array('markasjunk', 'password', 'plugin_manager');
// These cols are shown in the message list. Available cols are:
// subject, from, to, cc, replyto, date, size, status, flag, attachment, 'priority'
$config['list_cols'] = array('subject', 'status', 'from', 'date', 'size', 'flag', 'attachment');
// use this format for date display (date or strftime format)
$config['date_format'] = 'm/d/Y';
// give this choice of date formats to the user to select from
$config['date_formats'] = array('Y-m-d', 'd-m-Y', 'Y/m/d', 'm/d/Y', 'd/m/Y', 'd.m.Y', 'j.n.Y');
// use this format for time display (date or strftime format)
$config['time_format'] = 'g:i a';
// use this format for detailed date/time formatting (derived from date_format and time_format)
$config['date_long'] = 'm/d/Y H:i';
// automatically create the above listed default folders on first login
$config['create_default_folders'] = true;
// Set the spell checking engine. 'googie' is the default. 'pspell' is also available,
// but requires the Pspell extensions. When using Nox Spell Server, also set 'googie' here.
$config['spellcheck_engine'] = 'pspell';
// skin name: folder from skins/
$config['skin'] = 'default';
// use this timezone to display date/time
$config['timezone'] = 'America/New York';
// compose html formatted messages by default
// 0 - never, 1 - always, 2 - on reply to HTML message only
$config['htmleditor'] = 1;
// Encoding of long/non-ascii attachment names:
// 0 - Full RFC 2231 compatible
// 1 - RFC 2047 for 'name' and RFC 2231 for 'filename' parameter (Thunderbird's default)
// 2 - Full 2047 compatible
$config['mime_param_folding'] = 0;
// If true, after message delete/move, the next message will be displayed
$config['display_next'] = false;
// Behavior if a received message requests a message delivery notification (read receipt)
// 0 = ask the user, 1 = send automatically, 2 = ignore (never send or ask)
// 3 = send automatically if sender is in addressbook, otherwise ask the user
// 4 = send automatically if sender is in addressbook, otherwise ignore
$config['mdn_requests'] = 2;
// Return receipt checkbox default state
$config['mdn_default'] = 2;
// lifetime of message cache
// possible units: s, m, h, d, w
$config['message_cache_lifetime'] = '10d';
// When replying or forwarding place sender's signature above existing message
$config['sig_above'] = true;
$config['enable_installer'] = true;
You can manually run the SQL files to update the database. They are in the SQL folder in the main Roundcube folder.
I'm using MySQL. However, there's a file titled mysql.initial.sql and there's a MySQL folder with a bunch of sql files in it. Which one should I use?
I used the file 2013061000.sql in the SQL folder. I went through the queries line by line and all was well except for the edits for the "cache_shared" table. It appeared that the edits for this table were already in place.
So far all appears to be well. I'll post back if I have any problems.
If you read the top of the sql files it tells you what version the code is from so you know which files need to be run.
Quote from: SKaero on April 07, 2014, 04:33:34 PM
If you read the top of the sql files it tells you what version the code is from so you know which files need to be run.
I don't see where it shows the version of the code...
This is the top of the mysql.initial.sql file:
-- Roundcube Webmail initial database structure
/*!40014 SET FOREIGN_KEY_CHECKS=0 */;
-- Table structure for table `session`
CREATE TABLE `session` (
`sess_id` varchar(128) NOT NULL,
`created` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
`changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
`ip` varchar(40) NOT NULL,
`vars` mediumtext NOT NULL,
PRIMARY KEY(`sess_id`),
INDEX `changed_index` (`changed`)
) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
-- Table structure for table `users`
And this is the top of the file 2013061000.sql:
ALTER TABLE `cache` ADD `expires` datetime DEFAULT NULL;
ALTER TABLE `cache_shared` ADD `expires` datetime DEFAULT NULL;
ALTER TABLE `cache_index` ADD `expires` datetime DEFAULT NULL;
ALTER TABLE `cache_thread` ADD `expires` datetime DEFAULT NULL;
ALTER TABLE `cache_messages` ADD `expires` datetime DEFAULT NULL;
-- initialize expires column with created/changed date + 7days
UPDATE `cache` SET `expires` = `created` + interval 604800 second;
It looks like there not doing it anymore, if you look at the 2013011000.sql file and earlier they have the comments.