Roundcube

From Alpine Linux
Revision as of 11:38, 26 April 2011 by Danieloc (talk | contribs) (Install Rouncube from source to access MS Exchange)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

What is Roundcube

Roundcube is a free and open source webmail software for the masses, written in PHP.

Set up Rouncube from source on Alpine Linux

This document will be a quick c/p guide to setup Rouncube from Source on Alpinelinux and connecting to MS Exchange Server. We assume you have alpinelinux installed and running. What we will install is the following:

  • PHP
  • Lighttpd
  • Postgresql
  • Rouncube (from source)

Installing PHP and Lighttpd

 apk add lighttpd php php-json php-pgsql php-imap php-xml php-openssl php-mcrypt php-gd php-iconv php-intl 

To add security, configure the https access in Lighttpd

  • Secure Access
 setup-acf
 mv /etc/ssl/mini_httpd/server.pem /etc/lighttpd/server-bundle.pem
 chown root:root /etc/lighttpd/server-bundle.pem
 chmod 400 /etc/lighttpd/server-bundle.pem
  • Configure Lighttpd
 vi  /etc/lighttpd/lighttpd.conf
  • Uncomment this two lines:
 "mod_simple_vhost", 
 include "mod_fastcgi.conf"
  • Add this lines
 simple-vhost.server-root   = "/var/www/localhost/htdocs/"
 simple-vhost.default-host  = "/"
 simple-vhost.document-root = "www/"
 $SERVER["socket"] == "round.cube.mail.ipaddres:443" {
 ssl.engine    = "enable"
 ssl.pemfile   = "/etc/lighttpd/server-bundle.pem"
 }
  
  • Remove mini_httpd and start web services:
 /etc/init.d/mini_httpd stop
 rc-update del mini_httpd
 apk del mini_httpd
 rc-update add lighttpd
 /etc/init.d/lighttpd start
  • Set the php timezone acording to: [1]
 vi /etc/php/php.ini
  • Uncomment and set the date.timezone = (e.g. 'America/Asuncion')

Download and Install Rouncube

  • Create folder
 mkdir -p /usr/share/webapps
 cd /usr/share/webapps
  • Download
 wget http://downloads.sourceforge.net/project/roundcubemail/roundcubemail/0.5.2/roundcubemail-0.5.2.tar.gz
  • Unpack
 tar zxvf roundcubemail-0.5.2.tar.gz 
  • Rename folder and change permissions
 mv roundcubemail-0.5.2 roundcubemail
 chmod 775 -R roundcubemail
  • Create the symlynk
 mv /var/www/localhost/htdocs/ /var/www/localhost/htdocs.old
 ln -s /usr/share/webapps/roundcube/ /var/www/localhost/htdocs/
  • Create logs folder
 mkdir -p /var/log/roundcube/
 chown -R lighttpd:lighttpd /var/log/roundcube/
 chmod 775 /var/log/roundcube/ -R

Postgres installation

  • Add postgresql, create and configure database
 apk add postgresql postgresql-client
 /etc/init.d/postgresql setup
 /etc/init.d/postgresql start
 rc-update add postgresql
 su postgres
 createuser roundcube

Answers: N,N,Y

  • Shall the new role be a superuser? (y/n) n
  • Shall the new role be allowed to create databases? (y/n) n
  • Shall the new role be allowed to create more new roles? (y/n) y
 createdb -O roundcube -E UNICODE -T template0 roundcubemail

Note: Set the same timzone you use in the php.ini (e.g. 'America/Asuncion')

 psql roundcubemail
 ALTER USER roundcube WITH PASSWORD 'the_new_password';
 ALTER DATABASE roundcubemail SET timezone TO 'America/Asuncion';
 \c - roundcube
 \i /usr/share/webapps/roundcube/SQL/postgres.initial.sql
 roundcubemail=> \q
 exit

Roundcube Web Configuration

 https://round.cube.mail.ipaddres/installer/
  • Roundcube Webmail Installer have 3 steps:

1. Check environment

  Check if all is ok, click NEXT

2. Create config

  Here you need to set:
  
  a. General configuration
     product_name 
        Your Country Branch Webmail Access
        temp_dir
           /tmp/
        identities_level
           one identity with possibility to edit all params
  b. Logging & Debugging
     log_driver
        syslog
     log_dir
        /var/log/roundcube/
  c. Database setup
     db_dsnw
        Database settings for read/write operations:
        PgSQL              Database type
        localhost          Database server
        roundcubemail      Database name 
        roundcube	  Database user name 
        *********	  Database password 
  d. IMAP Settings		
     default_host
        The IMAP host(s) chosen to perform the log-in
        your.exchange.ip.address
     username_domain
        your.domain
  e. SMTP Settings
     smtp_server
        your.exchange.ip.address
       Now need to download and copy both files (main.inc.php and db.inc.php) to /etc/roundcube/

3. Test config

     Test the SMTP config sending a mail and the IMAP config using a username and password.

8. Final Steps

*  Follow the instructions in step 2 of the install to copy the files to the serverBR
*  Remove or rename the  /usr/share/webapps/roundcube/installer/ folder.BR
*  You should now be able to get to roundcube at:  https://round.cube.mail.ipaddres/BR