Ein eigener Mail- und Cloudserver rein aus freier Software ohne Lizenzkosten auch im Gewerblichen Einsatz. Es gibt zwar Open-Xchange, Zimbra und viele andere Cloudserver und Groupware, aber die ist leider meist nur für den privaten Gebrauch kostenfrei und OpenSource, jedoch keine freie Software.
Daher meine für mich ideale Groupware Lösung
Das Hostsystem meiner Wahl ist ein Ubuntu Server 16.04 LTS amd64 mit nachträglich eingepflegten PPAs der entsprechenden Communitys.
Ubuntu Server installieren (Server oder Desktop ist egal)
Wichtig: wer per SSH seinen Server aufsetzt, der sollte alle Schritte in einer Bash ausführen welche in einer Screen Session gestartet wurde. Nur so führt der Server alle Schritte bis zum Ende aus auch wenn die SSH Session unterbrochen wurde.
Code: Alles auswählen
apt-get update && apt-get -y install screen
Code: Alles auswählen
sudo screen bash
Code: Alles auswählen
service apparmor stop
update-rc.d -f apparmor remove
apt-get remove apparmor apparmor-utils
Code: Alles auswählen
service sendmail stop; update-rc.d -f sendmail remove
Code: Alles auswählen
apt-get update
Code: Alles auswählen
apt-get -y dist-upgrade
Code: Alles auswählen
apt-get -y install ssh mc vim apache2 apache2-doc apache2-utils postfix postfix-mysql postfix-doc mariadb-client mariadb-server getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve dovecot-lmtpd amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl mailman sudo libapache2-mod-php php7.0 php7.0-common php7.0-gd php7.0-mysql php7.0-imap php7.0-cli php7.0-cgi libapache2-mod-php libapache2-mod-fcgid apache2-suexec-pristine php-pear php7.0-mcrypt mcrypt imagemagick libruby libapache2-mod-python php7.0-curl php7.0-intl php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl php7.0-opcache php-apcu php7.0-fpm memcached php-memcache php-imagick php-gettext php7.0-zip php7.0-mbstring openssl easy-rsa openvpn aptitude libreoffice clamav libnet-ldap-perl libconvert-asn1-perl ntp ntpdate letsencrypt bind9 dnsutils haveged fail2ban ufw javascript-common libjs-jquery-mousewheel php-net-sieve tinymce
Code: Alles auswählen
vim /etc/apache2/conf-available/httpoxy.conf
Code: Alles auswählen
<IfModule mod_headers.c>
RequestHeader unset Proxy early
</IfModule>
Code: Alles auswählen
a2enmod suexec rewrite ssl actions include cgi
a2enmod dav_fs dav auth_digest headers
a2enmod actions fastcgi alias
a2enconf httpoxy
Mailserver Komponenten konfigurieren
Code: Alles auswählen
service spamassassin stop
update-rc.d -f spamassassin remove
Code: Alles auswählen
vim /etc/clamav/clamd.conf
Code: Alles auswählen
AllowSupplementaryGroups true
Port des Postausgangsservers ändern
In vielen Firmen- und Hochschulnetzwerken ist der Port 25 gesperrt. Der Port 25 wird in der Regel für unverschlüsselten Mailversand genutzt und besonders von Spambots missbraucht. Unser Mailserver jedoch sendet verschlüsselt per SMTPS auf Port 465
Code: Alles auswählen
vim /etc/postfix/master.cf
Code: Alles auswählen
smtp inet n - y - - smtpd
Code: Alles auswählen
465 inet n - y - - smtpd
Code: Alles auswählen
service postfix restart
ISPConfig3 installieren
Code: Alles auswählen
cd /tmp
wget https://netcologne.dl.sourceforge.net/project/ispconfig/ISPConfig%203/ISPConfig-3.1.7/ISPConfig-3.1.7.tar.gz
tar xzf ISPConfig-3.1.6.tar.gz
cd ispconfig3_install
cd install
php install.php
Hinweis: für ein Update von ISPConfig3 den gleichen Weg gehen, aber statt "php install.php" muss "php update.php" ausgeführt werden!
Nach der Installation von ISPConfig3 Rechner neustarten und über das
Webinterfache https://ipdesservers:8080 aufrufen und mit
Benutzer: admin
Passwort: admin
einloggen.
*** Nachfolgender Inhalt veraltet, nur noch interessant wenn man händisch installieren will ***
Webserverinhalte Roundcube (WebGUI um Mails abzurufen) und nextCloud installieren
Roundcube installieren
Voraussetzungen erfüllen
Code: Alles auswählen
pear install Mail_Mime
Code: Alles auswählen
pear install Net_IDNA2
Code: Alles auswählen
php pyrus.phar install pear/Net_IDNA2
Code: Alles auswählen
cd /var/www/
wget "https://github.com/roundcube/roundcubemail/releases/download/1.2.3/roundcubemail-1.2.3.tar.gz"
tar xzf roundcubemail-1.2.3.tar.gz
mv roundcubemail-1.2.3 roundcube
rm roundcubemail-1.2.3-.tar.gz
Code: Alles auswählen
cd /var/www/
wget https://download.nextcloud.com/server/releases/nextcloud-11.0.1.zip
unzip nextcloud-11.0.1.zip
chown www-data:www-data -R /var/www/nextcloud
rm nextcloud-11.0.1.zip
Meine vhost Config
Code: Alles auswählen
<VirtualHost *:80>
DocumentRoot "/var/www/nextcloud"
ServerName cloud.beispielserver.de
ServerAlias cloud.andererbeispielserver.de
<Directory "/var/www/nextcloud">
allow from all
AllowOverride All
Options -Indexes
</Directory>
</VirtualHost>
<VirtualHost *:443>
SSLEngine on
SSLCertificateKeyFile /etc/apache2/ssl/cloud.beispielserver.key
SSLCertificateFile /etc/apache2/ssl/cloud.beispielserver.crt
SSLCACertificateFile /etc/apache2/ssl/class3.crt
DocumentRoot "/var/www/nextcloud"
<Directory "/var/www/nextcloud/">
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ServerName cloud.beispielserver.de
ServerAdmin support@beispielserver.de
ServerSignature On
</VirtualHost>
Datenverzeichnis für nextCloud anlegen. Dieses sollte sich Außerhalb des Webverzeichnisses befinden. In meinem Fall habe ich
Code: Alles auswählen
mkdir /home/benutzer/nextcloud
chown www-data:www-data /home/benutzer/nextcloud/
Um Dateien größer 2 MB hochladen zu können und damit der Webserver die korrekte Zeitzone kennt (für Roundcube) müsst Ihr noch in der
vim /etc/php/7.0/apache2/php.ini folgende Werte ändern auf
Code: Alles auswählen
vim /etc/php/7.0/apache2/php.ini
Code: Alles auswählen
post_max_size = 1024M
upload_max_filesize = 1024M
date.timezone = Europe/Berlin
wenn der Mail Server ohne Relayhost betrieben wird, muss unbedingt noch der PTR Resource Record und SPF Record gesetzt werden da sonst die ausgehenden Mails von den Mailservern des Empfängers mit hoher Wahrscheinlichkeit abgewiesen werden aufgrund dessen verschärften SPAM Filtern.
Eine Anleitung dazu gibt es hier im Forum unter >>> diesem Link <<<