Man führt als benutzer root aus:

  1. Ein Backup der Konfigurationsdateien anlegen:
    tar -czf etc.yyyy-mm-dd.tgz /etc;
    chown myuser:myuser etc.yyyy-mm-dd.tgz;
  2. Ein Backup des Verzeichnisses /root anlegen:
    tar -czf root.yyyy-mm-dd.tgz /root;
    chown myuser:myuser root.yyyy-mm-dd.tgz;
  3. Ein Backup des Verzeichnisses /usr/local anlegen; nur in diesem Verzeichnis darf Software installiert
    werden die nicht aus dem Debian Paketsystem stammt.

    tar -czf usr-local.yyyy-mm-dd.tgz /usr/local;
    chown myuser:myuser usr-local.yyyy-mm-dd.tgz;
  4. Ein Backup des Verzeichnisses /var/www anlegen.
    tar -czf var-www.yyyy-mm-dd.tgz /var/www;
    chown myuser:myuser var-www.yyyy-mm-dd.tgz;
  5. Eine Liste der derzeit installierten Pakete abrufen:
    dpkg --get-selections > dpkg-selections.yyyy-mm-dd.txt;
    chown myuser:myuser dpkg-selections.yyyy-mm-dd.txt;

    Diese Liste enthält allerdings nur welche Pakete installiert sind, nicht in welcher Version! Sie kann später wieder eingelesen werden mit
    dpkg --set-selections < dpkg-selections.yyyy-mm-dd.txt
    (Allerdings wendet das die Selektionen noch nicht an!)

  6. Prüfen ob die zu brennende Nutzdatenmenge weniger als 8,5 GB beträgt. Sonst verkleinern.
  7. Eine Image-Datei für die zu brennende DVD erstellen. Während dem Lauf von mkisofs darf man keine der
    ausgewählten Dateien verändern sonst entsteht eine Fehlermeldung wie »mkisofs: File '/home/matthias/[...]' did grow.«.

    mkisofs -r -J -graft-points 
      -o /home/_image.raw 
      /home/myuser=/home/myuser 
      /home/myuser2=/home/myuser2 
      /home/ftp=/home/ftp
  8. Die erstellte Image-Datei prüfen. Wenn es so aussieht als ob Umlaute in Dateinamen durch Fragezeichen ersetzt wurden: das kann daran liegen, dass die verwendete Konsole die falsche Kodierung verwendet. Etwa weil man als anderer Benutzer eingeloggt ist als derjenige, mit dem man sonst diese Dateinamen angesehen und bearbeitet hat.
    mount -o loop /home/_image.raw /media/misc;
    ls -l /media/misc;
    umount /media/misc;
  9. Die DVD brennen. Es funktioniert, DVD-R DL im Dummy-Modus zu verwenden; die Rohlinge werden dadurch nicht zerstört.
    cdrecord-prodvd -v -dao -dummy /home/_image.raw;
    cdrecord-prodvd -v -dao /home/_image.raw;
  10. Die DVD testen
    mount /media/cdrom;
    ls -l /media/cdrom;
    umount /media/cdrom;
  11. Befehl zum Überprüfen ob die DVD physikalisch korrekt gelesen werden kann:
    readcd f=/home/matthias/Desktop/image.raw;
  12. Möglichst kühl und möglichst dunkel einlagern um Alterungserscheinungen vorzubeugen. 4 Monate intensive direkte Sonnenbestrahlung und entsprechende Wärme ist an der Grenze dessen was auch ein guter Markenrohling aushalten kann [Quelle].

Schritt für Schritt:

  1. Download aus dem SVN Directory: http://joomlacode.org/gf/project/docman/scmsvn/ . Hier die Version 87 aus vom 2007-05-07. Befehl zum Download: svn checkout --username anonymous http://joomlacode.org/svn/docman
  2. Man packe das Verzeichnis docman/docman/trunk zu einem ZIP-Archiv zusammen und installiere dieses als Komponente in Joomla 1.5.
  3. Beim Installationsprozess tritt folgende Fehlermeldung in zweifacher Wiederholung auf:
    * JInstaller::install: SQL error. DB function failed with error number 1136
    Column count doesn't match value count at row 1
    SQL=INSERT INTO `mansorg_modules` VALUES ('', 'Latest docs', '', 2, 'dmcpanel', 0, '0000-00-00 00:00:00', 1, 'mod_docman_latest', 0, 99, 1, '', 2, 1)

    Das entsprechende SQL-Statement steht in docman/docman/trunk/docman.xml, außerdem weitere Statements die mit »INSERT INTO `#__modules`« beginnen und wohl auch korrigiert werden müssen. Das Problem: während DOCman davon ausgeht dass die Tabelle 15 Spalten hat sind es in Joomla 1.5 16 Spalten. In Mambo 4.5.2 / Joomla 1.0 sind die 15 Spalten in Reihenfolge:

    `id`
    `title`
    `content`
    `ordering`
    `position`
    `checked_out`
    `checked_out_time`
    `published`
    `module`
    `numnews`
    `access`
    `showtitle`
    `params`
    `iscore`
    `client_id`

    In Joomla 1.5 kommt als 16. Spalte am Ende “control” hinzu. Eine Lösung die für beide Versionen funktioniert ist, vollständige INSERT-Statements zu verwenden. Diese haben die Form:

    INSERT INTO `mansorgs_modules` (
      `id`, `title`, `content`, `ordering`, `position`, `checked_out`,
      `checked_out_time`, `published`, `module`, `numnews`, `access`,
      `showtitle`, `params`, `iscore`, `client_id`)
    VALUES ([...]);

    Also muss man die oben gezeigte Klammer mit den 15 Spaltennamen in alle »INSERT INTO `#__modules`« Statements in docman/docman/trunk/docman.xml einfügen.

  4. Die Installation gelingt jetzt. Greift man dann aber auf den Menüpunkt »DOCMan -> Home« zu so erscheint die Fehlermeldung »fatal error: Call to a member function getCfg() on a non-object in [...]/administrator/components/com_docman/includes/docman.html.php on line 76«. Ein »grep -r -n -C 1 "$_DOCMAN" * | less« in docman/docman/trunk zeigt wo das betreffende »non-object« angelegt wird:
    admin.docman.php:20:$_DOCMAN = new dmMainFrame(_DM_TYPE_ADMIN);

    Das Problem liegt genau dort: man füge in der Zeile davor ein »global $_DOCMAN;«. Denn sonst ist $_DOCMAN keine globale Variable, wird doch admin.docman.php von Joomla innerhalb (!) einer Funktion inkludiert. Damit ist dann $_DOCMAN nur auf derselben Quellcodeebene erreichbar: es ist eine lokale Variable einer Funktion die in weiteren inkludierten Dateien sichtbar ist, aber nicht in darin definierten Funktionen selbst wenn diese »global $_DOCMAN« einsetzen.

  5. Der GET-Parameter »section« wird noch nicht korrekt beachtet. Es fehlt: in der Datei admin.docman.php im Abschnitt »// retrieve some expected url (or form) arguments« die Zeile »$section = mosGetParam($_REQUEST, 'section', '0');«.
  6. Die Toolbar im Backend wird nicht dargestellt. Es fehlt: »global $section;« vor
    »$section = mosGetParam($_REQUEST, 'section', '0');« in admin.docman.php. Grund wie bei $_DOCMAN. Leider wird die Toolbar so noch ganz zu Beginn der Seite dargestellt.
  7. Problem im Frontend:
    Fatal error: Call to a member function getCfg() on a non-object
    in [...]/administrator/components/com_docman/classes/DOCMAN_user.class.php
    on line 269

    Behebung: man füge in com_docman/docman.php ein »global $_DOCMAN;« und »global $_DMUSER;«.

  8. Problem im Frontend:
    Catchable fatal error: Object of class Savant2_Error
    could not be converted to string
    in [...]/components/com_docman/themes/default/templates/page_docbrowse.tpl.php
    on line 45

    Behebung: in administrator/components/com_docman/classes/DOCMAN_theme.class.php füge man vor der ersten Verwendung von $savant_path ein:

    global $savant_path; // Joomla includes this code within a function, so first use of $savant_path
    // makes it a local variable if we do not declare it global here
  9. Problem im Frontend: ein veralteter Wert des Itemid-Parameters wird als GET-Parameter verwendet
  10. Problem im Frontend: Icons werden nicht dargestellt, vermutlich ein Problem mit Pfaden das aus fehlender global-Deklaration einer Datei-globalen Variable basiert.

Hier: sog. »Cold Decryption«, d.h. allein der »private key« ist vorhanden, nicht mehr das »keyfile« mit dem zu einer einzigen Dataei gehörenden individuellen Schlüssel. Der Name des »keyfile« muss zwar als drittes Argument mit angegeben werden (hier: decrypted.file.key), jedoch ist es der Name einer bisher nicht existierenden Datei die während der Entschlüsselung erzeugt wird.

scp user@example.com:/home/user/backup/encrypted.file encrypted.file;
rsyncrypto -d encrypted.file decrypted.file decrypted.file.key Key.PrivateKey.key

Man verwende duplicity.

Test:

duplicity /home/user/Verzeichis/ file:///usr/local/backup

Möglichkeiten, nach Empfehlbarkeit:

  • duplicity (wie rsynccrypto, aber mit GPG-Verschluesselung; erzeugt standardmäßig 5MB große TAR-Archive für inkrementelle Backups; per Kommandozeile kann man einen Restore zu bestimmtem Datum machen mit Prüfung der GPG-Signatur)
  • rdiffbackup bzw. rdiff
  • rsyncrypto mit lokalem Repository und anschließend FTP Mirroring zum Abgleich
  • rsyncrypto (SSH-getunnelt, auf dem Server lokal installiert).
  • verwende anacron-Jobs die nur laufen wenn eine (schnelle) Internetverbindung verfügbar ist

Dies kann z.B. hilfreich sein für Download-Inhalte wenn der eigentliche Web-Server auf einem anderen Kontinent steht.

Man benötigt:

  • kostenfreien Webspace mit FTP-Upload, Server-Standort in Deutschland, guter Bandbreite und Möglichkeit zur Erreichbarkeit unter einer Subdomain einer eigenen Domain (über CNAME Record oder IP A Record); alternativ kann man eine Art Proxy-Script verwenden. Für eine Liste möglicher Webspace-Angebote betrachte man http://www.realwebmaster.net/homepage/free_webspace.htm . Tipp: funpic.de ( http://www.funpic.de/webhosting_info.php ; verwendet Server in Deutschland; eigene Domains oder Subdomains können verwendet werden durch einen NS A Record mit den Nameservern von funpic.de ; hier wird Werbung von funpic eingeblendet, was jedoch für Downloads einzelner Dateien egal ist).
  • vollautomatisches Mirroring-System, FTP-basiert, Übertragung nur der geänderten Dateien
  • System zur Auswahl des Mirrors nach Geolocation der IP-Adresse. sourceforge.net verwendet dazu http://www.maxmind.com/ . Maxmind.com bietet mit GeoLite Country eine kostenfreie Open Source Lösung an ( http://www.maxmind.com/app/geolitecountry ).

Anforderungen:

  • kostenfrei
  • wartungsfrei durch einen File Hosting Service, ohne eigene Installation von Software
  • erreichbar unter eigener Subdomain (»neveryday«)
  • Navigation in einer Ordnerstruktur
  • Möglichkeit, Beschreibungen zu Dateien einzugeben
  • rekursiver FTP-Upload ganzer Verzeichnisstrukturen (d.h. einer lokal verwalteten Kopie der zu veröffentlichenden Dateien); so sind die Download-Inhalte auch lokal (bedingt) nutzbar
  • es soll einfach möglich sein die Links zu ändern wenn sich die Implementierung oder der Ort des Download-Bereichs ändert

Gute Suche nach freien File Hosting Services: http://www.google.de/search?q=free+%22file+hosting%22
Vergleich von freien File Hosting Services: http://www.free-webhosts.com/free-file-hosting.php

Bisher gefundene Alternativen, nach Empfehlbarkeit absteigend:
http://www.mediafire.com/ (unbegrenzter Speicherplatz, bis 100MB pro Datei; kein FTP-Upload)
http://www.filecrunch.com/ (bs 250MB pro Datei; kein FTP-Upload)
http://www.fileden.com/
http://files-upload.com/ (nicht erreichbar 2008-03-22)
http://myfreefilehosting.com/ (Schnittstelle zu mediafire.com?)

Man kann auch einfach kostenfreien Webspace verwenden. Für Deutschland folgende Liste:
http://www.realwebmaster.net/homepage/free_webspace.htm

Anforderungen, nach Wichtigkeit absteigend:

  • SIP-Client unter Linux, möglichst Open Source
  • Nutzung durch ein Unternehmen zulässig
  • SIP-Anbieter getrennt vom DSL-Anbieter; so ist keine Änderung am Telefonanschluss nötig wenn man den DSL-Anbieter wechselt oder kündigt.
  • mind. 2 Rufnummern (privat, geschäftlich)
  • keinerlei monatlichen Kosten (für Grundgebühr, Mindestumsatz, Rufnummern o.ä.); nicht unbedingt weil dies Tarife zu teuer macht, sondern weil keinerlei Aktionen notwendig sind wenn man die Tarife nicht mehr benötigt (z.B. bei Auslandsaufenthalten)
  • automatische, zuverlässig funktionierende Anmeldung des SIP-Clients bei Start und Resume (von Suspend-to-RAM) des Computers
  • Rufnummern müssen (!) ohne Ortsnetz-Bindung sein. In Deutschland verwende man dazu nationale Teilnehmerrufnummern (032-Nummer, NTR). Siehe http://de.wikipedia.org/wiki/Vorwahl_032_(Deutschland) . Dies ist für Anrufer preiswerter als sonst auch angebotene 01801 Rufnummern. Man muss diese Rufnummer auch im Ausland verwenden dürfen; sonst müsste man bei Umzug oder Auslandsaufenthalt seine Rufnummer wechseln.
  • evtl. zwei Telefonprodukte: einmal mit Festnetz-Flatrate mit kurzer Kündigungsfrist, einmal normal aber ohne Grundkosten
  • möglichst ausschließliche Nutzung von VoIP (kein NGN o.ä. da nicht mit Softphones und ortsunabhängigen SIP-Adressen nutzbar)
  • Telefontarif als Flatrate bei der geschäftliche Nutzung erlaubt ist
  • SIP-Adressen sollen möglichst auch Videotelefonie erlauben
  • Parallel-Call auf einer Festnetz-Rufnummer (zur Umleitung auf Handy-Homezone, macht im Lokalbereich gut erreichbar und bietet ein redundantes Zweitgerät bei Problemen im SIP-Endgerät). Diese Funktion muss nicht kostenfrei sein; ein Tarif von 1ct/min ist günstig genug auch für die seltenen längeren Telefonate. Auch kann man ja bei einem längeren Telefonat den Anrufer auffordern, direkt auf die Homezone-Festnetz-Rufnummer anzurufen um die Kosten für die Weiterleitung zu sparen. Eventuell ist eine kostenfreie Weiterleitung über sparvoip.de mit Hilfe des Loca Access Codes möglich ( http://www.sparvoip.de/de/geo.html ). Der Anruf der Weiterleitung wird ja unter der eigenen, bei sparvoip.de registrierbaren Telefonnummer geführt. Es muss lediglich eine Möglichkeit geben, eine Pause in die Zahlenfolge einzufügen um Einwahlnummer und DTMF-Sequenz zu trennen.
  • Voicemail-Box, mit Zustellung per E-Mail
  • kostengünstige SMS, per SIP-Client und Web-Eingabeformular
  • E-Mail/Fax Gateway, bidirektional
  • Auswahl über verschiedene Anbieter möglich (geht in twinkle gut, in ekiga unkomfortabel)
  • möglichst wenige Anbieter parallel verwenden um die Komplexität zu minimieren
  • Audiokonferenzen
  • Videotelefonie
  • Videokonferenzen

Für eingehende Anrufe verwende man den Tarif »sipgate basic« (http://www.sipgate.de/user/tariff_basic.php). Dieser bietet eine eigene Ortsnetz-Rufnummer und verursacht keinerlei laufende Kosten.

Für ausgehende Anrufe verwende man SparVoip (http://www.sparvoip.de). Damit kann man 90 Tage nach jedem guthabenkauf und sonst 300 Minuten pro Woche kostenfrei auf Festnetz-Telefone in 14 Ländern anrufen, inkl. Deutschland ( http://www.sparvoip.de/de/free.html ). internetcalls.com ist ein identisches Angebot derselben Firma (Betamax), bloß in englischer Sprache. Vergleiche nämlich http://www.internetcalls.com/en/about.html mit http://www.sparvoip.de/de/about.html .

Alternative / Ergänzung für ausgehende Anrufe: http://www.lowratevoip.com (wöchentlich 200 Freiminuten ins deutsche Festnetz und 41 Länder).

Als E-Mail/Fax Gateway verwende man einen Tarif von dus.net. Indem man keine Ortsnetz-Rufnummer dazu bestellt fallen auch keine Kosten an, Faxempfang ist dann aber natürlich nicht möglich.

SparVoip bietet SMS für 2,4ct/SMS nach Deutschland (http://www.sparvoip.de/de/smsrates.html).

Als SIP-Client verwende man ekiga (da es auch Videotelefonie bietet). Wenn dies nicht zuverlässig funktioniert verwende man twinkle.

bei dus.net kosten dort bestellte Telefonnummern einmalig 9,90 EUR und zusätzlich 4,90 EUR jährlich. Dorthin portierte Rufnummern kosten aber 29,90 EUR pro Auftrag einmalig und keinen zus. jährlichen Betrag. Es können mehrere Rufnummern eines Anschlusses mit einem Auftrag portiert werden. So ist es im Gegensatz zu sipgate.de möglich, einen Tarif ohne laufende Kosten mit mehr als einer Telefonnummer zu haben.

Deshalb Vorschlag, komplett ohne monatliche Kosten:

  • Erkundigen NTRs (032-Rufnummern) zu dus.tel portiert werden können.
  • Zwei solche Rufnummern bei einem Anbieter in einem einzigen Anschluss anlegen bei dem die ausgehende Übertragung günstig ist.
  • Rufnummern zu dus.net übertragen.
  • dus.net DUStel starter für eingehende Gespräche, Fax/E-Mail Gateway, SMS, Voicemail-Box, Parallelruf, Videokonferenzen und Anrufe auf Sonderrufnummern und ins Ausland verwenden. DUStel 60 wäre für meist längere Anrufe innerhalb Deutschlands günstiger, aber für ausgehende nationale Anrufe wird ja SparVoIP verwendet.
  • SparVoIP für ausgehende Gespräche verwenden. Da von SparVoIP keine eigene Rufnummer zugeteilt wird muss man danach dus.net o.ä. verwenden um die eigene Rufnummer zu hinterlassen wenn man über SparVoIP niemanden unter einer Zielrufnummer erreicht hat.
  • zusätzliche Ortsnetz-Rufnummer aus dem Ortsnetz des Wohnsitzes verwenden, mit Umleitung oder Weiterleitung auf die NTR oder eine SIP-Adresse, um Erreichbarkeitsprobleme und Kostenprobleme zu vermeiden; die Weiterleitung soll als IP-zu-IP-Gespräch kostenfrei sein

Alternative Lösung, falls zulässig und möglich: zwei sipgate basic Konten, jeweils mit einer darauf umgezogenen NTR (032-Rufnummer). Oder alternativ eine 01212-3 Rufnummer (»innovative Dienste«) über web.de.

Wenn NTRs nicht bei dus.net oder sipgate verwendet werden können muss man auf einen anderen VoIP-Provider ausweichen. Anbieter mit kostenfreien NTRs sind z.B. Lycos, Arcor und T-Online. Außerdem:
http://www.voip-nutzen.de/voip-tarif.php?id=151
http://www.voip-nutzen.de/voip-tarif.php?id=42 (TelDaFax)

Weitere Alternative: Ortsnetz-Rufnummer der Mobilfunk-Homezone verwenden als Alternative wenn
032 nicht erreichbar ist oder zu teuer ist.

Tarif- und Leistungsvergleich VoIP: http://www.voip-nutzen.de/
Diskussionen zu allen bekannten VoIP-Anbietern: http://www.ip-phone-forum.de/forumdisplay.php?f=349
VoIP-Tarifrechner: http://www.teltarif.it/voip/tarifrechner-erweitert.html
Diskussion verschiedener VoIP-Rufnummernarten: http://www.voip-nutzen.de/voip-rufnummern.php

NTRs werden derzeit von vielen Anbietern noch nicht äquivalent zu Festnetz-Telefonnummern behandelt, verursachen also für Anrufer hohe Kosten, auch wenn diese eine Telefon-Festnetz-Flatrate besitzen. Bis sich das ändert sollte mna deshalb ggf. bei längeren Aufenthalten in einem lokalen Bereich zus. eine Festnetz-Rufnummer mit Ortsvorwahl verwenden.