Zum Inhalt springen

ISPConfig/Plugin/Autodiscover: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „ ISPConfig-“ durch „ ISPConfig-“
K Textersetzung - „ ISPConfig “ durch „ ISPConfig
 
Zeile 17: Zeile 17:


== Aufstellen ==
== Aufstellen ==
=== Bereiten Sie ISPConfig vor ===
=== Bereiten Sie [[ISPConfig]] vor ===
* Das Discover-Plugin wird nicht als von ISPConfig verwaltete Website realisiert.  
* Das Discover-Plugin wird nicht als von [[ISPConfig]] verwaltete Website realisiert.  
* Diese Einrichtungsanleitung erklärt die Einrichtung des vHost von Grund auf neu.  
* Diese Einrichtungsanleitung erklärt die Einrichtung des vHost von Grund auf neu.  
* Sie können es also auf jedem Ihrer Server installieren, auf dem ein Webserver läuft.  
* Sie können es also auf jedem Ihrer Server installieren, auf dem ein Webserver läuft.  
Zeile 99: Zeile 99:
* Öffnen Sie es in Ihrem bevorzugten Editor  
* Öffnen Sie es in Ihrem bevorzugten Editor  
** Geben Sie ISPC-URLs und Remote User Credentials sowie den Namen Ihres Dienstes ein  
** Geben Sie ISPC-URLs und Remote User Credentials sowie den Namen Ihres Dienstes ein  
** (optional) Geben Sie einen Fallback-Server-FQDN ein, der verwendet werden soll, wenn der Benutzer in ISPConfig nicht gefunden werden konnte (standardmäßig $_SERVER['SERVER_NAME'])  
** (optional) Geben Sie einen Fallback-Server-FQDN ein, der verwendet werden soll, wenn der Benutzer in [[ISPConfig]] nicht gefunden werden konnte (standardmäßig $_SERVER['SERVER_NAME'])  
** (optional) Geben Sie Domänennamen von SMTP/IMAP/POP-Servern ein, um die automatische Erkennung über die [[ISPConfig]]-API vollständig zu überschreiben  
** (optional) Geben Sie Domänennamen von SMTP/IMAP/POP-Servern ein, um die automatische Erkennung über die [[ISPConfig]]-API vollständig zu überschreiben  



Aktuelle Version vom 4. Juli 2026, 13:11 Uhr

Einleitung

Mit diesem Tool können Sie allen Ihren Kunden in einer Multiserver-Umgebung die automatische Erkennung von E-Mail-Konten in Thunderbird und Outlook anbieten.

Platzhalter

  • my-service.com = Die Domäne, auf der Sie Ihren "Autodiscover"-Dienst ausführen
  • my-mail.com = Die Domain, für die Sie Autodiscover und Autoconfig aktivieren möchten
  • PANEL-SERVER-IP = IP-Adresse des ISPConfig-Servers (Sie können das Tool natürlich auf jedem/jedem Server in Ihrer Umgebung installieren)
    • Falls Sie es auf einem anderen Server als dem Panel installieren, müssen Sie stattdessen einen anderen Benutzer und eine andere Gruppe verwenden ispappsin vHost-Konfigurations- und Konsolenbefehlen.

Anforderungen

  • php-soap wird für API-Requests benötigt. php7.3-Seife zum Beispiel.
  • Outlook erfordert den Zugriff auf eine SSL-gesicherte Seite mit einem vertrauenswürdigen Zertifikat.
  • Die Beispielkonfiguration verwendet das SSL-Zertifikat der ISPConfig-Schnittstelle.
  • Damit dies funktioniert, muss es sich um ein gültiges öffentlich signiertes Wildcard-Zertifikat handeln.
  • Zum Beispiel ein von StartSSL signiertes Level 2 (persönliche Identität) Zertifikat.
  • Das sollte ausreichen, damit Outlook ohne Fehlermeldungen und Warnungen funktioniert.

Aufstellen

Bereiten Sie ISPConfig vor

  • Das Discover-Plugin wird nicht als von ISPConfig verwaltete Website realisiert.
  • Diese Einrichtungsanleitung erklärt die Einrichtung des vHost von Grund auf neu.
  • Sie können es also auf jedem Ihrer Server installieren, auf dem ein Webserver läuft.

Beispiel für Apache

Beispielkonfiguration für Apache2

  • Fügen Sie eine neue vHost-Konfigurationsdatei hinzu:

/etc/apache2/sites-available/discover.my-service.com.conf

<VirtualHost *:80>
 ServerName discover.my-service.com
 ServerAlias autoconfig.my-service.com
 ServerAlias autoconfig.*
 ServerSignature Off

 # Redirect non HTTPS and wrong domain names
 RewriteEngine On
 RewriteCond %{HTTPS} !on [OR]
 RewriteCond %{HTTP_HOST} !^discover\.my-service\.com$
 RewriteRule ^(.*)$ https://discover.my-service.com$1 [L,R]
</VirtualHost>

<VirtualHost *:443>
 ServerName discover.my-service.com
 ServerAlias autoconfig.my-service.com
 ServerAlias autoconfig.*
 ServerAdmin hostmaster@my-service.com
 ServerSignature Off

 ErrorLog /var/log/ispconfig/httpd/discover.my-server.com/error.log

 # Redirect client domains to my-service.com when connecting direct via HTTPS
 RewriteEngine On
 RewriteCond %{HTTP_HOST} !^discover\.my-service\.com$
 RewriteRule ^(.*)$ https://discover.my-service.com$1 [L,R]

 <IfModule mod_fcgid.c>
  DocumentRoot /var/www/discover
  SuexecUserGroup ispapps ispapps
  <Directory /var/www/discover>
   Options +Indexes +FollowSymLinks +MultiViews +ExecCGI
   AllowOverride AuthConfig Indexes Limit Options FileInfo
   <FilesMatch "\.php$">
    AddHandler fcgid-script .php
   </FilesMatch>
   FCGIWrapper /var/www/php-fcgi-scripts/apps/.php-fcgi-starter .php
   Require all granted
  </Directory>
 </IfModule>

 <IfModule mod_php5.c>
  DocumentRoot /var/www/discover
  AddType application/x-httpd-php .php
  <Directory /var/www/discover>
   Require all granted
  </Directory>
 </IfModule>

 # This config uses the certificate that is used for ISPC Panel
 # Change path if needed
 SSLEngine On
 SSLProtocol All -SSLv2 -SSLv3
 # SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
 SSLHonorCipherOrder   on
 SSLCertificateFile /usr/local/ispconfig/interface/ssl/ispserver.crt
 SSLCertificateKeyFile /usr/local/ispconfig/interface/ssl/ispserver.key
 # Always wise to include the cert chain, change as needed and uncomment
 #SSLCertificateChainFile /usr/local/ispconfig/interface/ssl/startssl.chain.class2.server.crt
</VirtualHost>

Installieren Sie das Tool

  • Rufen Sie Ihr ISPConfig-Panel unter System -> Remote Users und erstellen Sie einen neuen Remote-Benutzer mit diesen Rechten (ISPConfig 3.1-Elementnamen):
    • Serverfunktionen
    • Mail-Benutzerfunktionen
  • Wenn sich Ihr Automail-Host von Ihrem ISPConfig-Multiserver-Master unterscheidet, erlauben Sie dem Remote-Benutzer den Zugriff von dieser Remote-Host-Adresse
  • Klonen Sie das Repository in den Discover-Webordner
  • Wenn Sie Apache verwenden, bearbeiten Sie .htaccess und ersetzen Sie SERVER.TLD durch den FQDN Ihres Computers
  • Kopieren Sie die mitgelieferte Konfigurationsdatei
  • Öffnen Sie es in Ihrem bevorzugten Editor
    • Geben Sie ISPC-URLs und Remote User Credentials sowie den Namen Ihres Dienstes ein
    • (optional) Geben Sie einen Fallback-Server-FQDN ein, der verwendet werden soll, wenn der Benutzer in ISPConfig nicht gefunden werden konnte (standardmäßig $_SERVER['SERVER_NAME'])
    • (optional) Geben Sie Domänennamen von SMTP/IMAP/POP-Servern ein, um die automatische Erkennung über die ISPConfig-API vollständig zu überschreiben
cd /var/www
git clone https://github.com/SpicyWeb-de/isp-mailConfig.git discover
chown -R ispapps:ispapps discover
cd discover
cp config.dist.php config.php
vi config.php

DNS Config

Fügen Sie die folgenden DNS-Einträge für die Zone my-service.com hinzu:

  • A discover -> ISPConfig-SERVER-IP
    • vielleicht auch AAAA, wenn IPv6 für ISPConfig-Server verfügbar ist
  • CNAME autoconfig -> discover

Fügen Sie die folgenden DNS-Einträge für die Zone my-mail.com hinzu, um die automatische Konfiguration zu aktivieren:

  • SRV _autodiscover._tcp -> 1 10 443 discover.my-service.com
  • [SRV-Format auf Route53: [Priorität] [Gewicht] [Port] [Server-Hostname]]
  • CNAME autoconfig -> discover.my-service.com.

Testen

  • Dieses Tool funktioniert nur für real existierende E-Mail-Konten, da es die ISPC Remote API nach ihnen abfragt.
  • Stellen Sie beim Testen sicher, dass Sie Adressen verwenden, die auf Ihrem Server vorhanden sind.

Mozilla / Thunderbird

Für eine bestehende Mailadresse im emailaddress-Parameter sollten Sie eine Antwort wie diese erhalten:

<?xml version="1.0" encoding="UTF-8"?>
<clientConfig version="1.1">
  <emailProvider id="my-mail.com">
    <domain>my-mail.com</domain>
    <displayName>YOUR SERIVCE NAME</displayName>
    <displayShortName>SERVICE</displayShortName>
    <incomingServer type="pop3">
      <hostname>mailserver.my-service.com</hostname>
      <port>995</port>
      <socketType>SSL</socketType>
      <authentication>password-cleartext</authentication>
      <username>user@my-mail.com</username>
      <pop3>
        <leaveMessagesOnServer>true</leaveMessagesOnServer>
        <downloadOnBiff>true</downloadOnBiff>
        <daysToLeaveMessagesOnServer>10</daysToLeaveMessagesOnServer>
      </pop3>
    </incomingServer>
    <incomingServer type="imap">
      <hostname>mailserver.my-service.com</hostname>
      <port>993</port>
      <socketType>SSL</socketType>
      <authentication>password-cleartext</authentication>
      <username>user@my-mail.com</username>
    </incomingServer>
    <outgoingServer type="smtp">
      <hostname>mailserver.my-service.com</hostname>
      <port>587</port>
      <socketType>STARTTLS</socketType>
      <authentication>password-cleartext</authentication>
      <username>user@my-mail.com</username>
    </outgoingServer>
  </emailProvider>
</clientConfig>

Microsoft Outlook

  • Da Outlook eine XML-Datei mit Benutzerdaten an den Server sendet, können Sie diese nicht einfach im Browser aufrufen, um sie zu testen.
  • Sie können Microsofts Remote Connectivity Analyzer unter https://testconnectivity.microsoft.com/ , um zu überprüfen, ob die Outlook-AutoDiscovery funktioniert.
  • Es dauert einige Zeit, sollte aber auch bei einem bestehenden Mailkonto auf my-mail.com ein positives Ergebnis liefern.