Webmail Setup · 5 min read · Dec 25, 2025
Cambiamento da SquirrelMail a RoundCube sul tuo server ISPConfig3
Cambiamento da SquirrelMail a RoundCube sul tuo server ISPConfig3
Questo tutorial è stato creato per coloro che hanno installato The Perfect Server - CentOS 5.4 x86_64 [ISPConfig 3] e non gradiscono SquirrelMail come client webmail. Ecco una guida per sostituire SquirrelMail con RoundCube, che è più attraente visivamente e più facile da gestire per i nostri clienti.
Importante! Non ho provato, ma… come installare SquirrelMail non è cambiato nei recenti Howtos del Perfect Server CentOS 5.x. Penso che questo tutorial sia valido anche per versioni precedenti di CentOS e persino altre distribuzioni Linux, non cambia praticamente nulla nel sistema.
Passo 1.
Scarica RoundCube, decomprimi, rimuovi i file non necessari e prepara la cartella di installazione. Sostituisci roundcubemail-0.3.1 con l’ultima versione disponibile.
cd /usr/share
wget http://downloads.sourceforge.net/project/roundcubemail/roundcubemail/0.3.1/roundcubemail-0.3.1.tar.gz?use_mirror=ignum
tar -vxf roundcubemail-0.3.1.tar.gz
rm -fr roundcubemail-0.3.1.tar.gz
cd roundcubemail-0.3.1
rm -fr installer
chmod 755 temp logs
cd config
cp db.inc.php.dist db.inc.php
cp main.inc.php.dist main.inc.phpPasso 2.
Ora creiamo il nostro database per RoundCube. Ho creato il mio con ISPConfig perché voglio che venga mostrato nella mia lista di database ISPConfig. Questo è il mio esempio di database:
Nome database: roundcubedb
Utente database: roundcubeuser
Password database: 12345Cambia questi per maggiore sicurezza
Passo 3.
È necessario installare RoundCube manualmente, perché se utilizzi l’installer di RoundCube, riporterà un errore di versione php e non continuerà con l’installazione. Modifica il file db.inc.php, cerchiamo la seguente riga e modifichiamola con i nostri dati (il database che abbiamo creato in ISPConfig).
vi db.inc.phpCambia la riga:
[...]
$rcmail_config['db_dsnw'] = 'mysql://roundcube:pass@localhost/roundcubemail';
[...] in:
[...]
$rcmail_config['db_dsnw'] = 'mysql://roundcubeuser:12345@localhost/roundcubedb';
[...] Cambia anche queste impostazioni nel file main.inc.php:
vi main.inc.phpCambia le righe:
[...]
$rcmail_config['message_cache_lifetime'] = '10d';
[...]
$rcmail_config['default_host'] = '';
[...]
$rcmail_config['smtp_server'] = '';
[...]
$rcmail_config['session_lifetime'] = 10;
[...]
$rcmail_config['create_default_folders'] = FALSE;
[...] in:
[...]
$rcmail_config['message_cache_lifetime'] = '30m';
[...]
$rcmail_config['default_host'] = 'localhost';
[...]
$rcmail_config['smtp_server'] = '%h';
[...]
$rcmail_config['session_lifetime'] = 30;
[...]
$rcmail_config['create_default_folders'] = TRUE;
[...] Passo 4.
Ora dobbiamo creare manualmente le tabelle nel nostro database RoundCube. Cerca il file mysql.initial.sql nella cartella roundcubemail-0.3.1/SQL/ e copia il suo contenuto:
-- Struttura iniziale del database RoundCube Webmail
/*!40014 SET FOREIGN_KEY_CHECKS=0 */;
-- Struttura della tabella per la tabella `session`
CREATE TABLE `session` (
`sess_id` varchar(40) 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 */;
-- Struttura della tabella per la tabella `users`
CREATE TABLE `users` (
`user_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`username` varchar(128) NOT NULL,
`mail_host` varchar(128) NOT NULL,
`alias` varchar(128) NOT NULL,
`created` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
`last_login` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
`language` varchar(5),
`preferences` text,
PRIMARY KEY(`user_id`),
INDEX `username_index` (`username`),
INDEX `alias_index` (`alias`)
) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
-- Struttura della tabella per la tabella `messages`
CREATE TABLE `messages` (
`message_id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`user_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
`del` tinyint(1) NOT NULL DEFAULT '0',
`cache_key` varchar(128) /*!40101 CHARACTER SET ascii COLLATE ascii_general_ci */ NOT NULL,
`created` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
`idx` int(11) UNSIGNED NOT NULL DEFAULT '0',
`uid` int(11) UNSIGNED NOT NULL DEFAULT '0',
`subject` varchar(255) NOT NULL,
`from` varchar(255) NOT NULL,
`to` varchar(255) NOT NULL,
`cc` varchar(255) NOT NULL,
`date` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
`size` int(11) UNSIGNED NOT NULL DEFAULT '0',
`headers` text NOT NULL,
`structure` text,
PRIMARY KEY(`message_id`),
INDEX `created_index` (`created`),
INDEX `index_index` (`user_id`, `cache_key`, `idx`),
UNIQUE `uniqueness` (`user_id`, `cache_key`, `uid`),
CONSTRAINT `user_id_fk_messages` FOREIGN KEY (`user_id`)
REFERENCES `users`(`user_id`)
/*!40008
ON DELETE CASCADE
ON UPDATE CASCADE */
) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
-- Struttura della tabella per la tabella `cache`
CREATE TABLE `cache` (
`cache_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`cache_key` varchar(128) /*!40101 CHARACTER SET ascii COLLATE ascii_general_ci */ NOT NULL ,
`created` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
`data` longtext NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
PRIMARY KEY(`cache_id`),
INDEX `created_index` (`created`),
INDEX `user_cache_index` (`user_id`,`cache_key`),
CONSTRAINT `user_id_fk_cache` FOREIGN KEY (`user_id`)
REFERENCES `users`(`user_id`)
/*!40008
ON DELETE CASCADE
ON UPDATE CASCADE */
) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
-- Struttura della tabella per la tabella `contacts`
CREATE TABLE `contacts` (
`contact_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
`del` tinyint(1) NOT NULL DEFAULT '0',
`name` varchar(128) NOT NULL,
`email` varchar(128) NOT NULL,
`firstname` varchar(128) NOT NULL,
`surname` varchar(128) NOT NULL,
`vcard` text NULL,
`user_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
PRIMARY KEY(`contact_id`),
INDEX `user_contacts_index` (`user_id`,`email`),
CONSTRAINT `user_id_fk_contacts` FOREIGN KEY (`user_id`)
REFERENCES `users`(`user_id`)
/*!40008
ON DELETE CASCADE
ON UPDATE CASCADE */
) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
-- Struttura della tabella per la tabella `identities`
CREATE TABLE `identities` (
`identity_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`del` tinyint(1) NOT NULL DEFAULT '0',
`standard` tinyint(1) NOT NULL DEFAULT '0',
`name` varchar(128) NOT NULL,
`organization` varchar(128) NOT NULL DEFAULT '',
`email` varchar(128) NOT NULL,
`reply-to` varchar(128) NOT NULL DEFAULT '',
`bcc` varchar(128) NOT NULL DEFAULT '',
`signature` text,
`html_signature` tinyint(1) NOT NULL DEFAULT '0',
`user_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
PRIMARY KEY(`identity_id`),
CONSTRAINT `user_id_fk_identities` FOREIGN KEY (`user_id`)
REFERENCES `users`(`user_id`)
/*!40008
ON DELETE CASCADE
ON UPDATE CASCADE */
) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
/*!40014 SET FOREIGN_KEY_CHECKS=1 */;Ora vai su http://www.tuodominio.tld:8080/phpmyadmin, inserisci il tuo nome utente e password MySQL. Seleziona il nostro database RoundCube “roundcubedb” e vai alla scheda SQL, nel campo di testo, incolla il testo che hai copiato da mysql.initial.sql ed esegui la query. Abbiamo installato con successo RoundCube Webmail.
Passo 5.
Vogliamo RoundCube come nostra Webmail predefinita. SquirrelMail non sarà utilizzato, né vogliamo che i nostri clienti subiscano alcuna alterazione. Procediamo in questo modo: Questo passo ognuno può adattarlo alle proprie esigenze. SquirrelMail può essere mantenuto, creando un nuovo alias per RoundCube.
cd /usr/share
mv squirrelmail squirrelmail.bak
mv roundcubemail-0.3.1 squirrelmailPasso 6.
Infine vai su http://www.tuodominio.tld:8080/webmail e accedi per goderti questa carina Webmail.
Informazioni:
- Maggiori informazioni su RoundCube: http://www.roundcube.net
- Howto di Falko Il Perfect Server - CentOS 5.4 x86_64 [ISPConfig 3]
Ringraziamenti speciali a:
- Falko. I tuoi Howto sul Perfect Server mi hanno aiutato molto nella mia iniziazione con i server Linux.
- La mia ragazza Naty. Ha fatto la traduzione del testo.
- Il team di HowtoForge per il vostro eccellente lavoro.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.