de nieuwste RoundCube Webmail installeren op Ubuntu 18.04 LTS

Roundcube is een gratis en open bron web-gebaseerde webmail oplossing geschreven in PHP. Het is een web-gebaseerd IMAP programma, dus je kunt je e-mail server ook vanuit je web browser benaderen. Je hoeft geen e-mails te lezen en te versturen vanuit een desktop mail client. Deze handleiding laat zien hoe je RoundCube installeert met Apache webserver en beveiligd met een Let’s encrypt SSL certificaat op Ubuntu 18.04 LTS (Bionic Beaver).

RoundCube functies

  • MIME ondersteuning, berichten zoeken en spellingscontrole.
  • LDAP directory integratie voor adresboeken.
  • Ondersteuning van meerdere talen.
  • Ondersteuning voor gedeelde/globale mappen en IMAP ACL’s.
  • Ingebouwde caching voor snelle toegang tot mailboxen.
  • Ondersteuning voor externe SMTP server en IDNA.

Vereisten

  • Een server met Ubuntu 18.04 LTS.
  • Een niet-root gebruiker met sudo rechten.

Installeer LAMP server

Voor je begint, moet je de pakketlijst bijwerken en nog niet verschenen updates installeren:

sudo apt-get update
sudo apt-get upgrade

Installeer dan Apache en MariaDB met het volgende commando:

sudo apt-get install apache2 mariadb-server php7.2 php7.2-gd php-mysql php7.2-curl php7.2-zip php7.2-ldap php7.2-mbstring php-imagick php7.2-intl php7.2-xml unzip wget curl -y

Als alle pakketten geïnstalleerd zijn, moet je de Timezone instelling in het php.ini bestand veranderen. Je kunt dit doen met het volgende commando:

sudo nano /etc/php/7.2/apache2/php.ini

Breng de volgende veranderingen aan:

date.timezone = Europe/Berlin

Bewaar en sluit het bestand, start dan de Apache en MariaDB dienst en zet ze aan om bij het opstarten te starten met het volgende commando:

sudo systemctl start apache2
sudo systemctl enable apache2
sudo systemctl start mariadb
sudo systemctl enable mariadb

Download Roundcube

Eerst moet je de nieuwste versie van Roundcube naar je systeem downloaden. Je kunt het downloaden met het volgende commando:

cd /tmp
wget https://github.com/roundcube/roundcubemail/releases/download/1.3.8/roundcubemail-1.3.8-complete.tar.gz

Als de download voltooid is, pak je het gedownloade bestand uit met het volgende commando:

tar -xvzf roundcubemail-1.3.8-complete.tar.gz

Verplaats vervolgens de uitgepakte directory naar de Apache web root directory:

mv roundcubemail-1.3.8 /var/www/html/roundcube

Geef vervolgens de juiste rechten aan de roundcube directory:

sudo chown -R www-data:www-data /var/www/html/roundcube
sudo chmod -R 775 /var/www/html/roundcube

Configureer de Database

Standaard is de MariaDB installatie niet beveiligd. Je zult hem dus eerst moeten beveiligen. Je kunt hem beveiligen door het volgende script uit te voeren:

mysql_secure_installation

Beantwoord alle vragen zoals hieronder aangegeven:

Change the password for root ? N
Remove anonymous users? Y
Disallow root login remotely? Y
Remove test database and access to it? Y
Reload privilege tables now? Y

Zodra de MariaDB beveiligd is, log je in in de MariaDB shell met het volgende commando:

mysql -u root -p

Voer je root wachtwoord in, maak dan een database en gebruiker voor Roundcube:

MariaDB [(none)]> CREATE DATABASE roundcubedb;
MariaDB [(none)]> CREATE USER 'roundcube'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON roundcubedb.* to 'roundcube'@'localhost';

Vervang het woord ‘password’ door een veilig wachtwoord naar keuze en onthoud dit wachtwoord, we hebben het nodig voor de roundcube installatie later. Spoel vervolgens de privileges en verlaat de MariaDB shell met het volgende commando:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit;

Vervolgens moet je initiële tabellen importeren in de roundcubedb database. Je kunt dit doen met het volgende commando:

cd /var/www/html/roundcube
mysql -u roundcube -p roundcubedb < SQL/mysql.initial.sql

Typ het roundcube database gebruikerswachtwoord in als daarom gevraagd wordt.

Configureer Apache voor Roundcube

Vervolgens moet je een Apache virtual host bestand maken voor Roundcube. Je kunt dit doen met het volgende commando:

sudo nano /etc/apache2/sites-available/roundcube.conf

Voeg de volgende regels toe:

<VirtualHost *:80>
        ServerName example.com                          
        ServerAdmin [email protected]
        DocumentRoot /var/www/html/roundcube

        ErrorLog ${APACHE_LOG_DIR}/roundcube_error.log
        CustomLog ${APACHE_LOG_DIR}/roundcube_access.log combined

        <Directory /var/www/html/roundcube>
                Options -Indexes
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
</VirtualHost>

vervang example.com door je domeinnaam. Bewaar en sluit het bestand, schakel dan het virtuele host bestand in met het volgende commando:

sudo a2ensite roundcube

Schakel vervolgens Apache herschrijfmodule in en herstart de Apache server met het volgende commando:

sudo a2enmod rewrite
sudo systemctl restart apache2

Schakel SSL in met Let’s encrypt voor RoundCube

In deze stap schakelen we SSL in voor RoundCube door een gratis Let’s encrypt SSL certificaat te gebruiken. De eerste stap is de installatie van de certbot Let’s encrypt client die we zullen gebruiken om het SSL certificaat te verkrijgen.

sudo apt-get install certbot python-certbot-apache

Vraag het SSL cert aan met dit commando:

sudo certbot --apache

BELANGRIJK: De domeinnaam of het subdomein dat je voor de RoundCube website gebruikt moet vanaf het internet bereikbaar zijn om een SSL cert te krijgen. Certbot zal nu een paar vragen stellen. Zie de antwoorden in het rood.

[email protected]: certbot --apache
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]
-------------------------------------------------------------------------------
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v01.api.letsencrypt.org/directory
-------------------------------------------------------------------------------
(A)gree/(C)ancel: a
-------------------------------------------------------------------------------
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about EFF and
our work to encrypt the web, protect its users and defend digital rights.
-------------------------------------------------------------------------------
(Y)es/(N)o: n
Which names would you like to activate HTTPS for?
-------------------------------------------------------------------------------
1: roundcube.example.com
-------------------------------------------------------------------------------
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 1
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for roundcube.example.com
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/roundcube-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/roundcube-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/roundcube-le-ssl.conf
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Redirecting vhost in /etc/apache2/sites-enabled/roundcube.conf to ssl vhost in /etc/apache2/sites-available/roundcube-le-ssl.conf
-------------------------------------------------------------------------------
Congratulations! You have successfully enabled https://roundcube.example.com
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=roundcube.example.com
-------------------------------------------------------------------------------
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/roundcube.example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/roundcube.example.com/privkey.pem
Your cert will expire on 2019-06-25. To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the "certonly" option. To non-interactively renew *all* of
your certificates, run "certbot renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

De RoundCube vhost is nu toegankelijk via https.

Toegang tot Webmail

Open nu je web browser en typ de URL https://example.com/installer(vervang example.com door je domeinnaam in de URL!). Je wordt doorgestuurd naar de volgende pagina:

RoundCube web installatieprogramma

Webinstallateur - deel 2

Als alle vereisten vervuld zijn, klik je op de Next knop. Je zou de volgende pagina moeten zien:

Algemene configuratie:

Algemene configuratie

Logging en Database instellingen:

Database instellingen

Vul hier de databankgegevens in van de roundcubedb die je in de stap Database instellen aanmaakte.

SMTP en IMAP instellingen:

SMTP Instellingen

IMAP instellingen

Plugins:

Plugins

Geef hier alle gegevens op die je nodig hebt en klik dan op de CREATE CONFIG knop. Je zou de volgende pagina moeten zien:

Creëer Config

Klik vervolgens op de knop Continue. Je zou de volgende pagina moeten zien:

Config gemaakt

Klik nu op de knop Check login. Verwijder na het voltooien van de installatie de directory /var/www/html/roundcube/installer:

sudo rm -rf /var/www/html/roundcube/installer

Ga nu naar je webmail met de URL http://your-ip-address of http://your-domain.com en meld je aan met je e-mail.

Roundcube Inloggen

RoundCube is met succes geïnstalleerd op Ubuntu 18.04 LTS.