|
Suche |
Die Releases von OVH sind bash-Skripte die Sie herunterladen und auf einem von OVH installierten dedizierten Server ausführen, um diesen auf den neuesten Stand zu bringen. Die Maschine per SSH mit Bash administrieren Der Vorteil dieser Patches:
Achtung! Das Ausführen einer Release führt dazu das alle persönliche Einstellungen und Konfigurationen gelöscht werden in Bezug auf: php, mysql, apache. Alle Optionen einer personalisierten Kompilation werden also zerstört. Manche Releases enthalten/sind Sicherheitspatches. Dies bedeutet daß wenn Sie Ihre Maschine nicht damit updaten diese eine erhöhte Wahrscheinlichkeit hat, gehackt zu werden. Auf allen Releasen: OVH 1 ( Redhat 7.2 ) und OVH 2 ( gentoo ) reicht es folgende Kommandozeile per SSH oder per Webmin auszuführen : wget ftp://ftp.ovh.net/made-in-ovh/release/patch-all.sh -O patch-all.sh; sh patch-all.sh Alle Angaben hierzu sind auf Release 1 abgestimmt: Release oder patch: Eine Release ist ein Skript, daß man herunterladen und ausführen kann, zum Beispiel: wget ftp://ftp.ovh.net/made-in-ovh/release/patch-1.38-1.39.sh -O patch-1.38-1.39.sh; sh patch-1.38-1.39.sh Wenn es heruntergeladen und ausgeführt wurde, überprüft das Skript zuerst ob es die korrekte Releasenummer enthält, bevor es mit seiner Arbeit beginnt. Dies verhindert daß man zum Beispiel Release 1.38 vor Release 1.34 installiert. Releasenummer: Die Releases müssen in der Reihenfolge durchgeführt werden. Bei OVH haben wir mit Release 1.04 begonnen. Wenn Sie die Releases in der falschen Reihenfolge installieren wollen verweigern diese die Ausführung. Damit die Releases korrekt funktionieren haben wir eine Sperre eingeführt, so daß die Releases in der richtigen Reihenfolge ausgeführt werden. Wir haben dafür eine Datei /etc/ovhrelease erzeugt in der die aktuelle Release der Maschine aufgeführt ist. Eine neue Release überprüft zuerst, ob die bereits auf dem Server installierte Release genau die vorgehende Versionsnummer trägt, und installiert sich erst dann. root@ns30096 root# cat /etc/ovhrelease 1.37 Bei jeder Ausführung von release wird auch /etc/issue auf den neuesten Stand gebracht, so daß man die Releasenummer ganz einfach bei jeder Verbindung zum Server angezeigt bekommt: Red Hat Linux release 7.2 (Enigma) Linux ns30096.ovh.net 2.4.19 #2 SMP mer nov 20 17:40:06 CET 2002 i686 unknown machine : 2344 release : 1.37 ip : 213.186.42.25 hostname : ns30096.ovh.net root@ns30096 root# Dies erlaubt uns auch, die Releasenummer der Maschine und deren IP zu sehen, wenn wir Monitor und Tastatur an diese anschliessen. Wenn Ihr Server Probleme hat können wir so Zeit sparen, da wir diese Angaben ganz einfach ohne Konsolenverbindung oder sonstiges bekommen. History oder changelog sind verfügbar unter: ftp://ftp.ovh.net/made-in-ovh/release/CHANGELOG.release. Um eine neue Release zu installieren, genügt es, sich per SSH mit dem Server zu verbinden und per kopieren/einfügen den Befehl zu übernehmen: root@ns30096 root# wget ftp://ftp.ovh.net/made-in-ovh/release/patch-1.37-1.38.sh -O patch-1.37-1.38.sh; sh patch-1.37-1.38.sh [...] Der Patch wird dann ausgeführt und tut seine Arbeit. Die Ausführung kann mehrere Minuten dauern. [...] Arrêt de sshd : OK Démarrage de sshd : OK OpenSSH_3.7.1p2, SSH protocols 1.5/2.0, OpenSSL 0.9.6i engine Feb 19 2003 root@ns30096 root# cat /etc/issue Red Hat Linux release 7.2 (Enigma) Linux ns30096.ovh.net 2.4.19 #2 SMP mer nov 20 17:40:06 CET 2002 i686 unknown machine : 2344 release : 1.38 ip : 213.186.42.25 hostname : ns30096.ovh.net Hier wurde von Release 1.37 auf 1.38 gewechselt und der sshd Server auf den neuesten Stand gebracht. Damit Sie nicht immerzu nachschauen müssen auf welchen Releasestand sich Ihr Server befindet, haben Sie die Möglichkeit einen patch-all.sh durchzuführen, der automatisch die richtigen Releases in der richtigen Reihenfolge aufspielt. Sie müssen nichts weiter tun. root@ns30096 root# wget ftp://ftp.ovh.net/made-in-ovh/release/patch-all.sh -O patch-all.sh; sh patch-all.sh [...] patch-all.sh Startet alle Überprüfungen und führt was notwendig ist aus. [...] Red Hat Linux release 7.2 (Enigma) Linux ns30096.ovh.net 2.4.19 #2 SMP mer nov 20 17:40:06 CET 2002 i686 unknown machine : 2344 release : 1.39 ip : 213.186.42.25 hostname : ns30096.ovh.net Nun befinden wir uns auf Release Stand 1.39 Patch-all.sh stellt auch die Uhr auf Ihrem Server korrekt ein, indem es das Delta (die Abweichung) der Uhrzeit Ihres Servers berechnet. Das bedeutet daß bevor die Uhr gestellt wird die Abweichung zur richtigen Uhrzeit bestimmt wird. Danach verwendet das ebenfalls installierte clockspeed diese Abweichung um alle x Minuten die Uhrzeit mit diesem Delta-Wert zu korrigieren. Danach ist Ihre Rechnerzeit dauerhaft richtig eingestellt, und nicht nur kurz nachdem Sie sie korrigiert haben. Die Berechnung der Abweichung sollten Sie nicht zu oft durchführen, die Ergebnisse sind besser je größer das verwendete Zeitintervall ist. Maschinen die (vor einem gewissen Datum) nicht mit einer Release installiert wurden, können mit Patches auf den neuesten Stand gebracht werden. Die Patches sind relativ automatisierte Skripte die für verschiedene Plattformen getestet wurden (und darum über eine Plattformerkennung verfügen). Da aber jeder Server über für Ihn spezifische Merkmale verfügt müssen diese an die jeweilige Maschine angepasst werden. Sie können die Skripte herunterladen, editieren, modifizieren und danach ausführen. Wenn bei der Kompilierung Fehler auftreten konsultieren Sie Mailing-Listen wie z.B. sd@ml.ovh.net und wenden Sie sich nicht an den Support. In der Tat erfordert die Lösung des Problems nicht nur eine kurze Antwort sondern eine Diskussion der Problematik, und darum werden dafür die Mailing-Listen verwendet. Die Patches finden Sie unter ftp://ftp.ovh.net/made-in-ovh/patch. Sie haben:
-rwxr-xr-x 3517 jui 7 2002 apache_1.3.26+mod_ssl-2.8.10+php_4.2.1.sh -rwxr-xr-x 3517 jui 22 2002 apache_1.3.26+mod_ssl-2.8.10+php_4.2.2.sh -rwxr-xr-x 3517 sep 11 2002 apache_1.3.26+mod_ssl-2.8.10+php_4.2.3.sh -rwxr-xr-x 3656 oct 4 2002 apache_1.3.27+mod_ssl-2.8.11+php_4.2.3.sh -rwxr-xr-x 4567 jun 20 2003 apache_1.3.27+mod_ssl-2.8.14+php_4.3.2.sh -rwxr-xr-x 4567 aoû 31 2003 apache_1.3.28+mod_ssl-2.8.15+php_4.3.3.sh -rwxr-xr-x 4601 déc 4 21:44 apache_1.3.29+mod_ssl-2.8.16+php_4.3.4.sh
-rwxr-xr-x 825 jui 7 2002 named_8.3.3.sh -rwxr-xr-x 2320 jui 22 15:55 named_9.2.1-noshell.sh -rwxr-xr-x 2407 jui 8 2002 named_9.2.1.sh
-rw-r--r-- 2481 sep 29 02:23 rebuild-ssh-auto.sh -rw-r--r-- 2188 mar 24 2003 rebuild-ssh-downgrad.sh -rw-r--r-- 2564 sep 28 20:10 rebuild-ssh.sh
-rw-r--r-- 1086 mar 24 2003 rebuild-ssl-downgrad.sh -rw-r--r-- 1079 mar 23 2003 rebuild-ssl.sh
-rw-r--r-- 1234 jun 17 12:25 patch_reboot.sh -rw-r--r-- 403 mar 4 2002 patch_resolv.sh -rwxr-xr-x 627 jun 2 14:28 check_reboot.sh -rw-r--r-- 634 jui 10 2002 a_l_heure.sh -rwxr-xr-x 2230 aoû 22 2002 rc.sysinit.patch.sh Dies ist eine Maschine auf der SSL und OpenSSL nicht auf dem neuesten Stand sind: # ssh -V OpenSSH_3.4p1, SSH protocols 1.5/2.0, OpenSSL 0x0090600f
Wir werden zuerst OpenSSL neu kompilieren da dieses von anderen Programmen wie Apache, SSH, qmail... verwendet wird. 5 Minuten später: # openssl version OpenSSL 0.9.6l engine 04 Nov 2003 Geschafft. Wir verwenden jetzt die richtige Version von openSSL. Nun zu SSH: # wget ftp://ftp.ovh.net/made-in-ovh/patch/rebuild-ssh.sh -O rebuild-ssh.sh
Nun installieren wir einen aktuelleren Kernel: # uname -a Linux ns3060.ovh.net 2.4.16 #1 lun déc 17 15:22:27 CET 2001 i686 unknown
$ ssh xxxxxx
Nun wird Apache neu kompiliert: # wget ftp://ftp.ovh.net/made-in-ovh/patch/apache_1.3.29+mod_ssl-2.8.16+php_4.3.4.sh
la release du systeme est IMPORTANT: vérification des versions disponibles d'openssl : OpenSSL 0.9.6l engine 04 Nov 2003 OpenSSL 0.9.6d 9 May 2002 Dies ist nicht gut. Es bedeutet daß eine von Hand kompilierte Version von OpenSSL vorhanden ist: # rm -rf /usr/local/ssl Wir beginnen von neuem: # cd
la release du systeme est IMPORTANT: vérification des versions diponibles d'openssl: OpenSSL 0.9.6l engine 04 Nov 2003 [...] 15 Minuten später: make: Quitte le répertoire `/home/ovh/src/apache_1.3.29' src si la compilation s'est bien passée, vous pouvez installer cette version en production avec les commandes suivantes: cd /home/ovh/src/apache_1.3.29 make install /etc/rc.d/init.d/httpd restart puis vérifier la version actuellement en cours /usr/local/apache/bin/httpd -v /usr/local/bin/php -v
Starting httpd: Syntax error on line 191 of /usr/local/apache/conf/httpd.conf: Missing, invalid, or non-numeric port FAILED
Starting httpd: OK
Server built: Nov 12 2003 20:31:33
The Zend Engine API version 20021010 which is installed, is newer. Contact Zend Technologies at http://www.zend.com/ for a later version of Zend Optimizer. PHP 4.3.4 (cgi) (built: Nov 12 2003 20:30:11) Copyright (c) 1997-2003 The PHP Group Zend Engine v1.3.0, Copyright (c) 1998-2003 Zend Technologies |