Roundcube (Ubuntu 18.04)

Aus Tutorials
Version vom 21. März 2020, 14:49 Uhr von Martin Kirner (Diskussion | Beiträge) (→‎lokal)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Noch in Bearbeitung


Download

Unter https://roundcube.net/download/ die neueste Version auswählen.#

wget https://github.com/roundcube/roundcubemail/releases/download/1.4.3/roundcubemail-1.4.3-complete.tar.gz

Installation

Die Installationsanleitung findet sich unter /var/www/roundcube/INSTALL.

Package installieren

tar xzvf roundcubemail-*
sudo mv roundcubemail-1.4.3 /var/www/roundcube_1_4_3
cd /var/www/
sudo chown -R www-data:www-data roundcube_1_4_3/ 
sudo chmod -R g+w roundcube_1_4_3/
sudo ln -s roundcube_1_4_3/ roundcube

Folgende php-Skripte sind erforderlich (falls noch nicht installiert):

sudo apt-get install -y php-curl php-xml php-gettext php-cgi php-net-ldap3 php-mysql php-gettext php-pear \
libcurl4-openssl-dev php-mbstring php7.3-mbstring php7.3-gd php7.3-dev php7.3-intl php7.3-imagick php7.3-zip \
php-ldap
sudo apt-get install -y libicu-dev
sudo pear install Mail_Mime
sudo pear install Net_SMTP
sudo pear install Auth_SASL
sudo pear install Net_Sieve
sudo pear install Crypt_GPG

Für Net_IDNA2 gibt es noch keine stabile Version - muss mit Anhang beta runtergeladen werden

sudo pear install Net_IDNA2-beta

Composer

Composer installieren

sudo mkdir /var/www/.composer
sudo chown www-data:www-data /var/www/.composer
cd /var/www/roundcube

Folgende Skriptzeilen stammen von https://getcomposer.org/download/:

sudo -u www-data php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
sudo -u www-data php -r "if (hash_file('sha384', 'composer-setup.php') === 'baf1608c33254d00611ac1705c1d9958c817a1a33bce370c0595974b342601bd80b92a3f46067da89e3b06bff421f182') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
sudo -u www-data php composer-setup.php
sudo -u www-data php -r "unlink('composer-setup.php');"

composer.json

sudo -u www-data cp composer.json-dist composer.json
{
    "name": "roundcube/roundcubemail",
    "description": "The Roundcube Webmail suite",
    "license": "GPL-3.0+",
    "repositories": [
        {
            "type": "composer",
            "url": "https://plugins.roundcube.net/"
        },
        {
            "type": "vcs",
            "url": "https://git.kolab.org/diffusion/PNL/php-net_ldap.git"
        }
    ],
    "require": {
        "php": ">=5.4.0",
        "pear/pear-core-minimal": "~1.10.1",
        "pear/net_socket": "~1.2.1",
        "pear/auth_sasl": "~1.1.0",
        "pear/net_idna2": "~0.2.0",
        "pear/mail_mime": "~1.10.0",
        "pear/net_smtp": "~1.7.1",
        "pear/crypt_gpg": "~1.6.0",
        "pear/net_sieve": "~1.4.0",
        "roundcube/plugin-installer": "~0.1.6",
        "endroid/qr-code": "~1.6.5",
        "pear/net_ldap2": "~2.2.0",
        "kolab/Net_LDAP3": "dev-master"
    },
    "require-dev": {
        "phpunit/phpunit": "^4.8.36 || ^5.7.15"
    }
}

Pakete installieren

sudo -u www-data php composer.phar update
sudo -u www-data php composer.phar install --no-dev

Datenbank erstellen

mysql -u root -p
mysql> CREATE DATABASE roundcubemail CHARACTER SET utf8 COLLATE utf8_general_ci; 
mysql> create user 'roundcube'@'%' identified by '<password>';
mysql> create user 'roundcube'@'localhost' identified by '<password>';
mysql> grant all privileges on roundcubemail.* to 'roundcube'@'%';
mysql> grant all privileges on roundcubemail.* to 'roundcube'@'localhost';
mysql> flush privileges; 
mysql> quit;

Konfiguration

Apache

php.ini

Die Datei

sudo vi /etc/php/7.3/apache2/php.ini 

bearbeiten und folgende Zeile anpassen:

date.timezone = Europe/Vienna

Danach muss Apache neu gestartet werden:

sudo service apache2 restart

lokal

Konfigurationsdatei erstellen, um roundcube lokal über die IP-Adresse (z.B.: http://10.0.0.156/roundcube/) zu erreichen:

cd /etc/apache2/conf-available/
sudo vi roundcube.conf

Folgenden Inhalt in die neu erstellte Datei /etc/apache2/conf-available/roundcube.conf schreiben:

Alias /roundcube "/var/www/roundcube/"
<Directory "/var/www/roundcube">
    Options +FollowSymLinks
    AllowOverride All

    <IfModule mod_dav.c>
      Dav off
    </IfModule>

    SetEnv HOME /var/www/roundcube
    SetEnv HTTP_HOME /var/www/roundcube
</Directory>

Apache-Konfigurationsdateien neu einlesen:

sudo a2enconf roundcube.conf
sudo service apache2 reload

extern

Zertifikat erstellen

Siehe dazu SSL Zertifikat

HTTP Weiterleitung
cd /etc/apache2/sites-available/
sudo vi mail1.conf
<VirtualHost *:80>
	ServerName mail1.kirner.or.at
	ServerAlias mail1.kirner.or.at
	Redirect / https://mail1.kirner.or.at
</VirtualHost>
sudo a2ensite mail1.conf
sudo service apache2 reload
HTTPS
sudo vi mail1-ssl.conf
<VirtualHost *:443>
	ServerName mail1.kirner.or.at

	SSLEngine on 
	SSLCertificateFile /etc/ssl/certs/mail1.crt 
	SSLCertificateKeyFile /etc/ssl/private/apache.key
 
	# Pfad zu den Webinhalten 
	DocumentRoot /var/www/roundcube

	ErrorLog ${APACHE_LOG_DIR}/roundcube.kirner.or.at-error.log
	CustomLog ${APACHE_LOG_DIR}/roundcube.kirner.or.at-access.log combined
</VirtualHost>
sudo a2ensite mail1-ssl.conf
sudo service apache2 reload

Roundcube

Installer

Installer http://10.0.0.156/roundcube/installer/ aufrufen und alle Schritte ausführen.

http://10.0.0.156/roundcube/installer/index.php?_step=3


Nach der Konfiguration Installationsverzeichnis löschen:

sudo rm -r /var/www/roundcube/installer/

config.inc.php

Die Datei

sudo vi /var/www/roundcube/config/config.inc.php

sollte nach der Konfiguration etwa so aussehen:

<?php

/* Local configuration for Roundcube Webmail */

$config['enable_installer'] = false;

$config['db_dsnw'] = 'mysql://roundcube:<password>@localhost/roundcubemail';


$config['default_host'] = '%n';

$config['imap_conn_options'] = array(
  'ssl'         => array(
     'verify_peer'      => false,
     'verify_peer_name' => false,
  ),
);


$config['smtp_server'] = 'tls://%n';

$config['smtp_conn_options'] = array(
  'ssl'         => array(
     'verify_peer'      => false,
     'verify_peer_name' => false,
  ),
);

$config['smtp_port'] = 587;

$config['smtp_user'] = '%u';

$config['smtp_pass'] = '%p';


$config['support_url'] = '';

$config['des_key'] = '<key>';

$config['username_domain'] = 'kirner.or.at';

$config['product_name'] = 'Kirner Webmail (Mail 1)';

$config['plugins'] = array(
	'acl', 
	'additional_message_headers', 
	'archive', 
	'attachment_reminder', 
	'emoticons', 
	'enigma', 
	'managesieve', 
	'markasjunk', 
	'newmail_notifier', 
	'password', 
	'userinfo', 
	'vcard_attachments', 
	'zipdownload'
);

$config['language'] = 'de_DE';

Plugins

Plugins Roundcube

Links

https://roundcube.net/


Zurück zu Mailserver einrichten