Webmail Setup · 5 min read · Dec 25, 2025
Wechsel von SquirrelMail zu RoundCube auf Ihrem ISPConfig3-Server
Wechsel von SquirrelMail zu RoundCube auf Ihrem ISPConfig3-Server
Dieses Tutorial wurde für diejenigen erstellt, die den perfekten Server - CentOS 5.4 x86_64 [ISPConfig 3] installiert haben und SquirrelMail als Webmail-Client nicht mögen. Hier ist eine Anleitung, um SquirrelMail durch RoundCube zu ersetzen, das visuell ansprechender und einfacher zu verwalten ist für unsere Kunden.
Wichtig! Ich habe es nicht ausprobiert, aber… wie man SquirrelMail installiert, hat sich in den letzten CentOS 5.x Perfect Server Howtos nicht geändert. Ich denke, dieses Tutorial ist auch für frühere Versionen von CentOS und sogar andere Linux-Distributionen gültig, es ändert praktisch nichts im System.
Schritt 1.
Laden Sie RoundCube herunter, entpacken Sie es, entfernen Sie unnötige Dateien und bereiten Sie den Installationsordner vor. Ersetzen Sie roundcubemail-0.3.1 durch die letzte verfügbare Version.
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.phpSchritt 2.
Jetzt erstellen wir unsere Datenbank für RoundCube. Ich habe meine mit ISPConfig erstellt, weil ich möchte, dass sie in meiner ISPConfig-Datenbankliste angezeigt wird. Dies ist mein Datenbankbeispiel:
Datenbankname: roundcubedb
Datenbankbenutzer: roundcubeuser
Datenbankpasswort: 12345Ändern Sie diese für mehr Sicherheit
Schritt 3.
Es ist notwendig, RoundCube manuell zu installieren, da, wenn Sie den RoundCube-Installer verwenden, ein PHP-Version-Fehler gemeldet wird und die Installation nicht fortgesetzt wird. Bearbeiten Sie die Datei db.inc.php, suchen Sie die folgende Zeile und bearbeiten Sie sie mit unseren Daten (der Datenbank, die wir in ISPConfig erstellt haben).
vi db.inc.phpÄndern Sie die Zeile:
[...]
$rcmail_config['db_dsnw'] = 'mysql://roundcube:pass@localhost/roundcubemail';
[...] in:
[...]
$rcmail_config['db_dsnw'] = 'mysql://roundcubeuser:12345@localhost/roundcubedb';
[...] Ändern Sie auch diese Einstellungen in der Datei main.inc.php:
vi main.inc.phpÄndern Sie die Zeilen:
[...]
$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;
[...] Schritt 4.
Jetzt müssen wir manuell die Tabellen in unserer RoundCube-Datenbank erstellen. Suchen Sie die Datei mysql.initial.sql im roundcubemail-0.3.1/SQL/-Ordner und kopieren Sie deren Inhalt:
-- RoundCube Webmail initiale Datenbankstruktur
/*!40014 SET FOREIGN_KEY_CHECKS=0 */;
-- Tabellenstruktur für die Tabelle `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 */;
-- Tabellenstruktur für die Tabelle `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 */;
-- Tabellenstruktur für die Tabelle `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 */;
-- Tabellenstruktur für die Tabelle `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 */;
-- Tabellenstruktur für die Tabelle `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 */;
-- Tabellenstruktur für die Tabelle `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 */;Gehen Sie jetzt zu http://www.yourdomain.tld:8080/phpmyadmin, geben Sie Ihren MySQL-Benutzernamen und Ihr Passwort ein. Wählen Sie unsere RoundCube-Datenbank “roundcubedb” und gehen Sie zum SQL-Tab, fügen Sie den Text, den Sie aus mysql.initial.sql kopiert haben, in das Textfeld ein und führen Sie die Abfrage aus. Wir haben RoundCube Webmail erfolgreich installiert.
Schritt 5.
Wir möchten RoundCube als unser Standard-Webmail. SquirrelMail wird nicht verwendet, noch möchten wir, dass unsere Kunden unter irgendwelchen Änderungen leiden. Wir verfahren wie folgt: Diesen Schritt kann jeder an seine Bedürfnisse anpassen. SquirrelMail kann beibehalten werden, indem ein neuer Alias für RoundCube erstellt wird.
cd /usr/share
mv squirrelmail squirrelmail.bak
mv roundcubemail-0.3.1 squirrelmailSchritt 6.
Gehen Sie schließlich zu http://www.yourdomain.tld:8080/webmail und melden Sie sich an, um dieses hübsche Webmail zu genießen.
Informationen:
- Weitere Informationen über RoundCube: http://www.roundcube.net
- Falkos Howto Der perfekte Server - CentOS 5.4 x86_64 [ISPConfig 3]
Besonderer Dank an:
- Falko. Ihre Perfect Server Howtos haben mir sehr bei meinem Einstieg in Linux-Server geholfen.
- Meine Freundin Naty. Sie hat den Text übersetzt.
- Das HowtoForge-Team für Ihre hervorragende Arbeit.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.