Changing mail software?

Discussion in 'Installation/Configuration' started by ruvil, Jun 23, 2012.

  1. ruvil

    ruvil New Member

    Hi

    I have a server with ubuntu 12.04 and the latest version of ISPconfig(through upgrade).

    I would like to replace my old courier installation with dovecot - is this possible without destroying my current ispconfig installation? Should i be extra careful when doing this?
     
  2. Bookworm

    Bookworm Member

    If you use imapsync to sync between the two servers, it's pretty painless - although the end users will have to rebuild their local mailboxes.

    If you do what I did (598 gigabytes of email is just a WEE bit difficult to imapsync) and move the folders themselves, you'll have to get the courier-dovecot-migrate.pl script.

    Look at my post (close to this one).

    I upgraded the existing system to the latest version of ISPConfig, then created a new version on the new machine. The old was running courier, the new dovecot. I did a database dump of the dbispconfig, moved it to the new machine, then overwrote the dbispconfig database on the new box. I then ran the update.php from the same installer, told it dovecot, and let it rip. (This came directly from a post by Till). It still left three mentions of 'courier' in the system.

    If you clear those 'courier' mentions with phpmyadmin, you can then move the /var/vmail/<domain>/user/* files into the /var/vmail/<domain>/user/Maildir/* file structure. (You'll have to make the Maildir if it doesn't show up automatically)

    Once that's done, you'll run the migrate script like so.

    ./courier-dovecot-migrate.pl --to-dovecot --recursive --convert --overwrite /var/vmail/<domain>

    (The script will automatically fix the file ownership issues that show up if you're using 'root' to create the Maildir)

    Once you've done this, and it passes correctly (run it without the --convert first, as a test), _delete the courierimap* files from the folders_. This will probably take some scripting, or by hand work, but I found that Thunderbird, at least, was trying to read both the Dovecot subscriptions file AND the courier imap files, and ending up with phantom folders.

    KEEP GOOD BACKUPS. Better yet, keep your old hard drive handy to plug into the new machine in case it does what happened to me, which was that updating the name of a couple of users caused the system to wipe the user email directories. Sixty-eight gigabytes then had to be recopied. (that was before removing 'courier' from the database. ) Yes, I had the old drive handy - I wasn't that stupid.
     
  3. till

    till Super Moderator Staff Member ISPConfig Developer

    There is a migration tool and guide available for that. See attachment.
     

    Attached Files:

  4. wiss

    wiss Member

    Is there any way to all clients not re-download all messages after mail conversion?

    Thx.
     
  5. dmgeurts

    dmgeurts Member

    Getting the following error. Got past the server_settings.ini API disabled issue, but now I'm stumped...
    Code:
    # php courier_to_dovecot.php                                                      
    Logged successfull. Session ID:c68dd924e78f0c47fde65e3f5ccf0eb4
    <?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>permission_denied</faultcode><faultstring>You do not have the permissions to access this function.</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
    SOAP Error: You do not have the permissions to access this function.
    No idea how to research this one... The apache error is a bog standard one so I'm not sure what more to set when the remote user has each tick box for permissions set already.
    Code:
    [31/Mar/2015:23:55:44 +0200] "POST /remote/index.php HTTP/1.1" 500 714 "-" "PHP-SOAP/5.3.2-1ubuntu4.29"
     
  6. dmgeurts

    dmgeurts Member

    remote user permissions are set to:
    Code:
    client_get_all,client_get,client_add,client_update,client_delete,client_get_sites_by_user,client_get_by_username,client_change_password,client_get_id,client_delete_everything;domains_domain_get,domains_domain_add,domains_domain_delete,domains_get_all_by_user;server_get,get_function_list,client_templates_get_all,server_get_serverid_by_ip,server_ip_get,server_ip_add,server_ip_update,server_ip_delete;admin_record_permissions
    Am I missing something here?
     
  7. dmgeurts

    dmgeurts Member

  8. dmgeurts

    dmgeurts Member

  9. till

    till Super Moderator Staff Member ISPConfig Developer

    This means that the mail module is not active for your user. You can not activate remote functions for modules that you are not allwed to use as ispconfig user.
     
    dmgeurts likes this.
  10. dmgeurts

    dmgeurts Member

    Thanks Till, lesson learned...
    I was struggling as I have two admin users. One can create new users and do system maintenance, but not much else. The other can change dns, sites email etc but not create new system users or other system tasks. This meant that I would have had to temporarily lift the permissions of the system admin user to include mail.
     
  11. Viperdriver2000

    Viperdriver2000 New Member

    sorry I activate the old theme again.
    Is this courier_to_dovecot.zip still relevant?
    Unfortunately, I do not quite understand how I implement step 4.
    Where do I create the "remoting user" or how?
     
  12. heikoch

    heikoch New Member

    I had to install the packages dovecot-mysql and dovecot-sieve under Debian - Jessie.
    Now it works.
    Are there any other packages?
    Thanks for the great work
     
  13. forbin42

    forbin42 New Member

    Hello,

    A bump on this old thread again. A long time ISPConfig user and made a bad choice a long time ago about choosing Courier of Dovecot and have been putting off the migration forever. I have tried to use the tool and getting soap errors. I am on Debian 9 and latest ISPConfig 3.1.15p3. I have:
    • followed the readme file of uninstalling courier and installing dovecot
    • change the ISPconfig System>Server Config>Mail to Dovecot and Sieve
    • Created the Remoting User with all options
    • I read that these later ISPConfig releases didn't need any changes to IDS
    • I confirmed that php-soap is installed
    This is the issue. When I configure the php script and run it, I get 'SOAP Error: Bad Request'
    I have played with the script config to every possible option I can think off with no luck. You guys have been great support over the years. Any pointers on where I could be wrong would be greatly appreciated.

    Thanks!
     
  14. Taleman

    Taleman Well-Known Member HowtoForge Supporter

    I think there was a howto on moving from courier to dovecot, have you found it?
    If what you have tried so far has failed, another method is install a new ISPConfig system with the e-mail software you want, and use ISPConfig Migration Toolkit to copy your data from old system to the new.
     
  15. forbin42

    forbin42 New Member

    Yes. Thanks. I did follow the howto but when I go to run the script I am getting an error. My concern is that the script relies on SOAP APIs and if the script doesnt work then the migration tool isn't going to be much more help as it relies on SOAP calls as well. I was really trying to put off having to build a new system to migrate and try to troubleshoot the issue there.

    Thanks for your help.
     
  16. Taleman

    Taleman Well-Known Member HowtoForge Supporter

    You should provide more info on your setup and errors.
    Soap Error: Bad Request" check the soap_url setting. Maybe it is missing slash character "/" at the end.
    What script? What are the SOAP user settings?
     
  17. Th0m

    Th0m ISPConfig Developer Staff Member ISPConfig Developer

    Did you change the SOAP settings in the script:
    Code:
    //* Soap user configuration
    $username = 'admin';
    $password = 'admin';
    $server_id = 1;
    $mail_base_dir = '/var/vmail';
    
    $soap_location = 'http://192.168.0.105:8080/remote/index.php';
    $soap_uri = 'http://192.168.0.105:8080/remote/';
    You have to change the username and password to your remote user details, server id to the id of your mailserver, the location and uri to your panel's URL (if you're using https, change it to https)
     
  18. twdotnet

    twdotnet New Member

    I can confirm, the script still works with ISPconfig 3.2.1 to convert from Courier to Dovecot. In addition there is also a migration script at dovecot to convert Maildir files and preserve UIDs.
    https :// wiki . dovecot . org /Migration/Courier
    (can't post links yet)
     

Share This Page