Mittwoch, 26. März 2014

IP-Umstellung bei Webservern mit Confixx

Never change a running system!

Die Kundenwebs laufen, der Mailverkehr funktioniert, der Server tut ohne Murren seinen Dienst und läuft und läuft und läuft. Bis zu dem Tag, wo das Rechenzentrum ankündigt: "Wir bauen für Sie um und werden deshalb am xx.xx.xxxx Ihre IP-Adressen umstellen".

Wer dann auf seinen Webservern das bedienerfreundliche und auch gut im Hintergrund konfigurierbare Confixx fährt, steht dann schnell mal im Regen, da auch der technische Support mit Antworten glänzt wie: "Confixx wird nicht mehr supportet".

In solchen Situationen können die technischen Mitarbeiter eines Serverbetreibers erheblich ihr Wissen erweitern. Das beginnt bei der Nutzung serieller Konsolen, geht über Netzwerkkonfigurationen, die nur alle fünf Jahre benötigt werden, und endet beim Einstieg in Datenbanktabellen, die noch nie manuell angefasst wurden.

Was den geneigten Leser aber schon seit der Überschrift interessiert, ist wohl der praxiserprobte Ablauf bei der Umstellung auf eine neue IP. Und hier ist er:


Wir verwenden als Beispiel die alte IP 212.227.11.22 und die neue IP 212.227.33.44

  • als root auf dem Server einloggen
  •  
  • # ifconfig eth0:2 neue_IP
  • Server ist per sofort unter beiden IP-Adressen erreichbar
  • ifconfig-Zeile noch bei /etc/init.d/boot.local eintragen, da sonst beim Reboot weg
  •  
  • # chmod 600 /root/confixx/confixx_main.conf
  • # vi /root/confixx/confixx_main.conf
  • $dbPW suchen und Datenbank-Passwort notieren
  • $mysql_host auf neue IP ändern
  •  
  • # mysql -u confixx -p
  • Datenbank-Passwort eingeben
  • > use confixx;
  • > select * from admin;
  • Feldnamen mit alten IPs notieren
  • > update admin set notierte_feldnamen='neue_IP' where notierte_feldnamen='alte_IP';
  • > quit;
  •  
  • # chmod 600 /etc/apache2/confixx_mhost.conf
  • # vi /etc/apache2/confixx_mhost.conf
  • IPs ersetzen mit vi-Ersetzungsbefehl :%s/alte_IP/neue_IP/g
  •  
  • # cd /root/confixx
  • # ./confixx_updatescript.pl --force-httpd
  •  
  • # chmod 600 /etc/apache2/confixx_vhost.conf
  • # vi /root/apache2/confixx_vhost.conf
  • IPs ersetzen mit obigem vi-Befehl :%s/alte_IP/neue_IP/g
  •  
  • # rcapache2 stop
  • # rcapache2 start
Anschließend sind auch die Webs über die neue IP erreichbar. Voraussetzung ist jedoch, dass der DNS für die Domains auf die neue IP eingestellt wurde. Je nach TTL kann es dort zu Verzögerungen kommen.

Sollte eine domainrelevante Aktion (z.B. Löschen oder Anlegen von Sub-Domains) im Confixx ausgeführt werden, kann es passieren, dass eine neue confixx_vhost.conf geschrieben wird. In diesem Fall sind die Webs nicht mehr erreichbar und der oben beschriebene Ablauf muss ab dem vorletzten Absatz (chmod 600 /etc/apache2/confixx_vhost.conf) wiederholt werden.

Der oben beschriebene Ablauf bezieht sich auf Confixx 3.x unter SuSE 9.x und kann insbesondere bezüglich der Pfade zu anderen Linux-Distributionen variieren. Deshalb übernehmen wir keinerlei Gewähr.

Besonderer Dank geht an den Betreiber des Gentoo-Blogs, der einige wichtige Hinweise zum Thema enthält.

Autor: Matthias Baumann