HOWTO: Replace Squirrelmail for Roundcube on ISPConfig 3 for Debian Lenny

Discussion in 'Tips/Tricks/Mods' started by Romoku, Mar 7, 2011.

  1. Romoku

    Romoku New Member

    After seeing the tutorial for squeeze I said, "I must have it!"

    So I did it.

    First thing is: I didn't really care about the whole SSL thing from 8omas's guide. I find it annoying when I http://mydomain.tld:8080 and an error 400 pops "please go to https://hostname.mydomain.tld:8080" since hostname.mydomain.tld is internal, but I will need to fix it somehow.

    I also found that one cannot do a simple [apache] rewrite rule to solve this problem since port 8080 is listening over SSL which means one cannot have two listeners on the same port.

    Either way to the good part.

    First of all roundcube isn't part of the lenny repository, so we are gonna build it from scratch.

    Italics mean a command.
    # means do this with privileges (root, sudo, etc..)

    Step 0: Uninstall squirrelmail (#apt-get remove squirrelmail)

    Step 1: Lets get roundcube!

    $ cd /tmp
    $ wget this
    $ tar xvf roundcubemail-0.5.1.tar.gz
    $ mv roundcubemail-0.5.1 roundcube
    # chown -R www-data:www-data roundcube
    # chmod g+w roundcube/temp
    # chmod g+w roundcube/logs
    # mv roundcube /usr/share

    Step 2: Lets make a mysql database!

    # mysql -u root -p
    mysql> CREATE DATABASE roundcubemail;
    mysql> GRANT ALL PRIVILEGES ON roundcubemail.* TO username@localhost IDENTIFIED BY 'password';
    mysql> FLUSH PRIVILEGES;
    mysql> exit;

    Step 3: Lets mod apache!

    # cd /etc/apache2/sites-available
    # touch roundcube.conf
    # nano roundcube.conf

    Step 4: Copy paste Initial Config!

    Code:
    Alias /webmail /usr/share/roundcube
    
    <Directory /usr/share/roundcube>
      Options Indexes FollowSymLinks
      AllowOverride None
      DirectoryIndex index.php
      Order Allow,Deny
      Allow from all
    </Directory>
    <Directory /usr/share/roundcube/*>
      Deny from all
    </Directory>
    <Directory /usr/share/roundcube/config>
      Deny from all
    </Directory>
    <Directory /usr/share/roundcube/temp>
      Deny from all
    </Directory>
    <Directory /usr/share/roundcube/logs>
      Deny from all
    </Directory>
    <Directory /usr/share/roundcube/skins>
      Allow from all
    </Directory>
    <Directory /usr/share/roundcube/installer>
      Allow from all
    </Directory>
    <Directory /usr/share/roundcube/bin>
      Allow from all
    </Directory>
    <Directory /usr/share/roundcube/SQL>
      Allow from all
    </Directory>
    <Directory /usr/share/roundcube/program>
      Allow from all
    </Directory>
    <Directory /usr/share/roundcube/plugins>
      Allow from all
    </Directory>
    Step 5: Lets link it!
    # cd ..
    # ln sites-available/roundcube.conf sites-enabled/000-roundcube
    # /etc/init.d/apache2 reload

    Step 6: Lets install it!

    Go to http://yourdomain.tld/webmail/installer
    Run the setup:

    Use your mail server's IP address for the IMAP host.

    Type in MySQL info.

    Configure any additional options to your current config.

    Now you will be prompted to download the main.inc.php and db.inc.php.

    Either try to wget them from your SSH or throw them on Mediafire or any other file hosting service with direct download links.

    Step 6: test the config!

    # cd /usr/share/roundcube/config
    # wget www.urltofile.tld/main.inc.php
    # wget www.urltofile.tld/db.inc.php

    Step 6.A.: From Step 3 in the setup make sure your config passes!

    Step 7: Now lets clean it up!

    # cd /usr/share/roundcube
    # rm -r installer/
    # cd /etc/apache2
    # rm sites-enabled/000-roundcube
    # mv sites-available/roundcube.conf sites-available/roundcube.conf.old ((Or just remove it))
    # touch sites-available/roundcube.conf
    # ln sites-available/roundcube.conf sites-enabled/000-roundcube
    # nano sites-available/roundcube.conf

    Code:
    Alias /webmail /usr/share/roundcube
    
    <Directory /usr/share/roundcube>
      Options Indexes FollowSymLinks
      AllowOverride None
      DirectoryIndex index.php
      Order Allow,Deny
      Allow from all
    </Directory>
    <Directory /usr/share/roundcube/*>
      Deny from all
    </Directory>
    <Directory /usr/share/roundcube/config>
      Deny from all
    </Directory>
    <Directory /usr/share/roundcube/temp>
      Deny from all
    </Directory>
    <Directory /usr/share/roundcube/logs>
      Deny from all
    </Directory>
    <Directory /usr/share/roundcube/skins>
      Allow from all
    </Directory>
    <Directory /usr/share/roundcube/bin>
      Deny from all
    </Directory>
    <Directory /usr/share/roundcube/SQL>
      Deny from all
    </Directory>
    <Directory /usr/share/roundcube/program>
      Allow from all
    </Directory>
    <Directory /usr/share/roundcube/plugins>
      Allow from all
    </Directory>
    # /etc/init.d/apache2 reload

    Step 8: ???

    Step 9: Profit! You now have roundcube.
     
    Last edited: Mar 16, 2011
  2. Toucan

    Toucan Member

    Thanks - worked well for me. The only addition I would make is, assuming I hadn't done anything wrong, is the installer didn't start up from the root directory of roundcube. I had to changed:

    Code:
    Go to http://yourdomain.tld/webmail
    
    to

    Code:
    Go to http://yourdomain.tld/webmail/installer
    
    Thanks
     
  3. metaldrummer

    metaldrummer New Member

    Hi:
    Thanks por this how to.

    When go to http://ns.mydomain.nn/webmail (host name of server) is ok... but when go to http://www.clientwebhosting.nn/webmail show error 500

    This is error.log from apache in client site.

    Any can help me?
    Regards
     
  4. neobcn

    neobcn New Member


    Any issue, i install roundcube in DEBIAN & , with the debian repository with :

    apt-get roundcube , i need install the last version, i uninstall my install roundcube aptg-get remove roundcube.

    My question is: your guide for install roundcube the last version is fcuntion in debian 6??

    other question , my pane is in https port 8443 , what hapen for this isntalltion?

    thx
     
  5. djkoelkast

    djkoelkast New Member

    Thanks for the howto, I used the latest version of roundcube. It works as long as I use the intenal IP of the server

    http://192.168.x.x/webmail > works fine
    but
    http://www.domain.tld/webmmail gives me a download called "webmail". It actually is the php index page of roundcube. How can I solve this?
     

Share This Page