Anleitung MailStation carddav Plugin aktivieren.

Status
Für weitere Antworten geschlossen.

mabox

Benutzer
Mitglied seit
10. Jul 2013
Beiträge
202
Punkte für Reaktionen
12
Punkte
24
Hallo,
ich möchte mal hier mitteilen wie ich es geschafft habe das CardDAV Plugin in der MailStation zum laufen zu bekommen. Irgendwie habe ich nirgendwo eine brauchbare Anleitung gefunden. Da die MailStation ja leider nicht mit msql arbeitet sondern mit irgendeiner internen postgresql Datenbank, passen die Roundcube Anleitungen halt nicht. Vielleicht hilft es ja dem ein oder anderen weiter.

Eigentlich wollte ich die MailStation nicht mehr verwenden und an der Stelle Roundcube selbst zu installieren da dieses mit mysql läuft und anscheinend von Haus aus die CardDAV Tabellen vorhanden sind. Leider fehlen im Roundcube dann widerum aber solche Plugins um SMTP und POP Server zu konfigurieren so wie sie in der MailStation standardmäßig vorhanden sind. Vergleichbare Plugins habe ich leide nicht gefunden. In der MailStation heißt das Plugin 'mailstation' und dies hab ich leider im Original Roundcube nicht zum laufen bekommen.

Anleitung CardDAV Plugin:

1. Download Plugin: https://github.com/christian-putzke/Roundcube-CardDAV
2. Entpacken nach: /var/packages/MailStation/target/roundcubemail/plugins/carddav
3. Plugin aktiviert in: /var/packages/MailStation/target/roundcubemail/config/main.inc.php
Rich (BBCode):
// ----------------------------------
// PLUGINS
// ----------------------------------
                         
// List of active plugins (in plugins/ directory)
$rcmail_config['plugins'] = array('mailstation', 'carddav');

4. Config File umbenennen:
Rich (BBCode):
cd /var/packages/MailStation/target/roundcubemail/plugins/carddav
cp config.inc.php.dist config.inc.php

5. Jetzt muss noch die Datenbank erweitert werden um die carddav Tabellen. Die Mailstation nutzt leider nicht wie das Original Roundcube mysql sondern irgendeine interne postgresql Datenbank. Dazu hab ich mir dann mal genauer dieses Script angeschaut wie Synology die Datenbank updated:
Rich (BBCode):
/var/packages/MailStation/scripts/postupgrade

Aufgrund diesen Information die ich da gefunden habe, bin ich dann wie folgt vorgegangen, geht natürlich auch anders, ich habe aber dennoch zuerst das Updatescript umbenannt (könnte man sich eigentlich sparen) und dann in folgenden Pfad kopiert:

Rich (BBCode):
cd /var/packages/MailStation/target/roundcubemail/plugins/carddav/SQL/
mv postgresql.sql postgresql.carddav.sql
cp postgresql.carddav.sql /var/packages/MailStation/scripts/

Jetzt kommt das eigentliche Update. Da hab ich mit Variablen gearbeitet, geht natürlich auch ohne und ich hab mir eine Logdatei schreiben lassen:

Variablen setzen:
Rich (BBCode):
WebMailDir="/var/packages/MailStation/target"
UPGRADE_SQL="/var/packages/MailStation/scripts/postgresql.carddav.sql"

Datenbank Update durchführen:
Rich (BBCode):
/usr/syno/pgsql/bin/psql -U roundcube roundcubemail < ${UPGRADE_SQL} >> ${WebMailDir}/roundcubemail/logs/upgrade_carddav 2>&1

6. Nun sollte man über die MailStation Oberfläche unter „Einstellungen“ den Punkt CardDAV nicht nur sehen sondern auch konfigurieren können.

Hoffentlich wird das nicht irgendwann durch ein zukünftiges MailStation Update von Synology wieder überschrieben, mal abwarten.

Gruß mabox

P.S. Sollte es solch eine Anleitung schon geben oder der Beitrag hier sinnlos sein liebe Admins, dann bitte einfach den Beitrag löschen.
 

dsmynas

Benutzer
Mitglied seit
11. Feb 2014
Beiträge
74
Punkte für Reaktionen
0
Punkte
12
Super Ding, danke für diese Anleitung!

Gruß,

dsmynas
 

steje43

Benutzer
Mitglied seit
03. Dez 2011
Beiträge
666
Punkte für Reaktionen
35
Punkte
48
Klasse Arbeit...!

Habe die Mailstation auch nicht benutzt.

Nun sind alle meine Adressen etc. da, perfekt.

Hoffentlich bleibt das so...!

Vielen Dank für deine Anleitung....!!
 

yasmin_k

Benutzer
Mitglied seit
15. Aug 2009
Beiträge
285
Punkte für Reaktionen
0
Punkte
16
Das klingt sehr interessant, dann könnte ich mir den extra-Baikal den ich jetzt habe, sparen.

Ich würde auch gerne den Roundcube so modifizieren, habe nur Angst, dass nach jedem Update die Sachen weg sind.

Eigentlich sollte Synology von Haus aus das machen, die haben immer noch nict geschafft, einen CardDAV ins DSM zu integrieren!!!
Das sollte man an Synology wieder als Request melden.

Grüße,
Yasmin
 

dsmynas

Benutzer
Mitglied seit
11. Feb 2014
Beiträge
74
Punkte für Reaktionen
0
Punkte
12
Den extra Baïkal sparen? Wie jetzt? Ich hab in Roundcube ja z.B. den Baïkal eingebunden um mir das lokale Adressbuch in Roundcube zu sparen. Hier geht es ja darum einen CardDAV Server einzubinden und wenn es bei Dir Baïkal ist, der die Daten liefert, dann sparst Du diesen ja nicht dadurch ein. Durch diese Anpassung liefert nicht der Roundcube einen CardDAV Server, sondern dieser kann in Roundcube nun zur Verfügung gestellt werden.

Gruß,

dsmynas
 

dsmynas

Benutzer
Mitglied seit
11. Feb 2014
Beiträge
74
Punkte für Reaktionen
0
Punkte
12
Den extra Baïkal sparen? Wie jetzt? Ich hab in Roundcube ja z.B. den Baïkal eingebunden um mir das lokale Adressbuch in Roundcube zu sparen. Hier geht es ja darum einen CardDAV Server einzubinden und wenn es bei Dir Baïkal ist, der die Daten liefert, dann sparst Du diesen ja nicht dadurch ein. Durch diese Anpassung liefert nicht der Roundcube einen CardDAV Server, sondern dieser kann in Roundcube nun zur Verfügung gestellt werden.

Gruß,

dsmynas
 

yasmin_k

Benutzer
Mitglied seit
15. Aug 2009
Beiträge
285
Punkte für Reaktionen
0
Punkte
16
Sorry, da habe ich doch was falsch verstanden.

Jedoch, wäre es praktisch, wenn Synology, die Plug-Ins mit installieren könnte.

Gruß,
Yasmin

Den extra Baïkal sparen? Wie jetzt? Ich hab in Roundcube ja z.B. den Baïkal eingebunden um mir das lokale Adressbuch in Roundcube zu sparen. Hier geht es ja darum einen CardDAV Server einzubinden und wenn es bei Dir Baïkal ist, der die Daten liefert, dann sparst Du diesen ja nicht dadurch ein. Durch diese Anpassung liefert nicht der Roundcube einen CardDAV Server, sondern dieser kann in Roundcube nun zur Verfügung gestellt werden.

Gruß,

dsmynas
 

luddi

Benutzer
Sehr erfahren
Mitglied seit
05. Sep 2012
Beiträge
3.259
Punkte für Reaktionen
601
Punkte
174
Hallo mabox,

auch von meiner Seite aus ein großes Lob für die detailierte Anleitung.
Der Beitrag ist Gold wert!

1000 Dank und Gruß,
luddi
 

heeelga

Benutzer
Mitglied seit
07. Apr 2014
Beiträge
10
Punkte für Reaktionen
0
Punkte
0
Hi,
vielen Dank erst mal für die Anleitung! Schön, dass man deine Anleitung als erstes bei Google findet unter dem Begriff "Roundcube Carddav" :). Ich bin leider zu blöd für diese Stelle mit dem Variablen Setzen. Wo setze ich die? In der postgresql.carddav.sql? Wenn ja, wo genau? Ist das egal?

Danke vorab!

Jetzt kommt das eigentliche Update. Da hab ich mit Variablen gearbeitet, geht natürlich auch ohne und ich hab mir eine Logdatei schreiben lassen:

Variablen setzen:
Rich (BBCode):
WebMailDir="/var/packages/MailStation/target"
UPGRADE_SQL="/var/packages/MailStation/scripts/postgresql.carddav.sql"

Datenbank Update durchführen:
Rich (BBCode):
/usr/syno/pgsql/bin/psql -U roundcube roundcubemail < ${UPGRADE_SQL} >> ${WebMailDir}/roundcubemail/logs/upgrade_carddav 2>&1
 

mabox

Benutzer
Mitglied seit
10. Jul 2013
Beiträge
202
Punkte für Reaktionen
12
Punkte
24
Hi heeelga,
die Variablen setzt Du nicht in einer Datei sondern direkt in der Shell. Diese sind dann nur für diese Shell gültig, nachdem Du diese Shell am Ende Deiner Aktion schließt sind diese wieder weg.
Das kann man auch eigentlich ohne Variablen setzen machen, eigentlich völlig egal. Ich habe es halt so gemacht. Ansonsten müsstest Du beim "Datenbank Update durchführen" anstelle z.B. von ${UPGRADE_SQL} den gesamten Pfad angeben zu dem Script angeben.....

Also im Detail: Du musst eigentlich nur in einer Shell zuerst die beiden Zeilen unter dem Punkt "Variablen setzen:" eingeben, also erst eine dann ENTER und dann die Andere und ENTER........ und dann solltest Du die Zeile unter "Datenbank Update durchführen:" in einer Shell ausführen können. Diese Befehlszeile verwendet dann die "Variablen" die Du am Anfang der Aktion gesetzt hast.

Gruß mabox
 

heeelga

Benutzer
Mitglied seit
07. Apr 2014
Beiträge
10
Punkte für Reaktionen
0
Punkte
0
Danke für die schnelle Rückmeldung, mabox.
Ich habe den carddav Ordner unter Plugins wie beschrieben hochgeladen und alle Schritte durchgeführt. In der main.inc.php ist das Plugin aktiviert und das Datenbankupdate habe ich auch ausgeführt. Trotzdem taucht Carddav nicht in den Einstellungen auf. Hast du eine Idee woran es liegen könnte?



Hi heeelga,
die Variablen setzt Du nicht in einer Datei sondern direkt in der Shell. Diese sind dann nur für diese Shell gültig, nachdem Du diese Shell am Ende Deiner Aktion schließt sind diese wieder weg.
Das kann man auch eigentlich ohne Variablen setzen machen, eigentlich völlig egal. Ich habe es halt so gemacht. Ansonsten müsstest Du beim "Datenbank Update durchführen" anstelle z.B. von ${UPGRADE_SQL} den gesamten Pfad angeben zu dem Script angeben.....

Also im Detail: Du musst eigentlich nur in einer Shell zuerst die beiden Zeilen unter dem Punkt "Variablen setzen:" eingeben, also erst eine dann ENTER und dann die Andere und ENTER........ und dann solltest Du die Zeile unter "Datenbank Update durchführen:" in einer Shell ausführen können. Diese Befehlszeile verwendet dann die "Variablen" die Du am Anfang der Aktion gesetzt hast.

Gruß mabox
 

Anhänge

  • 2014-08-11 18_55_45-mRemoteNG - confCons.xml.png
    2014-08-11 18_55_45-mRemoteNG - confCons.xml.png
    3,1 KB · Aufrufe: 133

mabox

Benutzer
Mitglied seit
10. Jul 2013
Beiträge
202
Punkte für Reaktionen
12
Punkte
24
Also die main.inc.php sieht gut aus. Stimmen evtl. die Rechte auf das Plugin nicht?

Der Ordner "carddav" und seine Unterordner sollte zum einen dem User "http" und der Gruppe "http" gehören und zum anderen die Rechte auf dem Ordner sollten passen. Bei mir sind die 755. Die Unterordner sehen etwas anders aus. Ich hänge es mal an wie das bei mir aussieht.

Ins Verzeichnis wechseln:
Rich (BBCode):
cd /var/packages/MailStation/target/roundcubemail/plugins/
User und Gruppe setzen
Rich (BBCode):
chown -R http:http carddav
Rechte anpassen
Rich (BBCode):
chmod 755 carddav

So siehts bei mir im Pluginordner aus:
carddav1.png
So im Ordner "carddav"
carddav2.png

Was anderes fällt mir auf die Schnelle nicht ein. Die vorigen Punkte sollten ja alle gestimmt haben und selbst wenn das Datenbankupdate schief gegangen wäre, sollte zumindest das Carddav Plugin in der MailStation sichtbar sein.
 

heeelga

Benutzer
Mitglied seit
07. Apr 2014
Beiträge
10
Punkte für Reaktionen
0
Punkte
0
Perfekt, es lag, wie von dir beschrieben, an den Rechten auf den carddav Ordner. Vielen Dank!
Kennst du eigentlich eine Methode IMAP Postfächer zu importieren? Ich sehe nur die Möglichkeit für POP3. Ich würde nämlich gerne meine kompletten Mails von meinem Provider abholen inkl. der gesendeten Mails, damit sie dort nicht mehr liegen. Mittels meines Mailservers kann ich nämlich nur mit meiner DDNS Adresse verschicken und das sieht nicht so toll nach außen hin aus und ich will die auch nicht als Antwortadresse benutzen.

Also die main.inc.php sieht gut aus. Stimmen evtl. die Rechte auf das Plugin nicht?
 

mabox

Benutzer
Mitglied seit
10. Jul 2013
Beiträge
202
Punkte für Reaktionen
12
Punkte
24
Sehr gut.
Also ich hab damals meine Postfächer per IMAP auf meinem PC mit Thunderbird eingebunden. Dann mein lokales Postfach vom Synology MailServer/MailStation auch im Thunderbird eingebunden und dann die Mails vom Provider Postfach in mein lokales Postfach verschoben. Somit lag nichts mehr beim Provider rum. Das war für mich der einfachste Weg. Seither rufe ich alle Mails vom Provider Posteingang im 15 Min. Takt vom Provider ab. Somit habe ich alles schön lokal bei mir daheim. Versendet habe ich entweder direkt über den SMTP Server des Providers, also im Thunderbird oder in der MailStation einfach direkt de SMTP Server vom Provider verwendet, oder über den Synology MailServer über die "Mail Realy" Funktion. Dort hatte ich dann den SMTP Server des Providers angelegt. Wenn man mehrere Provider hat ist das aber nicht so einfach.
Auf jedenfall landen egal wie die gesendeten Mails dadurch auch in Deinem lokalen gesendeten Mailordner. Es liegt also nichts beim Provider.
Evtl. musst Du aber zu dem Thema nochmal im Forum recherchieren.
Mittlerweile verwende ich meine Synology NAS nur noch als Fileserver. Die Dienste Mail Server usw. habe ich mittlerweile auf einem eigenständigen Linuxserver laufen. Vom Prinzip her ist es da aber ähnlich.
 

heeelga

Benutzer
Mitglied seit
07. Apr 2014
Beiträge
10
Punkte für Reaktionen
0
Punkte
0
Danke, ich werde dazu auch noch mal recherchieren.
Bei mir ist das so, dass ich zwei Mailanbieter zur Auswahl habe, der eine akzeptiert kein Relay, der andere lässt sich eintragen aber wenn ich dann über das SMTP Relay der Diskstation sende, steht beim Empfänger meine DDNS Adresse als Absender, die wird also irgendwie fälschlicherweise "durchgereicht", weiß nicht ob man das abstellen kann..
Ja bei mir zieht alle paar Tage zu Testzwecken auch der ein oder andere Dienst zum Raspberry oder Linux Server :D. Habe aber mittlerweile die DS414 und da kann man eigentlich ne Menge drauf laufen lassen.

Sehr gut.
Also ich hab damals meine Postfächer per IMAP auf meinem PC mit Thunderbird eingebunden. Dann mein lokales Postfach vom Synology MailServer/MailStation auch im Thunderbird eingebunden und dann die Mails vom Provider Postfach in mein lokales Postfach verschoben. Somit lag nichts mehr beim Provider rum. Das war für mich der einfachste Weg. Seither rufe ich alle Mails vom Provider Posteingang im 15 Min. Takt vom Provider ab. Somit habe ich alles schön lokal bei mir daheim. Versendet habe ich entweder direkt über den SMTP Server des Providers, also im Thunderbird oder in der MailStation einfach direkt de SMTP Server vom Provider verwendet, oder über den Synology MailServer über die "Mail Realy" Funktion. Dort hatte ich dann den SMTP Server des Providers angelegt. Wenn man mehrere Provider hat ist das aber nicht so einfach.
Auf jedenfall landen egal wie die gesendeten Mails dadurch auch in Deinem lokalen gesendeten Mailordner. Es liegt also nichts beim Provider.
Evtl. musst Du aber zu dem Thema nochmal im Forum recherchieren.
Mittlerweile verwende ich meine Synology NAS nur noch als Fileserver. Die Dienste Mail Server usw. habe ich mittlerweile auf einem eigenständigen Linuxserver laufen. Vom Prinzip her ist es da aber ähnlich.
 

mabox

Benutzer
Mitglied seit
10. Jul 2013
Beiträge
202
Punkte für Reaktionen
12
Punkte
24
Ich meine man kann in der MailStation da irgendwie verschiedenen Identitäten einstellen. Dann steht als Absender nicht Deine Dyndns drin. Es spricht doch aber eigentlich nichts dagegen in der MailStation direkt den SMTP vom Provider anzugeben. Dann brauchst das Mailrelay nicht verwenden.
 

heeelga

Benutzer
Mitglied seit
07. Apr 2014
Beiträge
10
Punkte für Reaktionen
0
Punkte
0
Genauso habe ich es jetzt gelöst. Eine neue Identität angelegt mit meiner Posteo Adresse und direkt den SMTP des Providers eingetragen anstatt das Relay zu nutzen. Mir war nicht klar, dass die gesendeten Mails trotzdem in meiner Mailstation verbleiben, und nicht beim Provider rumliegen. Also genau so wie es sein soll :). Danke noch mal für die Tipps!

Ich meine man kann in der MailStation da irgendwie verschiedenen Identitäten einstellen. Dann steht als Absender nicht Deine Dyndns drin. Es spricht doch aber eigentlich nichts dagegen in der MailStation direkt den SMTP vom Provider anzugeben. Dann brauchst das Mailrelay nicht verwenden.
 

mabox

Benutzer
Mitglied seit
10. Jul 2013
Beiträge
202
Punkte für Reaktionen
12
Punkte
24
Sehr gut. Freut mich.
 

heeelga

Benutzer
Mitglied seit
07. Apr 2014
Beiträge
10
Punkte für Reaktionen
0
Punkte
0
Hi mabox,
nur noch mal so als Info auch für alle anderen. Mit DSM5.1(Beta) scheint es nicht mehr so zu funktionieren. Die main.inc.php zum Mailstation Ordner heißt jetzt auch config.inc.php aber damit dürfte es wohl eher nicht zusammen hängen. Auf jeden Fall erhält man nach der Anleitung jetzt einen Database Error wenn man sich einloggen will. Schade, Synology scheint hier was verändert zu haben. Erst wenn man in der config.inc.php das Carddav Plugin wieder herausnimmt, kann man sich wieder einloggen..

VG,
heeelga
 

mabox

Benutzer
Mitglied seit
10. Jul 2013
Beiträge
202
Punkte für Reaktionen
12
Punkte
24
Hi heeelga,
schade das es so läuft bei Synology......Ich mache in der Richtung jetzt nichts mehr mit der Synology. Ich hab das jetzt alles auf einem Linuxserver laufen.
Dennoch vielen Dank das Du das Thema mit den neuen Infos ergänzt hast.
Gruß mabox
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat