Alles zu den Releases von OVH:
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:
- Geschwindigkeit,
- Einfachheit,
- Stabilität.
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.
Basic Patch
Auf allen Releasen: OVH 1 ( Redhat 7.2 ) und OVH 2 ( gentoo ) reicht es folgende Kommandozeile per SSH oder per Webmin auszuführen :
Profi Patch
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:
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.
Philosophie:
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.
Changelog:
History oder changelog sind verfügbar unter:
ftp://ftp.ovh.net/made-in-ovh/release/CHANGELOG.release.
Aufeinanderfolgende Releases ausführen:
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:
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.
Alle Releases ausführen:
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.
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
Zusätzliche Funktionen:
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.
Ausser Release:
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:
- Patches für apache (Webserver):
-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
- Patches für bind (named):
-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
Beispiel ausser Release
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
- openssl version
OpenSSL 0.9.6 24 Sep 2000
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:
Nun installieren wir einen aktuelleren Kernel:
Nun wird Apache neu kompiliert:
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
- sh apache_1.3.29+mod_ssl-2.8.16+php_4.3.4.sh
cat: /etc/ovhrelease: Aucun fichier ou répertoire de ce type
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
-
-
- cd /home/ovh/src/apache_1.3.29
- make install
- /etc/rc.d/init.d/httpd restart
Stopping httpd:
OK
Starting httpd: Syntax error on line 191 of /usr/local/apache/conf/httpd.conf:
Missing, invalid, or non-numeric port
FAILED
- pico /usr/local/apache/conf/httpd.conf
- /etc/rc.d/init.d/httpd restart
Stopping httpd:
FAILED
Starting httpd:
OK
- /usr/local/apache/bin/httpd -v
Server version: Apache/1.3.29 (Unix)
Server built: Nov 12 2003 20:31:33
- /usr/local/bin/php -v
Zend Optimizer requires Zend Engine API version 20001224.
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