Passage de SquirrelMail à RoundCube sur votre serveur ISPConfig3
Ce tutoriel a été créé pour ceux qui ont installé The Perfect Server - CentOS 5.4 x86_64 [ISPConfig 3] et n'aiment pas SquirrelMail comme client de messagerie Web. Voici un guide pour remplacer SquirrelMail par RoundCube, qui est plus attrayant visuellement et plus facile à gérer pour nos clients.
Important! Je n'ai pas essayé, mais ... comme la façon d'installer SquirrelMail n'a pas changé dans les récents Howtos CentOS 5.x Perfect Server. Je pense que ce tutoriel est également valable pour les versions antérieures de CentOS, et même d'autres distributions Linux, il ne change pratiquement rien au système.
Étape 1.
Téléchargez RoundCube, décompressez, supprimez les fichiers inutiles et préparez le dossier d'installation. Remplacez roundcubemail-0.3.1 pour le dernier disponible.
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
Étape 2.
Créons maintenant notre base de données pour RoundCube. J'ai créé le mien avec ISPConfig parce que je veux qu'il soit affiché dans ma liste de base de données ISPConfig. Voici mon exemple de base de données :
Nom de la base de données :roundcubedb
Utilisateur de la base de données :roundcubeuser
Code d'accès à la base de données : 12345
Changez-les pour plus de sécurité
Étape 3.
Il est nécessaire d'installer RoundCube manuellement, car si vous utilisez le programme d'installation de RoundCube, il signalera une erreur de version php et ne poursuivra pas l'installation. Éditez le fichier db.inc.php, nous recherchons la ligne suivante et éditons-la avec nos données (la base de données que nous avons créée dans ISPConfig).
vi db.inc.php
Changez la ligne :
[...] $rcmail_config['db_dsnw'] = 'mysql://roundcube:[email protected]/roundcubemail'; [...]
à :
[...] $rcmail_config['db_dsnw'] = 'mysql://roundcubeuser:[email protected]/roundcubedb'; [...]
Modifiez également ces paramètres dans le fichier main.inc.php :
vi main.inc.php
Modifiez les lignes :
[...] $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; [...]
à :
[...] $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; [...]
Étape 4.
Nous devons maintenant créer manuellement les tables dans notre base de données RoundCube. Recherchez le fichier mysql.initial.sql dans le dossier roundcubemail-0.3.1/SQL/ et copiez son contenu :
-- RoundCube Webmail initial database structure /*!40014 SET FOREIGN_KEY_CHECKS=0 */; -- Table structure for table `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 */; -- Table structure for table `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 */; -- Table structure for table `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 */; -- Table structure for table `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 */; -- Table structure for table `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 */; -- Table structure for table `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 */;
Allez maintenant sur http://www.votredomaine.tld:8080/phpmyadmin, entrez votre nom d'utilisateur et votre mot de passe MySQL. Sélectionnez notre base de données RoundCube "roundcubedb" et allez dans l'onglet SQL, dans la zone de texte, collez le texte que vous avez copié mysql.initial.sql et exécutez la requête. Nous avons installé avec succès le Webmail RoundCube.
Étape 5.
Nous voulons RoundCube comme Webmail par défaut. SquirrelMail ne sera pas utilisé, et nous ne voulons pas non plus que nos clients subissent une altération. Nous procédons ainsi :Cette étape chacun peut l'adapter à ses besoins. SquirrelMail peut être conservé, créant un nouvel alias pour RoundCube.
cd /usr/share
mv squirrelmail squirrelmail.bak
mv roundcubemail-0.3.1 squirrelmail
Étape 6.
Enfin, rendez-vous sur http://www.votredomaine.tld:8080/webmail et connectez-vous pour profiter de ce joli Webmail.
Informations :
- Plus d'informations sur RoundCube :http://www.roundcube.net
- Falko´s Howto The Perfect Server - CentOS 5.4 x86_64 [ISPConfig 3]
Remerciements particuliers à :
-Falko. Your Perfect Server Howtos m'a beaucoup aidé dans mon initiation aux serveurs Linux.
- Ma copine Naty. Elle a fait la traduction du texte.
- L'équipe HowtoForge pour votre excellent travail.