[Tuto] Installer un webmail sur son hebergement



  • Bonjour,

    Étant donné que moi même j'ai chercher pas mal de temps à trouver une solution à ce problème et, l'ayant trouvé, je pense que faire un petit tuto pour installer un webmail ( comme celui de Freeheberg, RoundCube Webmail en l'occurrence ) éviteras à certaines personnes pas mal de boulot ^^

    Ce tuto s'adresse en particulier aux membres de Freeheberg possedant un nom de domaine acheter chez Freeheberg.

    Tout d'abord, il faudra vous procurer la derniere version du RoundCube Webmail ici :

    Derniere version du webmail

    De plus, un logiciel comme Noteapd++ téléchargeable ici pourrait vous être utile =).

    Bien, maintenant que vous avez tout, on va pouvoir commencer.

    Tout d'abord, décopressez l'archive que vous aviez telecharger dans un dossier sur votre ordinateur.

    Avec Notepad++ ( ou tout autre logiciel d'édition de site web ), modifiez le fichier .htaccess en ajoutant cette ligne la tout en haut :

    SetEnv PHP_VER 5
    

    Ensuite, allez dans le dossier "config" puis renommez les fichiers db.inc.php.dist et main.inc.php.dist en db.inc.php et main.inc.php.

    Ouvrez le fichier db.inc.php avec Notepad++

    A la ligne

    $rcmail_config['db_dsnw'] = 'mysql://roundcube:pass@localhost/roundcubemail';
    

    Mettez :

    $rcmail_config['db_dsnw'] = 'mysql://pseudoSQL:motdepassSQL@localhost/baseSQL';
    

    ( vous trouverez tout ce qu'il faut remplacer dans votre espace client )

    Ensuite, à la ligne

    $rcmail_config['db_dsnr'] = '';
    

    Mettez

    $rcmail_config['db_dsnr'] = 'mysql://pseudoSQL:motdepassSQL@localhost/baseSQL';
    

    Bien, maintenant on va ouvrir le fichier main.inc.php avec Notepad++.

    Coller celui que je vous donnes à la place en changeant les informations en majuscule ( à savoir : "ICI VOUS METTEZ VOTRE NOM DE DOMAINE SANS LES WWW" et "METTEZ ICI UNE PHRASE QUI NE VEUT RIEN DIRE DE 24 CARACTERES SANS ESPACES" ) :

    <?php
    
    $rcmail_config = array();
    
    $rcmail_config['debug_level'] = 1;
    
    $rcmail_config['log_driver'] = 'file';
    
    $rcmail_config['syslog_id'] = 'roundcube';
    
    $rcmail_config['syslog_facility'] = LOG_USER;
    
    $rcmail_config['log_dir'] = 'logs/';
    
    $rcmail_config['temp_dir'] = 'temp/';
    
    $rcmail_config['enable_caching'] = TRUE;
    
    $rcmail_config['message_cache_lifetime'] = '10d';
    
    $rcmail_config['auto_create_user'] = TRUE;
    
    $rcmail_config['default_host'] = 'mail.freeheberg.com';
    
    $rcmail_config['default_port'] = 143;
    
    $rcmail_config['imap_auth_type'] = null;
    
    $rcmail_config['username_domain'] = 'ICI VOUS METTEZ VOTRE NOM DE DOMAINE SANS LES WWW';
    
    $rcmail_config['mail_domain'] = '';
    
    $rcmail_config['virtuser_file'] = '';
    
    $rcmail_config['virtuser_query'] = '';
    
    $rcmail_config['smtp_server'] = 'mail.freeheberg.com';
    
    $rcmail_config['smtp_port'] = 587;
    
    $rcmail_config['smtp_user'] = '%u';
    
    $rcmail_config['smtp_pass'] = '%p';
    
    $rcmail_config['smtp_auth_type'] = 'LOGIN';
    
    $rcmail_config['smtp_helo_host'] = '';
    
    $rcmail_config['smtp_log'] = TRUE;
    
    $rcmail_config['sendmail_delay'] = 0;
    
    $rcmail_config['list_cols'] = array('subject', 'from', 'date', 'size', 'flag');
    
    $rcmail_config['skin_include_php'] = FALSE;
    
    $rcmail_config['session_lifetime'] = 30;
    
    $rcmail_config['ip_check'] = false;
    
    $rcmail_config['double_auth'] = false;
    
    $rcmail_config['des_key'] = 'METTEZ ICI UNE PHRASE QUI NE VEUT RIEN DIRE DE 24 CARACTERES SANS ESPACES';
    
    $rcmail_config['language'] = fr_FR;
    
    $rcmail_config['date_short'] = 'D H:i';
    
    $rcmail_config['date_long'] = 'd.m.Y H:i';
    
    $rcmail_config['date_today'] = 'H:i';
    
    $rcmail_config['useragent'] = 'RoundCube Webmail/0.1';
    
    $rcmail_config['product_name'] = 'RoundCube Webmail';
    
    $rcmail_config['imap_root'] = '';
    
    $rcmail_config['drafts_mbox'] = 'Drafts';
    
    $rcmail_config['junk_mbox'] = 'Junk';
    
    $rcmail_config['sent_mbox'] = 'Sent';
    
    $rcmail_config['trash_mbox'] = 'Trash';
    
    $rcmail_config['default_imap_folders'] = array('INBOX', 'Drafts', 'Sent', 'Junk', 'Trash');
    
    $rcmail_config['create_default_folders'] = FALSE;
    
    $rcmail_config['protect_default_folders'] = TRUE;
    
    $rcmail_config['quota_zero_as_unlimited'] = FALSE;
    
    $rcmail_config['skip_deleted'] = FALSE;
    
    $rcmail_config['read_when_deleted'] = TRUE;
    
    $rcmail_config['flag_for_deletion'] = FALSE;
    
    $rcmail_config['mdn_requests'] = 0;
    
    $rcmail_config['default_charset'] = 'ISO-8859-1';
    
    $rcmail_config['enable_spellcheck'] = TRUE;
    
    $rcmail_config['spellcheck_engine'] = 'googie';
    
    $rcmail_config['spellcheck_uri'] = '';
    
    $rcmail_config['spellcheck_languages'] = NULL;
    
    $rcmail_config['generic_message_footer'] = '';
    
    $rcmail_config['http_received_header'] = false;
    
    $rcmail_config['mail_header_delimiter'] = NULL;
    
    $rcmail_config['session_domain'] = '';
    
    $rcmail_config['address_book_type'] = 'sql';
    
    $rcmail_config['dont_override'] = array();
    
    $rcmail_config['multiple_identities'] = true;
    
    $rcmail_config['include_host_config'] = false;
    
    $rcmail_config['max_pagesize'] = 200;
    
    $rcmail_config['mime_magic'] = '/usr/share/misc/magic';
    
    $rcmail_config['message_sort_col'] = 'date';
    
    $rcmail_config['message_sort_order'] = 'DESC';
    
    $rcmail_config['enable_installer'] = false;
    
    $rcmail_config['log_logins'] = false;
    
    $rcmail_config['delete_always'] = false;
    
    $rcmail_config['skin'] = 'default';
    
    $rcmail_config['pagesize'] = 40;
    
    $rcmail_config['timezone'] = 'auto';
    
    $rcmail_config['dst_active'] = (bool)date('I');
    
    $rcmail_config['prefer_html'] = TRUE;
    
    $rcmail_config['addrbook_show_images'] = FALSE;
    
    $rcmail_config['htmleditor'] = FALSE;
    
    $rcmail_config['prettydate'] = TRUE;
    
    $rcmail_config['draft_autosave'] = 300;
    
    $rcmail_config['preview_pane'] = FALSE;
    
    $rcmail_config['logout_purge'] = FALSE;
    
    $rcmail_config['logout_expunge'] = FALSE;
    
    $rcmail_config['inline_images'] = TRUE;
    
    ?>
    
    

    Une fois cela fait, allez dans PhpMyAdmin ( accessible depuis votre espace client ) et executez cette commande :

    SET FOREIGN_KEY_CHECKS=0;
    
    CREATE TABLE `session` (
     `sess_id` varchar(40) NOT NULL,
     `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
     `changed` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
     `ip` varchar(40) NOT NULL,
     `vars` text NOT NULL,
     PRIMARY KEY(`sess_id`)
    ) TYPE=INNODB CHARACTER SET utf8 COLLATE utf8_general_ci;
    
    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 '0000-00-00 00:00:00',
     `last_login` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
     `language` varchar(5) NOT NULL DEFAULT 'en',
     `preferences` text,
     PRIMARY KEY(`user_id`),
     INDEX `username_index` (`username`),
     INDEX `alias_index` (`alias`)
    ) TYPE=INNODB CHARACTER SET utf8 COLLATE utf8_general_ci;
    
    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) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL,
     `created` datetime NOT NULL DEFAULT '0000-00-00 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 '0000-00-00 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`),
     UNIQUE `uniqueness` (`user_id`, `cache_key`, `uid`),
     CONSTRAINT `user_id_fk_messages` FOREIGN KEY (`user_id`)
       REFERENCES `users`(`user_id`)
         ON DELETE CASCADE
         ON UPDATE CASCADE
    ) TYPE=INNODB CHARACTER SET utf8 COLLATE utf8_general_ci;
    
    CREATE TABLE `cache` (
     `cache_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
     `session_id` varchar(40) CHARACTER SET ascii COLLATE ascii_general_ci,
     `cache_key` varchar(128) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL,
     `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
     `data` longtext NOT NULL,
     `user_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
     PRIMARY KEY(`cache_id`),
     INDEX `user_cache_index` (`user_id`,`cache_key`),
     CONSTRAINT `user_id_fk_cache` FOREIGN KEY (`user_id`)
       REFERENCES `users`(`user_id`)
         ON DELETE CASCADE
         ON UPDATE CASCADE
    ) TYPE=INNODB CHARACTER SET utf8 COLLATE utf8_general_ci;
    
    CREATE TABLE `contacts` (
     `contact_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
     `changed` datetime NOT NULL DEFAULT '0000-00-00 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`),
     CONSTRAINT `user_id_fk_contacts` FOREIGN KEY (`user_id`)
       REFERENCES `users`(`user_id`)
         ON DELETE CASCADE
         ON UPDATE CASCADE
    ) TYPE=INNODB CHARACTER SET utf8 COLLATE utf8_general_ci;
    
    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`)
         ON DELETE CASCADE
         ON UPDATE CASCADE
    ) TYPE=INNODB CHARACTER SET utf8 COLLATE utf8_general_ci;
    
    SET FOREIGN_KEY_CHECKS=1;
    
    

    Bien, une fois cela fait, envoyez tout les fichiers du webmail sur votre FTP dans le dossier "www" à l'aide de votre logiciel de transfert FTP ( de préférence FileZilla ^^ ) et aller à l'adresse suivante :

    http://www.votrenomdedomaine.fr/nomdudossierduwebmail

    Bien normalement vous devrez arriver sur la page principal du webmail.

    Si par exemple vous aviez creer une adresse test1@votrenomdedomaine.fr avec comme mot de passe titi, rentrez comme identifiant "test1" et comme mot de passe "titi".

    Si cela marche, vous pouvez supprimer de votre FTP :
    CHANGELOG, INSTALL, LICENSE, README, UPGRADING et le dossier SQL.

    A noter que cela ne marche pas pour l'adresse Postmaster ( ne me demandez pas pourquoi ^^ )

    Si vous aviez des questions ou si la manip' ne fonctionne pas chez vous, posez vos questions car il se peut que l'erreur vienne de moi =)

    Personnellement, c'est la démarche que j'ai suivi pour mettre mon webmail en place sur mon site et il fonctionne x)

    Pour avoir un theme comme celui que j'ai ( cf mon site ) il faut le télécharger ici et placer le dossier osxmail sur votre FTP dans le dossier skins de votre webmail.
    Il faut aussi changer dans le fichier main.inc.php la ligne suivante :

    $rcmail_config['skin'] = 'defaut';
    

    Par :

    $rcmail_config['skin'] = 'osxmail';
    

    <EDIT>Finalement, cela marche bien avec l'adresse postmaster ^^ c'est juste moi qui avait fait le boulet et avait oublier que j'avais changer le mot de passe mdr</EDIT>
    <EDIT>Ajout du lien du skin OsxMail, modification du fichier main.inc.php pour le rendre plus lisible</EDIT>



  • Merci pour ce tuto :)



  • Je suis désolé pour les balises```
    qui font 2 km de long mais je n'ai pas trouvé le moyen de rajouter une barre de defilement sur mes codes :/.

    Autrement, de rien pour le tuto


Se connecter pour répondre
 

Il semble que votre connexion ait été perdue, veuillez patienter pendant que nous vous re-connectons.