Roundcube

From Alpine Linux

What is Roundcube

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

Set up Roundcube from source on Alpine Linux

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

  • PHP
  • Lighttpd
  • Postgresql
  • Roundcube (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