HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials

HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials (http://www.howtoforge.com/forums/index.php)
-   Tips/Tricks/Mods (http://www.howtoforge.com/forums/forumdisplay.php?f=29)
-   -   HOWTO: Replace Squirrelmail for Roundcube on ISPConfig 3 for Debian Lenny (http://www.howtoforge.com/forums/showthread.php?t=51764)

Romoku 7th March 2011 06:41

HOWTO: Replace Squirrelmail for Roundcube on ISPConfig 3 for Debian Lenny
 
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.

Toucan 16th March 2011 17:51

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

metaldrummer 18th July 2011 07:40

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.

Quote:

[Mon Jul 18 01:29:13 2011] [error] [client 190.110.155.89] PHP Warning: Unknown: open_basedir restriction in effect. File(/usr/share/roundcube/index.php) is not within the allowed path(s): (/var/www/clients/client1/web1/web:/var/www/clients/client1/web1/tmp:/var/www/clientwebhosting.nn/web:/srv/www/clientwebhosting.nn/web:/usr/share/php5:/tmp:/usr/share/phpmyadmin:/etc/phpmyadmin:/var/lib/phpmyadmin) in Unknown on line 0
[Mon Jul 18 01:29:13 2011] [error] [client 190.110.155.89] PHP Warning: Unknown: failed to open stream: Operation not permitted in Unknown on line 0
[Mon Jul 18 01:29:13 2011] [error] [client 190.110.155.89] PHP Fatal error: Unknown: Failed opening required '/usr/share/roundcube/index.php' (include_path='.:/usr/share/php:/usr/share/pear') in Unknown on line 0
Any can help me?
Regards

neobcn 18th July 2011 12:35

Quote:

Originally Posted by Romoku (Post 252772)
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.


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

djkoelkast 31st December 2011 16:30

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?


All times are GMT +2. The time now is 05:25.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, vBulletin Solutions, Inc.