[HowTo] cardDav und calDav auf Fritzbox (statt Googlecalendar und googlecontacts Sync server)

eigene Kontakt und Calendar Server auf meiner Fritzbox find ich gut?!

  • super

    Stimmen: 28 77.8%
  • super, es gibt bessere lösungen

    Stimmen: 3 8.3%
  • super, aber diese beschreibung verwirrt mich

    Stimmen: 3 8.3%
  • überflüssig

    Stimmen: 4 11.1%

  • Anzahl der Umfrageteilnehmer
    36

meisterlei

Neuer User
Mitglied seit
8 Jun 2014
Beiträge
24
Punkte für Reaktionen
0
Punkte
0
Wer schon immer ein ungutes Gefühl hatte seine Calendar und Contacts bei Google gelagert zu haben und einen eigenen Server zum Sync von Kontakten und Kalendar bevorzugt dem sei hier geholfen (Aber selber an die Backups denken !!)

CardDav und CalDav auf die Fritzbox 7390 fon wlan


Benötigt wird
  • ssh zugang zu Fritzbox
  • Ein SSl Fähiger ApacheServer,
    hier verwendet von fritzmod.net
  • Baikal - Flat CardDav und Caldav Server
    http://baikal-server.com/
    (wer python installiert hat könnte alternativ auch radicale ausprobieren)

Der erste Schritt würde darin bestehen einen Apache Server auf der Fritzbox zum laufen zu bringen, ich habe ihn gleich auch von außen erreichbar gemacht (forwardrules) - wie das alles genauer geht steht zum Beispiel auf der http://fritzmod.net
Wichtig war nicht den Apache2 zu nehmen (den könnte man ja auch parallel laufen lassen) sondern einen ssl auf mips tauglichen, in meinem Fall für die Fritzbox7390 Apache 1.3.42 von http://www.fritzmod.net/de/modification/apache/installation/.
Wer busybox und ssh zugang hat kann das direkt bequem auf der Fritzbox selber machen ...
gewünschtes Verzeichnis wählen (ggf. sogar internes)

Code:
wget http://richtiges.tar.archiv 
tar xvf richtiges.tar.archiv
rm richtiges.tar.archiv

dann muss noch im unterverzeichnis die apache/conf/apache.conf für die pfade angepasst werden,
damit die alle richtig sind
wie apache aufgerufen wird (apache -f Pfadzurconfdatei) etc. pp, das auch automatisch nach jedem fritzbox neustart (debug.cfg), und wie man sie nach außen hin erreichbar macht (ar7.cfg)steht unter http://www.fritzmod.net ganz gut erklärt

baikal-flat
mit ssh in den ordner htdocs von deinem apache server wechseln
wget http://aktuelle-baika-flat
ggf gunzip aktuelles-baikalfile und tar xvf aktuelles-baikalfile entpacken. (bei mir aktuell die version 0.27)
danach kann man schon den apache mit dem antsprechenden Unterordner aufrufen, und die Installation startet von alleine. Und man wird gut durchgeführt. Wichtig ist das man Apache als SSL server laufen hat.

ich bekam auf der Fritzbox 7390 mit der entprechenden Apache version noch einen iconv() fehler ... (in irgendeiner Tools datei Zeile 496)
dazu Fehlermeldung gut ansehen und in die Datei gehen die drei Zeilen der if Funktion mit // am Zeilenanfang auskommentieren.

edit
der Fehler lautet
exception 'ErrorException' with message 'iconv(): Unknown error (22)' in /var/media/ftp/mods/apache/htdocs/baikal-flat/Core/Frameworks/Flake/Util/Tools.php:496
man kann die Zeilen 495 - 497 mit jeweils einem // am ZeilenAnfang auskommentieren, danach läuft die installtion problemlos weiter
der 2. "Fehler" bzw Hinweis: DB file is not writable. Please give write permissions on file '/var/media/ftp/mods/apache/htdocs/baikal-flat/Specific/db/db.sqlite'
ist mit einem chmod 666 der entsprechenden Datei im Terminal schnell behoben​

Wie ihr auf die Calendar als benutzer zugreift (ssl) findet ihr auf den entsprechenden Seiten zuhauf, ein grober Test wäre den Link selbst aufzurufen und zu schauen ob das geht. (also bspw. https://meinapacheserver:85/baikal-flat/card,php/addressbooks/benutzer/default)
Danach solltet ihr eine laufende Baikal Installation haben und könnt einen Benutzer hinzufügen, die haben per default einen CardDav und einen CalDAV eingerichtet. Man kann aber beliebige hinzufügen.
Also sicherheitspokien (export) von den Kalendar und Contacten die man hat machen, am rechner neue Calendar hinzufügen (baikal server) und die Exporte (sicherheitskopien) einfügen. Wenn alles gut geht,
Calendar auf Google und Google Contacte löschen.
Glücklich sein.

Mozilla Lignting, Outlock und Derivate verstehen alle webdav und carddav und caldav,
Wie man das gescheit auf sein Handy bringt muss man selber schauen,
ich selber verwende für ein Android Smartphone die frei verfügbaren Tools caldavsyncadapter und CardDav Sync
Fürs Iphone gibt es entsprechende Tools ... evtl lohnt sich an dieser Stelle auch der Invest von 2-4 Euro für ein entsprechendes Tool

Diese Beschreibung ist bewusst nicht so penibel geschrieben, da ich 1. selber nicht so penibel bin und ich 2. hoffe das ihr wisst was ihr tut - in dem Fall ist die beschreibung ausreichend, wenn nicht solltet ihr euch genauer damit befassen (ssh zugang auf die fritzbox bringen, oder einrichten eines apache web server)
Hoffe es hat dennoch geholfen und vielleicht schreibt jemand ja ein sauberes Tut
Für mehr freie Calendar und Contact Sync Server!
 
Zuletzt bearbeitet:
Brauch ich nicht. Hab nen Hosted Exchange Account bei nem Anbieter, da is alles drin was ich benötige :)
 
Es soll ja leute geben die mögen lieber ihre Privatsachen wie Kontakte und Calendar bei sich behalten :) und eben nicht auf fremder Leute exchange server (was ja lange nicht google sein muss)
 
Die Idee ist absolut brilliant, genau so etwas habe ich gesucht!!!

Ich bin nur etwas besorgt bzgl. der verwendeten Apache/PHP-Version. Die haben doch schon ein ordentliches Alter erreicht, und die Liste der seitdem gefixten Security-Issues ist laaaaang.
Hat irgendwer eine Idee, wie man an einen aktuellen Apache (oder lighttpd?) mit einem aktuellen PHP für die FB kommt? Es gibt von Debian aktuelle MIPS/MIPSEL Pakete, bspw https://packages.debian.org/de/sid/mips/lighttpd aber ich habe keine Idee, wie man das mit allen Ressourcen auf der FB installiert bekommt.

FritzDebian würde ich mir gerne ersparen, denn damit komme ich garantiert nicht ohne externen Speicher aus. Ein lighttpd mit ein paar Libs würde dagegen locker auf den internen Speicher passen. Und die CardDAB/CalDAV-Dateien fressen ja fast kein Brot...
 
Zuletzt bearbeitet:
Moin

Wer PHP benötigt (für die Fritz!Box) kann sich auf fritzmod.net php-cgi angucken.
Ein busybox httpd mit Shellskrpit CGI und php-cgi ist schneller und genauso mächtig.
Und die Fritz!Box bringt SQLite schon "inbuilt" mit.
So kann php-cgi mit SQLite auch "Datenbänkisch".

Neugierig geworden? :)

Alles auf USB:

Beispielkonfiguration

httpd.conf (busybox httpd)
Code:
# mime-types
.xhtml:application/xhtml+xml            # xhtml ;-)
.xml:application/xml                    # extended markup language (XML)
.xsl:application/xml+xsl                # extended markup language (XML-Transformation)
.dtd:application/xml+dtd                # extended markup language (XML-DocTypeDefinition)
.svg:image/svg+xml                      # scalable vector graphic
.swf:application/x-shockwave-flash      # shockwave flash
.oga:audio/ogg
.wav:audio/wav
.ogv:video/ogg
.ogg:video/ogg
.mp4:video/mp4
.txt:text/plain
.cfg:text/plain
.conf:text/plain
.ini:text/plain
.log:text/plain
.sh:text/plain
# externals
*.php:/var/media/NEW_LINK/mips/php.sh   # run xxx.php through an interpreter
*.cgi:/bin/sh                   # :-)
php.sh
Code:
#! /bin/sh
ENVCMD='env -u USER -u HOME -u GCOV_PREFIX -u OEM -u SSH_TTY -u HWRevision_ATA -u PS1 -u Language_is_default -u HWRevision -u HWRevision_BitFileCount -u ANNEX -u CONFIG_VERSION_MAJOR -u Country_is_default -u LOGNAME -u TERM -u PATH -u SHELL -u enable_ata -u PATH_INFO -u SHELL -u ETC_CONFIG_PATH -u Language -u PWD -u Country -u SSH_CONNECTION -u GCOV_PREFIX_STRIP -u OEM_DEFAULT_INDEX -u HWSubRevision -u CONFIG_WLAN -u CONFIG_FON -u CONFIG_USB -u CONFIG_TIMERCONTR -u CONFIG_BETA -u CONFIG_EWETEL -u CONFIG_USB -u CONFIG_LFS -u CONFIG_PERL -u CONFIG_FON -u CONFIG_LTE -u CONFIG_I -u CONFIG_VPN -u CONFIG_UTF -u CONFIG_AB -u CONFIG_WLAN -u CONFIG_CAPI -u CONFIG_ONLINEHELP -u CONFIG_NFS -u CONFIG_UDEV -u CONFIG_WLAN -u CONFIG_ATA -u CONFIG_JFFS -u CONFIG_T -u CONFIG_STOREUSRCF -u CONFIG_NFS -u CONFIG_USB -u CONFIG_KIDS -u CONFIG_LED -u CONFIG_CODECS -u CONFIG_CAPI -u CONFIG_UBIK -u CONFIG_SQLITE -u CONFIG_NEUERUL -u CONFIG_WLAN -u CONFIG_CHRONY -u CONFIG_FONGUI -u CONFIG_CONFIGD -u CONFIG_DSL -u CONFIG_WLAN -u CONFIG_TAM -u CONFIG_FONQUALITY -u CONFIG_SQLITE -u CONFIG_FTP -u CONFIG_USB -u CONFIG_MULTI -u CONFIG_VDSL -u CONFIG_NCURSES -u CONFIG_PRODUKT -u CONFIG_ENVIRONMEN -u CONFIG_DECT -u CONFIG_DECT -u CONFIG_USB -u CONFIG_AVMIPC -u CONFIG_PROV -u CONFIG_ASSIST -u CONFIG_SWAP -u CONFIG_HOME -u CONFIG_LED -u CONFIG_NTFS -u CONFIG_MANUAL -u CONFIG_SUBVERSION -u CONFIG_VERSION -u CONFIG_DIAGNOSE -u CONFIG_USB -u CONFIG_USB -u CONFIG_CAPI -u CONFIG_SAMBA -u CONFIG_WEBSRV -u CONFIG_USB -u CONFIG_RELEASE -u CONFIG_BLUETOOTH -u CONFIG_DECT -u CONFIG_ROMSIZE -u CONFIG_FIRMWARE -u CONFIG_SERVICEPOR -u CONFIG_PRODUKT -u CONFIG_BUTTON -u CONFIG_ACCESSORY -u CONFIG_VERSION -u CONFIG_MAILD -u CONFIG_XILINX -u CONFIG_TR -u CONFIG_MEDIASRV -u CONFIG_CXX -u CONFIG_WLAN -u CONFIG_BOXLOWRESS -u CONFIG_DOCSIS -u CONFIG_ONLINEHELP -u CONFIG_NQOS -u CONFIG_VPN -u CONFIG_USB -u CONFIG_GDB -u CONFIG_UPNP -u CONFIG_ETH -u CONFIG_USB -u CONFIG_WEBDAV -u CONFIG_CAPI -u CONFIG_MAILER -u CONFIG_TR -u CONFIG_DSL -u CONFIG_WLAN -u CONFIG_CDROM -u CONFIG_WLAN -u CONFIG_WLAN -u CONFIG_ONLINEPB -u CONFIG_USB -u CONFIG_FAXSEND -u CONFIG_WLAN -u CONFIG_PLC -u CONFIG_FHEM -u CONFIG_USB -u CONFIG_WLAN -u CONFIG_DECT -u CONFIG_WLAN -u CONFIG_CAPI -u CONFIG_TELEKOM -u CONFIG_RAMDISK -u CONFIG_NAND -u CONFIG_MTD -u CONFIG_INSTALL -u CONFIG_DECT -u CONFIG_FAXSUPPORT -u CONFIG_WLAN -u CONFIG_HOME -u CONFIG_MULTI -u CONFIG_QOS -u CONFIG_WLAN -u CONFIG_DECT -u CONFIG_SRTP -u CONFIG_IGD -u CONFIG_CONFIGSPAC -u CONFIG_UNIQUE -u CONFIG_WLAN -u CONFIG_DECT -u CONFIG_OEM -u CONFIG_EXT -u CONFIG_FAX -u CONFIG_MEDIASRV -u CONFIG_MYFRITZ -u CONFIG_ATA -u CONFIG_HOMEI -u CONFIG_ERR -u CONFIG_EXT -u CONFIG_BOX -u CONFIG_AUDIO -u CONFIG_BASIS -u CONFIG_SQLITE -u CONFIG_VLYNQ -u CONFIG_DSL -u CONFIG_IPV -u CONFIG_WLAN -u CONFIG_VOIP -u CONFIG_ECO -u CONFIG_INETD -u CONFIG_USB -u CONFIG_LOGD -u CONFIG_WLAN -u CONFIG_USB -u CONFIG_CDROM -u CONFIG_NOTELNETD -u CONFIG_VOL -u CONFIG_WLAN -u CONFIG_REMOTE -u CONFIG_GDB -u CONFIG_HOSTNAME -u CONFIG_UTF -u CONFIG_MEDIACLI -u CONFIG_USB -u CONFIG_LIB -u CONFIG_ECO -u CONFIG_DOCSIS -u CONFIG_USB -u CONFIG_DOCSIS -u CONFIG_AURA -u CONFIG_MAILER -u CONFIG_DECT -u CONFIG_WLAN -u CONFIG_UPDATEFEAT -u CONFIG_DECT -u CONFIG_WLAN -u CONFIG_WEBCM -u CONFIG_SESSIONID -u CONFIG_KIDS -u CONFIG_MTD -u CONFIG_CAPI -u CONFIG_NEWSLETTER -u CONFIG_LABOR -u CONFIG_WLAN -u CONFIG_DECT -u CONFIG_ANNEX -u CONFIG_WEBUSB -u CONFIG_SOCAT -u CONFIG_DSL -u CONFIG_MINI -u CONFIG_PLC -u CONFIG_LINEARTV -u CONFIG_ETH -u CONFIG_VLYNQ -u CONFIG_TAM -u CONFIG_WLAN -u CONFIG_PPA -u CONFIG_WLAN -u CONFIG_GDB -u CONFIG_VLYNQ -u CONFIG_MTD -u CONFIG_CAPI -u CONFIG_FONBOOK -u CONFIG_NAS -u CONFIG_WLAN -u CONFIG_WLAN -u CONFIG_NFS -u CONFIG_MORPHSTICK -u CONFIG_BLUETOOTH -u CONFIG_ATA -u CONFIG_LUA -u CONFIG_TAM -u CONFIG_SPEECH -u CONFIG_LLTD -u CONFIG_SDK -u CONFIG_RAMSIZE -u CONFIG_FON -u CONFIG_LIBZ -u CONFIG_DECT -u CONFIG_DSL -u CONFIG_IPTV -u CONFIG_WLAN_RADIOSENSOR -u CONFIG_FON_HD -u CONFIG_USB_STORAGE_USERS -u CONFIG_TIMERCONTROL -u CONFIG_BETA_RELEASE -u CONFIG_EWETEL_SMARTMETER -u CONFIG_USB_HOST_AVM -u CONFIG_FON_IPPHONE -u CONFIG_I2C -u CONFIG_VPN_CERTSRV -u CONFIG_UTF8_FULL -u CONFIG_AB_COUNT -u CONFIG_WLAN_TXPOWER -u CONFIG_CAPI_NT -u CONFIG_ONLINEHELP_URL -u CONFIG_NFS_CLI -u CONFIG_WLAN_OPENWIFI -u CONFIG_ATA_NOPASSTHROUGH -u CONFIG_JFFS2 -u CONFIG_T38 -u CONFIG_STOREUSRCFG -u CONFIG_USB_TETHERING -u CONFIG_KIDS_CONTENT -u CONFIG_LED_EVENTS -u CONFIG_CODECS_IN_PCMROUTER -u CONFIG_CAPI_XILINX -u CONFIG_UBIK2 -u CONFIG_WLAN_ATH_NM_MAGPIE -u CONFIG_FONGUI2 -u CONFIG_DSL_UR8 -u CONFIG_WLAN_WDS_NO_SLAVE -u CONFIG_TAM_ONRAM -u CONFIG_SQLITE_VIDEO -u CONFIG_MULTI_COUNTRY -u CONFIG_PRODUKT_NAME -u CONFIG_ENVIRONMENT_PATH -u CONFIG_DECT_AUDIOD -u CONFIG_DECT_NO_EMISSION -u CONFIG_USB_HOST_TI -u CONFIG_AVMIPC_REMOTE_IP -u CONFIG_PROV_DEFAULT -u CONFIG_HOME_AUTO -u CONFIG_LED_NO_DSL_LED -u CONFIG_MANUAL_URL -u CONFIG_DIAGNOSE_LEVEL -u CONFIG_USB_STORAGE -u CONFIG_USB_INTERNAL_HUB -u CONFIG_CAPI_POTS -u CONFIG_USB_XHCI -u CONFIG_BLUETOOTH_CTP -u CONFIG_DECT_MONI_EX -u CONFIG_FIRMWARE_URL -u CONFIG_SERVICEPORTAL_URL -u CONFIG_ACCESSORY_URL -u CONFIG_VERSION_MAJOR09 -u CONFIG_TR064 -u CONFIG_MEDIASRV_MOUNT -u CONFIG_WLAN_ATH_NM_COMBO -u CONFIG_BOXLOWRESSOURCES -u CONFIG_DOCSIS_PCD_NO_REBOOT -u Country_is_defaultes -u CONFIG_USB_PRINT_SERV -u CONFIG_ETH_COUNT -u CONFIG_USB_LTE -u CONFIG_TR069 -u CONFIG_DSL_2DP -u CONFIG_WLAN_GUEST -u CONFIG_CDROM_FALLBACK -u CONFIG_WLAN_ATH_NM_OFFLOAD_TGT -u CONFIG_WLAN_ATH_NM_OFFLOAD_HST -u CONFIG_USB_GSM -u CONFIG_WLAN_WEATHER_CAC -u CONFIG_PLC_DETECTION -u CONFIG_USB_GSM_VOICE -u CONFIG_WLAN_WDS -u CONFIG_WLAN_1130TNET -u CONFIG_CAPI_UBIK -u CONFIG_TELEKOM_KOFFER -u CONFIG_MTD_MAILSEND -u CONFIG_INSTALL_TYPE -u CONFIG_DECT_PICTURED -u CONFIG_WLAN_MADWIFI -u CONFIG_HOME_AUTO_NET -u CONFIG_MULTI_LANGUAGE -u CONFIG_QOS_METER -u CONFIG_WLAN_ATH_NM_PCI -u CONFIG_DECT_HOME -u CONFIG_CONFIGSPACE_ONNAND -u CONFIG_UNIQUE_PASSWD -u CONFIG_WLAN_WMM -u CONFIG_DECT_ONOFF -u CONFIG_OEM_DEFAULT -u CONFIG_EXT2 -u CONFIG_FAX2MAIL -u CONFIG_HOMEI2C -u CONFIG_ERR_FEEDBACK -u CONFIG_EXT3 -u CONFIG_BOX_FEEDBACK -u CONFIG_SQLITE_BILDER -u CONFIG_DSL_MULTI_ANNEX -u CONFIG_IPV6 -u CONFIG_WLAN_1350TNET -u CONFIG_VOIP_ENUM -u CONFIG_USB_HOST_INTERNAL -u CONFIG_WLAN_IPTV -u CONFIG_USB_WLAN_AUTH -u CONFIG_VOL_COUNTER -u CONFIG_WLAN_EACS -u CONFIG_REMOTE_HTTPS -u CONFIG_GDB_FULL -u CONFIG_UTF8 -u CONFIG_USB_STORAGE_SPINDOWN -u CONFIG_LIB_MATH -u CONFIG_ECO_SYSSTAT -u CONFIG_DOCSIS_CLI -u CONFIG_USB_HOST -u CONFIG_MAILER2 -u CONFIG_DECT_14488 -u CONFIG_WLAN_TCOM_PRIO -u CONFIG_UPDATEFEATURE_URL -u CONFIG_DECT2 -u CONFIG_WLAN_WDS2 -u CONFIG_WEBCM_INTERPRETER -u CONFIG_MTD_RSS -u CONFIG_CAPI_TE -u CONFIG_NEWSLETTER_URL -u CONFIG_LABOR_DSL -u CONFIG_WLAN_WPS -u CONFIG_DECT_MONI -u CONFIG_DSL_VENDORID -u CONFIG_ETH_GBIT -u CONFIG_VLYNQ0 -u CONFIG_TAM_MODE -u CONFIG_WLAN_GREEN -u CONFIG_WLAN_SAVEMEM -u CONFIG_GDB_SERVER -u CONFIG_VLYNQ1 -u CONFIG_MTD_MAIL -u CONFIG_CAPI_MIPS -u CONFIG_FONBOOK2 -u CONFIG_WLAN_ATH_NM_USB -u CONFIG_WLAN_ATH_NM_OFFLOAD -u CONFIG_NFS_SRV -u CONFIG_ATA_FULL -u CONFIG_SPEECH_FEEDBACK -u CONFIG_DECT_CATIQ20 -u CONFIG_IPTV_4THOME'
CMD='/var/media/NEW_LINK/cgi-bin/php-cgi -c /var/media/NEW_LINK/mips/php.ini ${1}'
$ENVCMD $CMD
#EOF
php.ini
Code:
cgi.force_redirect = 0
cgi.redirect_status_env = no
//disable_functions = curl_exec, curl_multi_exec, define_syslog_variables, disk_free_space, diskfreespace, dl, error_log, escapeshellarg, escapeshellcmd, exec, ftp_connect, ftp_exec, ftp_get, ftp_login, ftp_nb_fput, ftp_put, ftp_raw, ftp_rawlist, ini_alter, ini_get_all, ini_restore, link, mysql_pconnect, openlog, passthru, pfsockopen, php_uname, popen, posix_getpwuid, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid, posix_uname, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, set_time_limit, shell_exec, symlink, syslog, system, tmpfile, virtual, phpinfo
disable_functions = phpinfo

Beispielanwendung (Auslesen aus der Fritz!NAS Datenbank)

statistic.php
Code:
<?php
include("db.php");
try {
$options = array(PDO::ATTR_AUTOCOMMIT=>FALSE);
$dbh = new PDO($strDatenbank);
$sth = $dbh->prepare("SELECT * FROM statistic");
$sth->execute();
sleep(0.125);
$dbh = null;
echo '<h2>
Tabelle(statistic)</h2>
<table border="1"
style="table-layout:fixed;
border:3px double olive;
border-collapse:inherit;
border-spacing:3px 5px;">
<tr><th>id</th><th>dbversion</th><th>partition_audio_count</th><th>partition_video_count</th><th>partition_image_count</th><th>partition_other_count</th><th>partition_doc_count</th><th>partition_total_file_count</th></tr>
';
while($Zeile = $sth->fetch(PDO::FETCH_ASSOC)){
?>
<tr>
<td>
<?php
echo $Zeile['id'];
?>
</td>
<td>
<?php
echo $Zeile['dbversion'];
?>
</td>
<td>
<?php
echo $Zeile['partition_audio_count'];
?>
</td>
<td>
<?php
echo $Zeile['partition_video_count'];
?>
</td>
<td>
<?php
echo $Zeile['partition_image_count'];
?>
</td>
<td><?php echo $Zeile['partition_other_count']; ?>
</td>
<td>
<?php
echo $Zeile['partition_doc_count'];
?>
</td>
<td>
<?php
echo $Zeile['partition_total_file_count'];
?>
</td>
</tr>
<?php
}
echo '</table>';
}
catch(PDOException $e) {
echo $e->getMessage();
}
?>
db.php
Code:
<?php
date_default_timezone_set('Europe/Berlin');
$strDatenbank = 'sqlite:/var/media/NEW_LINK/FRITZ/mediabox/fritznasdb_part.db3'
?>
So hab ich z.B. rausgekriegt, dass die Fritz!NAS-Datenbank vor Indizierung auf NULL gesetzt wird.
 
Zuletzt bearbeitet:
Hm, interessanter Beitrag.

Da habe ich zwar jetzt etwas gelernt. Insbesondere war mir nicht klar, dass die Fritzbox sqlite schon mitbringt.
Die Lösung mit busybox-httpd kommt für mich leider nicht in Betracht:

- Den busybox-httpd bekommt man m.W. nicht mit HTTPS zum Laufen. Für mich ein KO-Kriterium -- ich will meine Termine und Kontakte nicht im Klartext durch die Welt schicken.
- Ich sehe nicht, wie man den busybox-httpd unter einem anderen User als root laufen lässt. Geht bestimmt, ich weiß nur nicht, wie. Und einen Webserver mit Kontakt zur Außenwelt kann man natürlich nicht als root laufen lassen, das ist ja ein absolutes No-Go.
- Die PHP-Version von fritzmod.net ist mir persönlich zu alt, um als "einigermaßen sicher" durchzugehen.

Damit wäre ich wieder bei meiner Ursprungsfrage: Hat irgendwer einen Plan, wie man eine aktuelle Apache/PHP-Version (oder gerne auch lighttpd oder thttpd) auf die Fritzbox bekommt? "FritzDebian" scheidet aus, denn ich will ja gerade ohne externen Speicher auskommen.

Bekommt man ipkg/opkg o.ä. auf einer Fritzbox mit Original-Firmware zum Laufen?
 
Es gibt schon einen Webserver auf der Box der HTTP/HTTPS kann und auch über IPv4/IPv6 ansprechbar ist.
Allerdings fällt PHP dann völlig weg.
Denn dieser Webserver arbeitet mit: LUA (/cgi-bin/luacgi)

/cgi-bin/env
Code:
HTTP_HOST: deepbase
SERVER_SOFTWARE: AVM websrv
SERVER_PROTOCOL: HTTP/1.0
GATEWAY_INTERFACE: CGI/1.1
HTTP_ACCEPT: text/html,application/xhtml+xml,application/xml;q=0.9,*/*,q=0.8
HTTP_ACCEPT_LANGUAGE: de-DE
REQUEST_METHOD: GET
SCRIPT_FILENAME:
SCRIPT_NAME: /cgi-bin/env
REQUEST_URI:
HTTP_REFERER:
REMOTE_ADDR: fd00::9ec7:a6ff:fe56:3e7f
REMOTE_PORT:
HTTP_USER_AGENT: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36
REMOTE_USER:
Dazu muss nur ein Link in /var auf den eigenen Webspace zeigen.
Code:
ls -la /var/html
lrwxrwxrwx    1 root     root            19 Sep 26 11:20 /var/html -> /var/media/NEW_LINK/
...geht auch mit: /var/html.nas und /var/html.myfritz, also insgesamt 3x.
Das schönste: Läßt sich im laufenden Betrieb umschalten/linken. Ohne Reboot etc etc....
;)
 
Zuletzt bearbeitet:
Auch interessant, nur leider nutzt mir Lua für Baikal nichts.

Hat sonst noch irgendwer einen Vorschlag, wie man eine aktuelle Apache/PHP-Version (bzw. lighttpd oder thttpd) auf die Fritzbox bekommt?
Oder einen Paketmanager à la ipkg/opkg ohne ?
 
Das Projekt ist interessant aber ich finde auf der Fritzbox nicht wirklich geeignet, weil selbst wenn man es zum Laufen bekommt spätere Updates recht umständlich aber bei Apache/PHP von Nöten sein dürften. Davon abgesehen sind die Anforderungen HTTPS/PHP/SQL nicht gerade gering (letzteres wäre zwar onboard), so dass man - will man es ordentlich aufziehen - eher über einen Raspberry o.Ä. nachdenken sollte.
 
Der Speicherbedarf von Adressbüchern und Kalenderdaten ist minimal, und wenn ein eigener CardDAV/CalDAV Sinn haben soll, dann muss er permanent verfügbar sein.
Baikal braucht auch kaum Ressourcen (wenn mal ein Webserver mit PHP und sqlite da ist).

Ich könnte den Kram auf meinem NAS zum Laufen bringen, aber das NAS wird vielleicht 2-3 Stunden am Tag gebraucht, wenn überhaupt. Den Rest der Zeit ist es (hoffentlich) im Hibernate. Wenn da jetzt alle Devices in meiner Family permanent drauf zugreifen, dann isses nichts mehr mit Hibernation. 20 Stunden zusätzlicher Betrieb pro Tag sind ~ 30 EUR pro Jahr, von der kürzeren Lebensdauer der Hardware ganz abgesehen. Muss ja nicht sein.

Ein Raspi ist ein weiteres Gerät, das gewartet werden will und Strom schluckt, wenn auch nicht so viel.
Aber die Fritzbox läuft eh' immer und reicht locker für das bisschen CardDAV/CalDAV, so ist dieser Thread ja überhaupt entstanden.

Stimmt natürlich, wenn man auf einer Fritzbox einen Webserver mit PHP laufen hat, dann will man den aktuell haben, sonst wird es irgendwann gefährlich.
Aber ich habe noch nicht verstanden, was man überhaupt machen muss, um ein aktuelles Paket zu bekommen bzw. zu bauen.
Wenn ich das weiß, dann mache ich mir Gedanken darüber, wie man ein Update halbwegs vertretbar organisiert/automatisiert bekommt.

Insofern: Kann irgendwer weiterhelfen? Wie bekommt man einen aktuellen Webserver mit aktuellem PHP auf die Fritzbox?

Wenn alle Stricke reißen, dann schaue ich mir http://www.ip-phone-forum.de/showthread.php?t=245505 mal näher an, aber eigentlich hatte ich genau gehofft, sowas Größeres vermeiden zu können.
 
Äh, ob dieser eingebauten "AVM websrv" wohl ein zweites cgi-bin verkraftet? Dann würde ja ein statisch gelinktes PHP-Binary reichen.
 
Wie bekommt man einen aktuellen Webserver mit aktuellem PHP auf die Fritzbox?

Im freetz trunk sind Apache 2.4.10 und PHP 5.5.17, beides aktuell (es gibt inzwischen PHP 5.6.0 aber der 5.5er Zweig wird nach wie vor gepflegt).
 
:doktor:
Dann würde ja ein statisch gelinktes PHP-Binary reichen
(AVM Webserver)

Vielleicht über den SHEBANG oder als direkter Aufruf in einem CGI,
denn die Startkonfiguration vom AVM-Server kennt nicht den MIME-TYPE: *.php

Wenn das Jemand in LUA machen könnte....
...die Installation geschickt gemacht...
...liesse sich das Ganze sogar ins AVM-Webinterface integrieren.
 
Zuletzt bearbeitet:
Apache 2.4.10 und PHP 5.5.17 von freetz klingt doch super. Mal sehen, ob ich die zusammenbauen kann und zum Laufen bekomme.

Einen CardDAV/CalDAV in Lua habe ich nicht gefunden. Wenn AVM das nicht selbst macht -- was ich eigentlich gar nicht so abwegig fände, man müsste es ihnen vielleicht mal vorschlagen -- dann wird das wohl eher nichts.
 
Ist kein Hexenwerk ein Howto gibt's auf freetz.org
 
@meisterlei: Du schreibst das Outlook mit CalDAV und CardDAV umgehen kann. Wie hast du das eingerichtet? Bzw. welche kostenfreien AddOns braucht man dafür? Ich würde das gerne noch mit Z-Push-contrib erweitern, dann sollten die Adressen und Termine auch via Push auf das Phone kommen. Das normale Z-Push kenne ich noch von meinen Versuchen mit Zarafa. Der obige Fork scheint aber auch mit Outlook 2013 zu funktionieren. Getestet hab ich es noch nicht, will erst mal die ersten Sync Versuche mit Baikal alleine hinbekommen, bevor ich mich Z-Push zuwende.
 
Danke. Das Ding funktioniert. Aber leider nur teilweise. Zum einen hat es mir nun die Kontakte dupliziert, zum anderen kann man nach der Ersteinrichtung scheinbar keinen zweiten Ordner in den Sync bringen. Schade. Ich schau mal ob ich Z-Push ans Laufen bekomme über Freetz, damit sollte dann eigentlich auch Outlook bedient sein.
 
Was hat denn Outlook mit Z-Push zu tun?
 
Nunja mit Outlook (zumindest 2013) sollte ich mich direkt auf Z-Push (und damit Baikal) verbinden können. Damit bräuchte man kein Plugin mehr. Da aber PHP-MAPI in meiner Installation noch fehlt, kann ich das vorerst nur in einer VM testen. Erst noch PHP-MAPI nur für den Test in das Freetz rein zu tn, ist mir zu mühselig.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.