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.php

Passo 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: 12345

Cambia 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.php

Cambia 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.php

Cambia 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 squirrelmail

Passo 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.
Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.