Copying sources and texts (also in parts) for publishing without our permission is NOT ALLOWED. We are fed up with finding our work on other sites (like stackoverflow).
Das Kopieren von Quellcode und Texten (auch in Auszügen) ist nicht erlaubt. Wir haben es gründlich satt, unsere Arbeit auf anderen Webseiten zu finden.

Copying for non-public usage is allowed.           Das private Kopieren und Benutzen ist natürlich erlaubt und erwünscht.

Kategorie "SVN"

10. Apr
Teaser

svn: E205009: Local, non-commit operations do not take a log message or revision properties

Sollte bei einem SVN Befehl folgender Fehler auftreten:

svn: E205009: Local, non-commit operations do not take a log message or revision properties

… dann fehlt häufig der “file:///” Zusatz oder ist fehlerhaft.

Beispiel:

svn mkdir --parents /home/path/svn/name/{trunk,tags,branches} -m "initial dir creation"

erzeugt die o.a. Fehlermeldung. Der richtige (korrekte) Befehl lautet:

svn mkdir --parents file:///home/path/svn/name/{trunk,tags,branches} -m "initial dir creation"
31. Mrz
Teaser

SVN: Die Grundstruktur mit einem Befehl erzeugen

In einem SVN Repository können Sie die (meist) benötigte Grundstruktur mit den Ordnern “trunk”, “tags” und “branches” mit einem einzigen Befehl in der Kommandozeile erstellen lassen:

svn mkdir --parents file:///path/to/svn/repositoryName/{trunk,tags,branches} -m "initial dir creation"

Der Parameter -m “initial dir creation” stellt dabei den zu speichernden Text dar.

03. Sep 2015
Teaser

SVN: Struktur automatisch in einem Befehl anlegen

Um in einem SVN (= Versionsverwaltung) die benötigten Verzeichnisse automatisch mit einem Basis-Commit erstellen zu lassen, benutzt man folgenden Befehl:

svn mkdir --parents file:///home/customer/svn/project/{trunk,tags,branches} -m "initial dir creation"
14. Jul 2013
Teaser

Sicherheit: FritzBox sendet Daten an AVM

Auch die FritzBox (Hersteller ist AVM) sendet teilweise Daten an die AVM-Server.
Diese Option müssen Sie (leider) manuell deaktivieren, denn sie ist im Standard aktiv:

  1. Öffnen Sie die passende Seite auf Ihrer FritzBox:
    http://fritz.box/login.lua?page=/services.lua
  2. Melden Sie sich mit Ihrem Passwort an
  3. Ihnen wird die folgende Webseite angezeigt.
    Deaktivieren Sie die beiden oberen Optionen und wählen Sie “nicht senden” beim Fehlerbericht:

  1. Klicken Sie auf “Übernehmen”
04. Mai 2013
Teaser

VirtualMin: Installation der GPL Version auf einem Linux Debian Server V6 (Squeeze)

Um einen Server möglichst einfach online verwalten (administrieren) zu können hat sich das Programm “VirtualMin” bewährt. Es erlaubt den Zugriff auf den Server über eine SSL-verschlüsselte HTTP Leitung (also per üblichem Browser) und stellt eine übersichtliche Benutzeroberfläche bereit. Auf dieser können (fast) alle Einstellungen und Optionen des Servers verwaltet und kontrolliert werden. Dabei ist verhältnismäßig wenig technisches Fachwissen notwendig.

Wichtiger Hinweis Wenn Sie sich entschlossen haben, einen Server (ob virtuell oder real) im Internet online zu stellen, dann bedenken Sie bitte jederzeit Ihre Haftung und die Risiken des Serverbetriebes im Internet. Es gibt sehr viele Bedrohungen: Angefangen bei einfach nur nervigen Hacker-Kiddies, über halbprofessionielle Möchte-Gern-Hacker mit c’t Wissen und vielleicht einer Hackeranleitung bis zu professionellen Gruppen im In- und Ausland. Nicht nur die Fremdnutzung Ihres Servers und Datendiebstahl (Kundendaten = Datenschutz !) ist ein Risiko, vor allem die unbemerkte Nutzung Ihrer Vertragsressourcen (IP Adresse, Traffic, Speicherplatz, uvm.) sind ein meist unterschätztes Risiko. Denn solange Sie den Angriff nicht bemerken, kann in Ihrem Namen von Ihrem Server aus agiert werden. Im Zweifel haften Sie für diese Taten.

Um auf einem Linux Debian Server (hier V6 = “Squeeze”) eine VirtualMin Installation durchzuführen, folgen Sie dieser Anleitung:

Vorbereitung

Gehen Sie auf die Homepage von VirtualMin und laden Sie sich Ihre gewünschte Version (hier “GPL”) für Debian herunter:
VirtualMin Webseite: http://www.virtualmin.com/download.html
Direkter Download: http://software.virtualmin.com/gpl/scripts/install.sh

Speichern Sie die Datei “install.sh” auf Ihrem Linux Server ab. Sollten Sie noch keine SSH Verbinsung aufgebaut haben, holen Sie dieses jetzt bitte nach – haben Sie bereits SSH Zugriff (z.Bsp. per “PuTTY”) und sind mit dem Server verbunden, können Sie jetzt auch folgenden Befehl direkt auf dem Server ausführen und dadurch die “install.sh” Datei herunterladen:

wget http://software.virtualmin.com/gpl/scripts/install.sh

Prüfen Sie bitte, ob Ihre Hostname den Anforderungen entspricht. Geben Sie dafür auf Ihrem Server folgenden Befehl ein:

hostname -f

Erhalten Sie nun einen vollständigen Domainnamen (xxx.yyy.zzz), dann ist Ihr Server für die Installation vorbereitet. Installation Starten Sie nun die Installation:

/bin/sh install.sh

Lesen Sie sich bitte die Lizenzvereinbarungen durch und akzeptieren Sie diese, sofern Sie einverstanden sind. Sind Sie nicht einverstanden, beenden Sie jetzt die Installation und diese Anleitung.

Welcome to the Virtualmin GPL installer, version 1.0.9
WARNING:

The installation is quite stable and functional when run on a freshly
installed supported Operating System.

If you have existing websites, email users, or if you manually installed
Virtualmin via a Webmin 'wbm' module, you are likely to run into problems.
Please read the Virtualmin Administrators Guide before proceeding if
your system is not a freshly installed and supported OS.

This script is not intended to update your system!  It should only be
used to perform your initial Virtualmin installation.  If you have previously
run the Virtualmin installer, you can perform upgrades and updates from within
Virtualmin itself, or using your system's package manager. Once Virtualmin is
installed, you never need to run this script again.

The systems currently supported by install.sh are:
CentOS and RHEL 5-6 on i386 and x86_64
Scientific Linux 6 on i386 and x86_64
Debian 6.0 on i386 and amd64
Ubuntu 8.04 LTS and 10.04 LTS, and 12.04 LTS on i386 and amd64
Amazon Linux 2012.03 on i386 and x86_64
FreeBSD 7.0 and 8 on i386 and amd64

If your OS is not listed above, this script will fail.  More details
about the systems supported by the script can be found here:

http://www.virtualmin.com/os-support.html

Continue? (y/n)

Nach dem Zustimmen zur Lizenz beginnt das Script automatisch mit dem Herunterladen der weiteren benötigten Pakete. Dabei werden auch bereits installierte Pakete ggf. wieder gelöscht oder deinstalliert, da diese inkompatibel mit den neuen, benötigten, Paketen sein können:

INFO - Removing Debian standard Webmin package, if they exist...
INFO - Removing Debian apache packages...
INFO - Installing dependencies using command: /usr/bin/apt-get --config-file apt.conf.noninteractive -y --force-yes install postfix postfix-pcre webmin usermin ruby libapache2-mod-ruby libxml-simple-perl libcrypt-ssleay-perl unzip zip libfcgi-dev bind9 spamassassin spamc procmail libnet-ssleay-perl libpg-perl libdbd-pg-perl libdbd-mysql-perl quota iptables openssl python mailman subversion ruby irb rdoc ri mysql-server mysql-client mysql-common postgresql postgresql-client awstats webalizer dovecot-common dovecot-imapd dovecot-pop3d proftpd libcrypt-ssleay-perl awstats clamav-base clamav-daemon clamav clamav-freshclam clamav-docs clamav-testfiles libapache2-mod-fcgid apache2-suexec-custom scponly apache2 apache2-doc libapache2-svn libsasl2-2 libsasl2-modules sasl2-bin php-pear php5 php5-cgi libgd2-xpm libapache2-mod-php5 php5-mysql
...in progress, please wait...
...........................

Anschließend werden die benötigten Softwarepakete automatisch installiert:

Reading changelogs...
Extracting templates from packages: 100%

Diese Installationen können einige Minuten in Anspruch nehmen. Wenn die Installation komplett beendet ist, öffnen Sie Ihren Browser und geben Sie die IP Adresse oder URL Ihres Servers ein, per SSL auf Port 10000: Beispiel:

https://servername.de:10000
https://123.456.70.89:10000  (... und ja, diese IP Adresse gibt es nicht)

Sollten Sie Ihre IP nicht kennen, führen Sie auf Ihrem Server den Befehl “ifconfig” aus:

# ifconfig
eth0      Link encap:Ethernet  Hardware Adresse 08:67:xx:xx:xx:xx
          inet Adresse:121.443.5.65  Bcast:xx.xx.xx.xx  Maske:255.255.0.0
          inet6-Adresse: xxxx::a00:xxxx:fe68:xxx/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:12821 errors:0 dropped:0 overruns:0 frame:0
          TX packets:76767 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000
          RX bytes:183515685 (175.0 MiB)  TX bytes:5150622 (4.9 MiB)

Im oberen Beispiel ist die IP “121.443.5.65” (welche auch ein ausgedachtes, ungültiges, Muster ist) Bei guten Browsern (z.Bsp. unserem empfohlenen “Mozilla Firefox“) müssen Sie nun den Sicherheitshinweis bestätigen, dass die Verbindung keine vertraute Verschlüsselung benutzt. Grund ist, dass die VirtualMin-Installation auf Ihrem Server das SSL Zertifikat für diesen Bereich selbst erstellt hat und es von keiner dritten (vertraulichen) Stelle verifiziert wurde. Melden Sie sich z.Bsp. als “root” mit Ihrem bekannten Passwort an und folgen Sie dann den Anweisungen zum Vollenden der Installation Ihrer VirtualMin-Installation: Klicken Sie auf “Next” … Entscheiden Sie sich und klicken Sie auf “Next” … Entscheiden Sie sich und klicken Sie auf “Next” … Entscheiden Sie sich und klicken Sie auf “Next” … Entscheiden Sie sich und klicken Sie auf “Next” … Geben Sie bitte ein wirklich sicheres (!!) Hauptpasswort für Ihren mySQL Datenserver ein. Klicken Sie anschließend auf “Next” … Entscheiden Sie sich und klicken Sie auf “Next” … Meist wird hier bereits der richtige DNS angezeigt. Optional können Sie weitere Nameserver (NS) angeben. Klicken Sie danach (oder direkt) auf “Next” … Hier müssen Sie sich grundlegend entscheiden:

  • Passwörter sollen unverschlüsselt gespeichert werden ? (Store plain-text passwords)
    1. Vorteil: Sie können vergessene Passwörter sich jederzeit anzeigen lassen …
    2. Nachteil: sh. Vorteil. Das geht (gerade wenn andere Benutzer / Kunden auf Ihrem Server sind überhaupt nicht ! Denken Sie nur an den Datenschutz und an die “Sicherheit” der auf diese Weise gespeicherten Passwörter. Sollte jemand Zugriff auf diese Daten bekommen, wären alle Schutzmaßnahmen wirkungslos und der Angreifer kann vom E-Mails bis zu FTP Servern alles problemlos öffnen und bearbeiten.
  • Passwörter sollen verschlüsselt gespeichert werden Das ist die bessere Option und sollte im Zweifel immer genommen werden

Klicken Sie auf “Next” … Sie sehen die Abschlußmeldung und können ein letzten Mal auf “Next” klicken. Ihnen wird dann die normale Startseite von VirtualMin angezeigt (mit einem kleinen aber wichtigen Hinweis): Klicken Sie jetzt auf “Re-check and refresh configuration” und warten Sie die Installation und Konfigurationen ab, bis Sie diese Meldung sehen: Mit einem Klick auf den folgenen Menüpunku im linken Menü (dem Hauptmenü) kommen sie wieder auf die Starteite:   Umstellen von VirtualMin auf Deutsch

  • Klicken Sie auf “WebMin” (über dem Hauptmenü auf der linken Seite)
  • Öffnen Sie den Menüpunkt “Webmin”
  • Klicken Sie auf “Change language and theme”
  • Wählen Sie im Hauptfenster unter “Webmin UI language” die Option “Personal choice” und dann im der Auswahl den Eintrag “German (DE)” oder “German (DE.UTF-8)” aus
  • Speichern Sie die Einstellung mit einem Klick auf “Make Choices”
23. Jul 2010
Teaser

SVN: Nach einem Commit automatisch die Webseite aktualisieren (Post-Commit Hook)

Bei SVN Projekten werden die Änderungen der Entwickler & Programmierer regelmäßig von deren lokaler Kopie in das entsprechende SVN Repository committed (= gesichert / gespeichert).

Bei diesem “Committen” können Sie Ihren SVN Server anweisen, sofort die Änderungen auf einen WebServer zu kopieren und dadurch stets die aktuellste Version zum Testen vorzuhalten.

Zuerst müssen Sie die Grundlage für spätere Updates schaffen … einen grundlegenden Export des aktuelles Repositories:

svn export http://yourDomain.com/svn/YourProject /path/to/webserver/

Wenn das WebServer verzeichnis (hier: “/path/to/webserver/”) bereits existiert und jetzt für den Export überschrieben werden soll, dann müssen die die Option “–force” an den Befehl anhängen:

svn export http://yourDomain.com/svn/YourProject /path/to/webserver/ --force

Nun richten Sie die Update-Automatik ein:

  • Dafür gehen Sie in das “hooks” Verzeichnis Ihres Projektes auf dem SVN Server
  • Kopieren Sie sich die Vorlage für den “post-commit” Hook:
    cp post-commit.tmpl post-commit
  • Bearbeiten Sie die Datei “post-commit”
    nano post-commit
  • Fügen Sie folgende Befehle ein:
    cd /path/to/webserver/
    svnlook dirs-changed [REPOS] -r [REV] | xargs /usr/bin/svn up -N

Hinweis:
Dieses Vorgehen ist (meist) nur für lokale Produktions- und Test-Webserver zu empfehlen. Bei Live-Systemen können auch kleine Fehler in der Entwicklung zu fatalen Problemen führen, da diese sofort online für jeden Besucher sichtbar wären.

16. Feb 2010
Teaser

SVN: Die .svn Ordner rekursiv aus den Verzeichnissen löschen

Wenn Sie SVN Projekte betreiben und die lokalen Verzeichnisse kopieren oder weitergeben möchten, dann stören häufig die .svn Folder (Ordner) in jedem einzelnen Unterverzeichnis.

Um diese einfach und schnell zu löschen, legen Sie sich eine Batchdatei mit folgendem Inhalt an:
??

FOR /F "tokens=*" %%G IN ('DIR /B /AD /S *.svn*') DO RMDIR /S /Q %%G

Direkt auf der Kommandozeile ausgeführt, funktioniert der Befehl leider (meist) nicht.

Um in der Kommandozeile direkt die Batchdatei (hier: “delete_svn.bat”) anzulegen, nutzen Sie folgende Befehle:

copy con delete_svn.bat
FOR /F "tokens=*" %%G IN ('DIR /B /AD /S *.svn*') DO RMDIR /S /Q %%G
^Z

Danach finden Sie im aktuellen Verzeichnis die “delete_svn.bat” und können Sie ausführen.

Achtung:
Die .SVN Ordner werden ohne Rückfrage sofort und rekursiv gelöscht, d.h. auch alle .SVN Ordner in allen Unterverzeichnissen des aktuellen Orderns werden gelöscht.

Sollte das Script mit einem Fehler “” beendet werden, bitte die Anführungszeichen im Befehl entsprechend ändern (z.Bsp. von ” zu ‘ ).

In Linux funktioniert der folgende Befehl:

rm -rf `find . -type d -name .svn`
14. Jan 2010
Teaser

Wenn SVN plötzlich streikt

Wenn Sie Ihr SVN u.a. auch für die automatische Versionsverteilung nutzen (Stichwort “post-commit”) und dieser Dienst plötzlich nicht mehr läuft, nutzen Sie folgende Möglichkeiten für die Analyse bzw. Lösung:

Logging des post-commit hooks

  • Öffnen Sie die entsprechende Scriptdatei
    Beispiel:

    vi /srv/svn/example/hooks/post-commit
  • Ergänzen Sie die Datei entsprechend diesem Beispiel:
    #!/bin/sh
    echo `date` " Start SVN post-commit" >> /var/log/svn.log
    whoami >> /var/log/svn.log
    svn update /srv/htdocs/example --username x --password y >> /var/log/svn.log 2>&1
    echo `date` " End SVN post-commit" >> /var/log/svn.log

    In diesem Beispiel wird u.a. der Zeitstempel und der Benutzername des ausführenden Benutzers gespeichert

  • Legen Sie die angegebene Logdatei an:
    touch /var/log/svn.log
  • Setzen Sie die passende Berechtigung:
    chmod 777 /var/log/svn.log

    Natürlich sollte später die exakte Berechtigung für den richtigen Benutzer gesetzt werden. Für die Analyse ist die komplette Freigabe jedoch besser

  • Committen Sie eine Änderung in Ihrem System und prüfen Sie anschließend die Logdatei
    Beispiel:

    Thu Jan 14 21:44:43 CET 2010  Start SVN post commit
    wwwrun
    U    /srv/htdocs/example/test/index.php
    Updated to revision 1064.
    Thu Jan 14 21:44:44 CET 2010  Ende SVN post commit

Häufiger Fehler bei post-commit Problemen

Sehr häufig finden Sie z.Bsp. die folgende Fehlermeldung in Ihrem Log:

Thu Jan 14 21:43:42 CET 2010  Start SVN post commit
wwwrun
svn: Can't convert string from native encoding to 'UTF-8':
svn: empf?\195?\164nger.bmp
Thu Jan 14 21:43:43 CET 2010  Ende SVN post commit

In diesem Beispiel wurde versucht, eine Datei “empfänger.bmp” im Trunk zu speichern. Aufgrund der Sprachdefinition in “locale”:

LC_CTYPE=de_DE.UTF-8

konnte SVN mit dem Umlaut “ä” nicht viel anfangen und versuchte das Zeichen zu konvertieren. Den dadurch entstandenen Dateinamen konnte das System nicht erkennen.

Lösungsvorschlag 1

  • Benennen Sie (im o.a. Beispiel) die Datei um in “empfaenger.bmp”
  • Lösen Sie den post-commit Hook manuell aus:
    sudo -u wwwrun /srv/svn/example/hooks/post-commit
  • Das SVN sollte wieder normal funktionieren

Lösungsvorschlag 2

  • Führen Sie folgenden Befehl aus:
    export LC_CTYPE=en_US.UTF-8
  • Überprüfen Sie Ihre “locale” Umgebung:
    locale
  • Nun sollten Sie u.a. den folgenden Eintrag sehen:
    LC_CTYPE="en_US.UTF-8"
29. Okt 2009
Teaser

Linux: Eclipse mit SVN installieren

1. Schritt

Laden Sie sich Eclipse herunter. Unter www.eclipse.org/downloads/packages/release/ganymede/sr2 finden Sie unterschiedliche Versionen.
Dieses Beispiel basiert auf Eclipse for PHP Devlopers (aktuell ca. 151 MB) für ein 32bit Linux: eclipse-SDK-3.4.2-linux-gtk.tar.gz

2. Schritt

Entpacken Sie das heruntergeladene Archiv auf Ihre Festplatte. Für Windows-Systeme empfehlen wir das ZIP Archiv-Format, da Windows heute bereits eingebaute Entpackfunktionen (Dekomprimierung) anbietet. Klicken Sie dafür mit der rechten Maustaste auf die heruntergeladene Datei und wählen Sie ???.
In unserem Beispiel (Linux/openSuse) entpackten wir das tar.gz Format:

tar xzf eclipse-SDK-3.4.2-linux-gtk.tar.gz

Die entpackten Dateien finden Sie im automatisch erstellen Verzeichnis “eclispe”. Damit auch ggf. andere Benutzer auf unserem System Eclipse nutzen können, sollten wir die Software in ein anderes Verzeichnis kopieren:

mv eclipse /usr/bin/

Bei Windows verschieben wir das erhaltene Eclipse-Verzeichnis in den Ordner “C:\Programme”.

3. Schritt

Starten Sie Eclipse. Unter Windows klicken Sie doppelt auf die “eclipse.exe” im Ordner “C:\Programme\eclipse\”. Unter Linux geben Sie folgenden Befehl ein:

/usr/bin/eclipse/eclipse &

4. Schritt

Legen Sie das Workspaceverzeichnis fest. Diese Angabe können Sie später ändern – jedoch ist das meist mit Aufwand und kleineren Problemen verbunden. In diesem Beispiel (unter Linux) habe ich “/home/benutzername/workspace” verwendet.

Der Willkommenbildschirm von Eclipse wird angezeigt. Dort den rechten Pfeil wählen “Workbench”.

5. Schritt

Eclipse selbst ist bereits einsetzbar. Es fehlt uns jetzt noch das SVN Plugin:

  • Window
  • Preferences
  • Install/Updates > Available Software Sites
  • In das obere Textfeld (Filter) “subversive” eingeben
  • Den angezeigten Eintrag anklicken und rechts auf “Enable” klicken
  • Auf “Add”klicken
  • Name = SVN Kit
    Location = http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/
  • “OK” anklicken
  • Help > Install New Software
  • Aus der Liste “Work with” auswählen:
    http://download.eclipse.org/technology/subversive/0.7/update-site/
  • In der Fenstermitte wird eine Liste angezeigt. Dort folgenden Eintrag auswählen:
    Subversive SVN Team Provider Plugin (Incubation)
  • “Next” anklicken, danach nochmal “Next”
  • Vereinbarung akzeptieren und “Finish”
  • Eclipse Neustart zulassen
  • Help > Install New Software
  • Aus der Liste “Work with” auswählen:
    SVNKit – http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/
  • In der Fenstermitte wird eine Liste angezeigt. Dort die folgenden Untereinträge auswählen:
    Subversive SVN Connectors
    SVNKit 1.3.0 Implementation (Optional)
  • “Next” anklicken, danach “Finish”
  • Ggf. Hinweismeldung bzgl. unzertifiziertem Content bestätigen
  • Eclipse Neustart zulassen
  • File > New > Other > Doppelklick auf “SVN” > Project from SVN
  • URL des SVN Repositories angeben:
    Beispiel:
    http://www.yourhelpcenter.de/svn/Projektname
  • Benutzername und Passwort (falls notwendig) eingeben
  • “OK”
07. Jan 2009
Teaser

Eclipse: Java Heap Error beheben (lösen)

Wenn Sie unter Eclipse größere Dateneien in ein Projekt laden (z.Bsp. via SVN), dann kennen Sie ggf. den “Java Heap Error”.

Um das Problem zu beheben, erhöhen Sie die Werte in Ihrer “eclipse.ini” wie im folgenden Beispiel angegeben:

-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
512m
-vmargs
-Xms40m
-Xmx512m