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
Basic Installation
For installing the additional packages first activate community packages and update the package index
Install the required packages:
# apk add lighttpd php82 fcgi php82-cgi
Configure Lighttpd
Edit lighttpd.conf (/etc/lighttpd/lighttpd.conf) and uncomment the line:
Contents of /etc/lighttpd/lighttpd.conf
Edit mod_fastcgi.conf (/etc/lighttpd/mod_fastcgi.conf), find and change /usr/bin/php-cgi to /usr/bin/php-cgi82.
Contents of /etc/lighttpd/mod_fastcgi.conf
Start lighttpd
service and add it to default 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
- 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
- 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/