vServer updaten - Warum?
Häufig werden die sogenannten vServer noch mit älteren Betriebssystemen ausgeliefert, da die Erstellung eines neuen Images für die Virtualisierungsumgebung Zeit und damit Geld kostet. Natürlich sind ältere Systeme nicht zwangsweise schlechter, allerdings fehlt manchmal das ein oder andere Feature einer neueren Version.Speziell bei Webservern kann sich das Fehlen von PHP5 unangenehm bemerkbar machen, viele fertige Lösungen beruhen darauf, beispielsweise das CMS Typolight.
Zudem beinhalten die neueren Versionen meist auch Verbesserungen bei der Verarbeitungsgeschwindigkeit und schließen Sicherheitslücken.
Ein gerne eingesetztes System ist Suse 9.3 mit Plesk, anhand dessen soll hier der Updatevorgang beschrieben werden. Zudem stelle ich noch einige nützliche Skripte für die Sicherung und Wiederherstellung des vServers vor.
aktuelle Versionen von PHP und MySQL
Gestandene Linux-User werden damit sicher kein Problem haben, beim "normalen" User kommt bei den Begriffen "PHP neu kompilieren" leichte bis mittelschwere Panik auf. Zum Glück kann man hier auf Ressourcen zurückgreifen und bestehende Pakete nutzen.Für das Update von MySQL und PHP auf die jeweils aktuellste Version möchte ich diesen Thread im Serversupportforum empfehlen.
Mit dieser Anleitung sollte jeder in der Lage sein, sein PHP und MySQL auf den aktuellen Stand zu bringen. Zudem ist in diesen RPM-Paketen bereits ein Patch enthalten, der diverse Sicherheitslücken in PHP schließt.
Werbung
Skripte für das Backup des vServers
Ist der vServer erst mal auf dem aktuellen Stand gilt es, diesen auch zu bewahren. Zwar bieten die meisten Virtualisierungsumgebungen die Möglichkeit zum automatischen Backup, dennoch sollte man seine Datenbanken und Webseiten extern sichern, so daß auch bei einem totalen Crash des vServers und anschließender Reinitialisierung eine Wiederherstellung der Daten möglich ist.Zu diesem Zweck sollte ein zweiter Server oder Webspace zur Verfügung stehen, auf den die Daten mittels FTP übertragen werden können. Um diesen Vorgang etwas zu erleichtern bietet sich die Installation von ncftp an, das ein komfortables Kommandozeileninterface bietet. Diese Paket kann über yast installiert werden.
Die eigentliche Sicherung soll zum einen MySQL-Datenbanken abdecken, als auch die Dateien in den Ordnern der Webseiten sichern. Für das Backup der Datenbank bedienen wir uns des Befehls mysqldump, der eine Komplettsicherung der Datenbank inklusive Struktur vornimmt:
mysqldump -uusername -ppassword dbname | gzip > /backupdir/dbname.sql.gz
Die Sicherung wird mittels gzip gepackt und in das Verzeichnis backupdir abgelegt.
Danach geht es an das Backup der Webseiten, hierzu verwenden wir einen tarball, der es ermöglicht ein Archiv von mehreren Verzeichnissen zu erstellen. Auch dieses Archiv wird anschließend mit gzip gepackt um Speicherplatz und Traffic zu sparen.
tar cvf - /srv/www/vhosts/domain.tld/httpdocs | gzip > /backupdir/domain.tar.gz
Diese beiden Archive übertragen wir dann auf den FTP-Server:
/usr/bin/ncftpput -u username -p password ftphost / /backupdir/dbname.sql.gz
/usr/bin/ncftpput -u username -p password ftphost / /backupdir/domain.tar.gz
Damit ist die Sicherung abgeschlossen.
Was tun beim Crash? Skripte für das Restore
Natürlich ist das beste Backup nichts wert, wenn man nicht weiß, wie man es wieder herstellt. Die Rücksicherung sollte genauso vorbereitet werden wie das Backup an sich und auch wenn es unangenehm ist, man sollte eine komplette Wiederherstellung ausprobieren, sobald die Backupstrategie steht.Die Wiederherstellung der SQL-Datenbank läuft mit folgenden Parametern, vorausgesetzt die Datenbank an sich besteht und der Benutzer ist mit den entsprechenden Rechten angelegt:
/usr/bin/ncftpget -u username-p password ftphost /restoredir/ /dbname.sql.gz
gunzip /restoredir/dbname.sql.gz
mysql -ppassword -uusername dbname<dbname.sql
rm /restoredir/dbname.sql
Der SQL-Dump wird vom FTP-Account geholt, entpackt und eingespielt, die Datenbank wird automatisch vorher geleert und ist somit wieder auf dem Stand bei der Sicherung.
Die Rücksicherung der Domaininhalte läuft nach dem gleichen Schema:
/usr/bin/ncftpget -u dbname-p password ftphost /restoredir/ /domain.tar.gz
gunzip /restoredir/domain.tar.gz
rm /srv/www/vhosts/domain.tld/httpdocs/* -R
tar xfv /restoredir/domain.tar
cp -a /restoredir/srv/www/vhosts/domain.tld/httpdocs /srv/www/vhosts/domain.tld/
rm /restoredir/srv/ -R
rm /restoredir/domain.tar
Die Verzeichnisse backupdir und restoredir müssen natürlich vorhanden sein.
Fazit
Diese Skripte können natürlich nur als Anhaltspunkte dienen, gekoppelt mit einem Cronjob taugen Sie aber für die tägliche Sicherung eines Webauftritts mit Datenbank.Zu den Absicherungsmaßnahmen für einen vServer oder Rootserver gehört natürlich noch mehr als PHP und Mysql auf dem aktuellen Stand zu halten und ein Backup einzurichten, hier sollte man sich genauer in die Materie einlesen. Gute Anlaufstellen sind das Serversupportforum oder das Rootforum.
Sponsored Links:
