Roundcube
Roundcube is a free and open source webmail software for the masses, written in PHP.
Installing PHP and Lighttpd
    
For installing the additional packages first activate community packages:
vi /etc/apk/repositories
Uncomment the following:
http://pkg.example.com/alpine/v3.11/community
Update the packagelist:
apk update
Install the additional packages:
apk add lighttpd php7-common php7-session php7-iconv php7-json php7-gd php7-curl php7-xml php7-mysqli php7-imap php7-cgi fcgi php7-pdo php7-pdo_mysql php7-soap php7-xmlrpc php7-posix php7-mcrypt php7-gettext php7-ldap php7-ctype php7-dom php7-simplexml
Configure Lighttpd
    
Edit lighttpd.conf
vi /etc/lighttpd/lighttpd.conf
Uncomment line:
include "mod_fastcgi.conf"
Start lighttpd service and add to needed runlevel
    
rc-service lighttpd start && rc-update add lighttpd default
To add security, configure https access in Lighttpd.
Add additional packages
apk add php-openssl php-intl
vHost
    
vi /etc/lighttpd/lighttpd.conf
- Uncomment this line:
 
"mod_simple_vhost"
- 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"
 }
  
- Restart the web service:
 
/etc/init.d/lighttpd restart
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
 
- 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
    
Start your browser and visit: https://round.cube.mail.ipaddres/installer/
Roundcube Webmail Installer have 3 steps:
- Check environment
 
- Check if all is ok, click NEXT
 
- 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
 
 
 - product_name 
 
- b. Logging & Debugging
- log_driver
- syslog
 
 - log_dir
- /var/log/roundcube/
 
 
 - log_driver
 
- 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
 
 
 - db_dsnw
 
- 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
 
 
 - smtp_server
 
Now need to download and copy both files (main.inc.php and db.inc.php) to /etc/roundcube/
- Test config
 
- Test the SMTP config sending a mail and the IMAP config using a username and password.
 
Final Steps
    
- Remove or rename the /usr/share/webapps/roundcube/installer/ folder.
 - You should now be able to get to roundcube at: https://round.cube.mail.ipaddres/