Linux
« Vorherige BeiträgeVirtualMin: PHP Prozesse automatisch beenden (zu viele PHP Prozesse)
Samstag, 07.08.2010Wenn Sie mit VirtualMin Ihren Server (evtl. virtuellen Server = VServer) verwalten, dann stehen Sie manchmal vor dem einfachen (aber relativ gefährlichen) Problem, dass Ihnen die PHP Prozesse Ihren verfügbaren Arbeitsspeicher (RAM) füllen. Zwar ist die Speicherverwaltung von Debian Linux darauf ausgelegt, benutzten Speicher nicht sofort wieder freizugeben, sondern dieses erst bei Bedarf zu machen. Trotzdem kann dieses Verhalten Ihren Server in Performanceprobleme bringen oder Zugriffe scheitern lassen (Error 503 – “Service unavailable”).
Eine Lösung ist, in der VirtualMin Oberfläche die Einstellungen anzupassen:
- System Settings > Server Templates
- “Default Settings” anklicken
Nutzen Sie für Ihre Server ein eigenes Template, nutzen Sie jenes - Edit template section = “Apache website”
- Setzen Sie “Default FCGId PHP sub-processes” auf “None”
- Klicken Sie ganz unten auf “Save”
- Starten Sie den Apache Webserver einmal neu
- Wechseln Sie in den WebMin Bereich (oben links im Bildschirm)
- Servers > Apache Webserver
- Klicken Sie auf “Apply Changes” (oben rechts im Bildschirm)
- Fertig
Nun werden nicht mehr benötigte PHP Prozesse sofort nach Ihrem Ablauf auch entfernt und es steht wieder mehr Server-RAM zur Verfügung.
Linux: Dateien per SCP ohne Passworteingabe kopieren (SSH)
Samstag, 24.07.2010Wenn Sie automatisch per SCP Dateien kopieren möchten und dabei nicht das Passwort eingeben können oder möchten, dann hilft Ihnen diese Anleitung. Für dieses Beispiel sollen Dateien von Server 1 auf Server 2 kopiert werden:

Für dieses Beispiel gelten folgende Bedingungen:
- Das Script liegt auf Server 2 – die Daten werden von Server 1 “abgeholt”
- Der Benutzer für den Datentransfer heißt “backup”
Vorbereitungen auf Server 1 (Quelle):
- Unter dem Benutzernamen “backup” anmelden oder zum Benutzer wechseln:
su backup - Schlüssel für den automatischen Zugriff von Server 2 erstellen.
Dieser gilt nur für den aktuell angemeldeten Benutzernamen.
ssh-keygen -t dsa
Jede Frage mit “Enter” beantworten und kein Passwort eingeben:
Generating public/private dsa key pair.
Enter file in which to save the key (/home/backup/.ssh/id_dsa):
Created directory '/home/backup/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/backup/.ssh/id_dsa.
Your public key has been saved in /home/backup/.ssh/id_dsa.pub.
The key fingerprint is:
d2:5a:6c:9f:15:5c:2c:d1:d1:d5:3b:7f:3c:88:bf:d3 backup@servername.com
The key's randomart image is:
+--[ DSA 1024]----+
[Ihr virtueller Fingerabdruck]
+-----------------+
Die Datei liegt im .ssh Unterverzeichnis des Benutzers
Vorbereitungen auf Server 2 (Ziel):
- Ggf. müssen wir zuerst das .ssh Verzeichnis auf Server2 für den Benutzer “backup” anlegen:
mkdir /home/backup/.ssh
chmod 700 /home/backup/.ssh
chown backup:backup /home/backup/.ssh - Wir benötigen den öffentlichen Schlüssel des Benutzers “backup” vom “Server 1″ auf diesem Server. Durch diesen Schlüssel kann sich später Server 2 automatisch bei Server 1 anmelden (identifizieren).
scp backup@server1:~/.ssh/id_dsa.pub /home/backup/.ssh/public-key.tmp
SVN: Nach einem Commit automatisch die Webseite aktualisieren (Post-Commit Hook)
Freitag, 23.07.2010Bei 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:
1 2
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.
Linux: SSH Port ändern
Mittwoch, 07.07.2010Eine einfache Lösung, Ihren Linux-Server sicherer vor Hackern zu machen, ist der Wechsel des SSH Ports. Dieser liegt im Standard auf Port 22. Fast alle Portscanner suchen natürlich auch auf diesem Port nach einem antwortenden SSH Server.
SSH Port ändern
- Melden Sie sich auf Ihrem Server als “root” an und öffnen Sie die “sshd_config” Datei (hier mit dem Editor “nano”):
nano /etc/ssh/sshd_config
- Suchen Sie die (letzte) Zeile mit folgendem Inhalt:
Port 22
- Ändern Sie die Zahl “22″ ab indem Sie eine andere Zahl zwischen 1025 und 65535 eingeben. Achten Sie dabei darauf, dass dieser Port nicht bereits belegt ist. Mehr Informationen zu TCP/IP Ports finden Sie hier:
TCP/IP Ports
Nehmen Sie als neuen Port z.Bsp. 64000, 64258 oder 69154.Port 64000
- Speichern und beenden Sie “nano” mit der Tastenkombination “STRG + X”. Drücken Sie “Y” damit die Änderungen gespeichert werden.
- Starten Sie Ihren SSH Server durch folgenden Befehl neu:
/etc/init.d/ssh restart
- Testen Sie die Portänderung durch das Öffnen einer weiteren (zusätzlichen) PuTTy Verbindung zu Ihrem Linux-Server. Geben Sie dabei Ihren neuen Port ein. Wenn Sie sich anmelden können, ist alles ok. Nun können Sie Ihre erste PuTTy Verbindung schließen.
Sicherheit: BitTorrent greift auf den Speicher anderer Prozesse zu
Sonntag, 04.07.2010Kaum ein anderes Programm ist derzeit umstrittener als die P2P Software “BitTorrent”. Die Film- und Musikindustrie überschwemmt das Land mit Abmahnungen und Klagen gegen Betreiber und Benutzer (sh. z.Bsp. einen Spiegelbericht) – eine kostengünstige und verbraucherfreundliche Alternative bieten nur sehr wenige Musik- und Filmkonzerne.
Ich habe mir diese Software ein wenig näher ansehen wollen und einen Download auf einer der vielen legalen und offiziellen Downloadserver gefunden:
Der Download umfaßt ca. 2,8 MB und ist nach wenigen Sekunden abgeschlossen. Vorteil beim Download über seriöse, große Plattformen ist, dass diese Downloads meist zuvor durch Virenscanner und Schutzsoftware überprüft wurden. Auch werden diese Downloads zumeist direkt vom Hersteller bzw. Autor der Software “beliefert”, sodaß eine Manipulation der Programme weniger wahrscheinlich ist.
Nach dem Download startete ich das Setup und war reichlich überrascht, als das BitTorrent Setup ohne eine Anzeige, Warnung oder einen Hinweis anfing, auf den Speicher sämtlicher aktiver Programme (Prozesse) meines Computers zugreifen zu wollen.
Nur die Warnmeldungen meiner Firewall (auf dem Testcomputer die Comodo Firewall) warnten mich vor den Zugriffen:



(Sie sehen nur eine kleine Auswahl der Meldungen. Das BitTorrent Setup griff auf jeden laufenden Prozess zu ..)
Für ein installiertes, laufendes Programm können diese Zugriffe sinnvoll und (in seltenen Fällen) auch notwendig sein. Z.Bsp. dann, wenn ein Programm auf das Markieren eines Textbereiches reagieren soll und ggf. feststellt, dass Sie eine Internetadresse (URL) markiert haben. Dann kann die Software diese URL weiter verarbeiten.
Während eines Setups sehe ich absolut keine Notwendigkeit, auf meine Prozesse zuzugreifen. Zumal eine vorherigen Erlaubnis oder Rückfrage bei mir fehlte und nur meine Firewall mich schützte.
Also brach ich das BitTorrent Setup über den TaskManager (Strg+Alt+Entf) ab.
Fazit
Die Technik der P2P Netzwerke ist sicherlich außerordentlich mächtig und sinnvoll – sofern sie für legale Daten genutzt wird. Die Tools (Software, Programme, ..) gibt es in vielerlei Ausführungen. Aber Sie sollten sehr gründlich prüfen, was diese Software auf Ihrem Computer darf.
Das Risiko (ich möchte ausdrücklich der BitTorrent Software hier nichts unterstellen), dass die Zugriffe auf den Speicher anderer Anwendungen für das Ausspähen von Daten, Passwörtern und PINs genutzt wird ist hoch. Hast sich eine Software unbemerkt in den Speicher (sh. Screenshot oben) der Verschlüsselungssoftware “TrueCrypt” eingehakt, können Passworteingaben, Sicherheitseinstellungen, Pfade und Zugriffe unproblematisch analysiert werden. Da Sie solcher Software natürlich auch den Internetzugriff erlaubt haben (ansonsten können Sie auf keinen anderen P2P Computer zugreifen), können diese vertraulichen Daten leicht und unbemerkt verschickt werden.
Nochmal: Ich möchte keiner P2P Software diese Absicht unterstellen. Aber schwarze Schafe und manipulierte Versionen ansonsten ordentlicher Anbieter können unbemerkt und leicht auch bei Ihnen laden.
Linux: root Passwort vergessen (zurücksetzen / Reset)
Montag, 28.06.2010Wenn Sie Ihr Administrator-Passwort (Benutzer “root”) vergessen haben, gibt es eine Möglichkeit dieses neu zu setzen:
- Starten Sie den Computer neu
- Beim Bootmenü (GRUB) wählen Sie “single user mode”
- Drücken Sie “e” (= Editieren)
- Gehen Sie in die Zeile mit dem Anfang “kernel=”
- Drücken Sie wieder “e” (= Editieren)
- Schreiben Sie “init=/bin/sh” an das Ende der Zeile.
Dabei sind durch die englische Tastenbelegung folgende Zeichen wie folgt belegt:- Das “=” liegt auf der Taste “´” (rechts neben “ß”)
- Das “/” liegt auf der Taste “-” (rechts neben “.”)
- Drücken Sie “Enter”
- Drücken Sie “b” (= Boot)
- Geben Sie das root-Dateisystem zum Beschreiben frei:
mount -o remount, rw /dev/sda2
Evtl. müssen Sie “/dev/sda2″ durch das System auf Ihrem Computer - Ändern Sie das root-Passwort:
- Geben Sie den Befehl “passwd” ein
- Geben Sie Ihr neues root Passwort ein.
Achten Sie dabei auf die evtl. englische Tastenbelegung - Wiederholen Sie Ihr neues root Passwort
- Schützen Sie das root-Dateisystem wieder:
sync && mount -o remount, ro /dev/sda2
Evtl. müssen Sie “/dev/sda2″ durch das System auf Ihrem Computer (sh. Punkt 9) - Rebooten Sie Ihren Computer.
Ihr neues Passwort ist ab jetzt gültig.
Achtung:
Haben Sie Ihren grub-bootloader gegen unbefugtes Verändern gesichert, kann diese Methode nicht funktionieren.
Webmin: Warnung – Das System ist so konfiguriert, dass Benutzerdefinierte Mailfilter ignoriert werden.
Dienstag, 08.06.2010Wenn Sie mithilfe von VirtualMin (WebMin, UserMin) die E-Mail-Filterung und -Sortierung anpassen möchten, können Sie diese Filter im UserMin-Bereich verwalten:
UserMin > E-Mail > Filter und Mailweiterleitung (Filter and Forward Mail)
Definieren Sie hier einen Filter, nach welchem Ihre E-Mail automatisch vom Server sortiert werden sollen. Dadurch können Sie z.Bsp. eingehende E-Mails von bestimmen Absendern oder mit einem bestimmten Wort im Betreff in einen anderen Order Ihrer Mailbox verschieben, evtl. löschen, als gelesen markieren u.v.m.
Sollten Sie im o.a. UserMin Bereich die folgende Fehlermeldung lesen, folgenden Sie der nachfolgenden Anleitung:
Warnung - Das System ist so konfiguriert, dass Benutzerdefinierte Mailfilter ignoriert werden. Alle definierten Filter werden nicht funktionieren.
Lösung:
Öffnen Sie die Verwaltung Ihres virtuellen Servers (VirtualMin). Sollten Sie keine Berechtigung haben, fragen Sie bitte Ihren Administrator. Dort gehen Sie auf die Konfigurationsseite des Mailprogrammes:
VirtualMin > E-Mail Messages > Spam and Virus Scanning
Ändern Sie hier die Einstellung “Allow mailbox users to create mail filters?” von “No” auf “Yes” und speichern Sie. Fertig.
Linux: Automatisch über Speicherplatzauslastungen von Ordnern informiert werden (Cronjob)
Montag, 10.05.2010Wenn Sie z.Bsp. auf Ihrem Server für diverse Benutzer Speicherplatz bereit stellen, dann ist es häufig sehr interessant, wieviel dieses Speichern von wem belegt ist.
Solange Sie dabei keine hohen Ansprüche an perfekte Diagramme und ausgefeilte Texte legen, sondern mit knappen und übersichtlichen Zahlen klar kommen hilft Ihnen folgender Trick:
Die Übersicht über die Speicherplatzbelegung diverser Unterordner erhalten Sie unter Linux mit:
du -h /home --max-depth=1
Ergebnis (Beispiel):
32M /home/max 207M /home/hans 261M /home/gitte 192M /home/lotte 8.0K /home/bert 8.5G /home/admin 83M /home/web 9.2G /home
Mit dem Parameter “–max-depth=1″ legen Sie fest, dass nur die ersten Unterordner Ihres Verzeichnisses (= nur eine Ebene tief) angezeigt werden. Wenn Sie hier eine “2″ eintragen, dann erhalten Sie ebenfalls die nächsten Unterordner unterhalb der jetzt angezeigten.
In der letzten Zeile erhalten Sie den “Gesamtverbrauch” aller angezeigten Ordner.
Um sich einen allgemeinen Überblick über den Speicherplatz zu verschaffen, nutzen Sie den “df” Befehl:
df -h
Der “-h” Parameter steht für “human readable” (für Menschen lesbar) und wandelt die Größenangaben in sinnvolle Einheiten um.
Um sich die o.a. Auflistung der Ordner nun automatisch per E-Mail zuschicken zu lassen, nutzen Sie einfach einen Cronjob:
crontab -e
Tragen Sie nun folgende Zeile (nur eine Zeile) in die Datei ein:
@daily du -h /home/ --max-depth=1 | mail -s "Betreff" info@xyz.com
Ab jetzt erhalten Sie (zumeist um Mitternacht) eine E-Mail an die o.a. Adresse (hier: “info@xyz.com”) mit der o.a. Übersicht. Natürlich können Sie auch andere Ordner wählen und sich so einfach und schnell einen aktuellen Überblick verschaffen.
Selbstverständlich gibt es viele weitere Lösungen. Diese reichen von einfachen Perl-Scripten bis zu komplexen Softwarelösungen. Manchmal reicht ja aber auch diese spartanische Version.
Linux: Fatal error: Call to undefined function imap_open()
Freitag, 07.05.2010Wenn Sie beispielsweise nach der Installation des Webmailprogrammes “Horde” die folgende Meldung angezeigt bekommen, kann Ihnen dieser Artikel helfen:
Fatal error: Call to undefined function imap_open()
Grund für die Meldung ist die fehlende IMAP Unterstützung in PHP. In diesem Artikel erkläre ich die Lösung für Linux Debian lenny (V5). Andere Systeme benötigen teilweise einen kompletten Neubau von PHP (= Neucompilierung / Recompiling).
Zuerst muss das fehlende Paket instelliert werden:
apt-get install php5-imap
Ihnen werden Details angezeig und am Ende werden Sie gefragt:
Do you want to continue? [Y/n/?]
Hier antworten Sie bitte mit “y”.
Die automatische Installation beginnt und kann einen kurzen Moment brauchen.
Wichtig ist, dass Sie danach Ihren Apache Webserver mit einem der beiden folgenden Befehle neu starten:
apache2ctl graceful /usr/sbin/apache2ctl graceful
Fertig.
Beim Einsatz von Horde haben wir teilweise die Cookies im Browser löschen müssen. Außerdem half häufig auch das Umsetzen der Cookie-Verarbeitung. Weitere Details finden Sie in unserem Artikel “Horde: Nach dem erfolgreichen Login wird wieder der Login angezeigt“.
Horde: Trotz Sprache “Deutsch” wird alles in Englisch angezeigt
Mittwoch, 05.05.2010Auch wenn Sie beim Webmailer “Horde” als gewünschte Sprache “Deutsch” ausgewählt haben, wird Ihnen alles auf Englisch angezeigt. Das liegt an den fehlenden “locales” für die gewäschte Sprache.
Diese können Sie wie folgt installieren (am Beispiel von Linux Debian lenny).
Geben Sie auf der Shell (SSH / PuTTy) folgenden Befehl ein:
dpkg-reconfigure locales
Wählen Sie dann zusätzlich die beiden folgenden Einträge aus:
“de_DE ISO-8859-1″ (recht weit unten)
“de_DE”
Danach müssen Sie nurnoch Ihren Apache Webserver neu starten:
/etc/init.d/apache2 restart
Nun sollte Ihre Anzeige auch auf Deutsch erscheinen.
« Vorheriger Beitrag