Ich möchte vorweg darauf hinweisen, das es bei mir bei dem Update heute nacht um 3 Uhr etwas turbulent zur Sache ging. Keine der Anleitungen die ich online gefunden hatte hatten ihr Froxlor Installationen nach dem Upgrade von SysCP überprüft. Keine dieser Anleitungen verlief Fehlerlos bzw. ohne Folgefehler durch Konfigurationsfehler. Der Server sollte natürlich bis morgens wieder für Hosting Kunden nutzbar funktionieren. Ich hoffe dieser Ärger bleibt euch mit diesem Tutorial erspart.
Vorwort
- Es wird eine funktionsfähige Hetzner SysCP Image Installtion benötigt (SysCP Root: /var/syscp/web/)
- Der gesamte Installationsvorgang findet über eine SSH Verbindung auf dem Server statt
- Allgemein gilt in diesem Tutorial immer durch die entsprechenden Werte zu ersetzen
Update Vorbereitungen
- SysCP sichern
Zunächst sollten alle Daten von SysCP gesichert werden. Ebenso machen wir ein Backup von /etc/ da wir hier im zuge des Upgrades auch Änderungen vornehmen werden. Wir nutzen für das SysCP Datenbank Backup die Option “–add-drop-table” um ein löschen der alten Inhalte vor dem einspielen der neuen auszulösen. Diese Option benötigen wir da wir im zuge des Updates den veränderten SysCP SQL Dump in diese selbe Datenbank wieder einspielen. Eure MySQL Zugangsdaten findet ihr in der SysCP Konfiguration (/var/syscp/lib/userdata.inc.php /).EMP-S:~# cp -rp /etc/ /root/etc_bak/ EMP-S:~# cd /var/syscp/web/ EMP-S:/var/syscp/web/# cp -rp * ../../syscp_bak/ EMP-S:/var/syscp/web/# mysqldump --databases --opt -Q -u -p --add-drop-table syscp > ../../syscp_bak/db.sql
- sources.list erweitern
Die Datei /etc/apt/sources.list um erweitern um:
deb http://debian.froxlor.org lenny main deb-src http://debian.froxlor.org lenny main
Kommando zum öffnen der Datei (erspart Tipparbeit):
EMP-S:~# nano /etc/apt/sources.list
- SysCP Cronjobs deaktivieren
Durch auskommentieren der Konfiguration deaktivieren wir die SysCP Cronjobs.
Kommando zum öffnen der Datei:EMP-S:~# nano /etc/cron.d/syscp
Dateinhalt nach der Bearbeitung:
# # Set PATH, otherwise restart-scripts won't find start-stop-daemon # # PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin # # Regular cron jobs for the syscp package # #00 */1 * * * root /usr/bin/php5 -q /var/syscp/web/scripts/cron_tasks.php #0 0 * * * root /usr/bin/php5 -q /var/syscp/web/scripts/cron_traffic.php #30 0 * * * root /usr/bin/php5 -q /var/syscp/web/scripts/cron_ticketarchive.php #0 1 * * * root /usr/bin/php5 -q /var/syscp/web/scripts/cron_used_tickets_reset.php #00 */1 * * * root /usr/bin/php5 -q /var/syscp/web/scripts/cron_autoresponder.php #00 */1 * * * root /usr/bin/php5 -q /var/syscp/web/scripts/cron_apsinstaller.php #*/15 * * * * root /usr/bin/php5 -q /var/syscp/web/scripts/cron_apsupdater.php
- SQL Dump für Froxlor aufbereiten
Hierbei ersetzen wir den Pfad /var/syscp/web/ mit /var/www/froxlor/ und den Pfad /var/syscp/ mit /var/www/ in einer Kopie unseren SysCP SQL Dumps.EMP-S:~# cd /var/sycp_bak/ EMP-S:/var/sycp_bak/# cp db.sql db_new.sql EMP-S:/var/sycp_bak/# sed -i 's//var/syscp/web///var/www/froxlor//g' db_new.sql EMP-S:/var/sycp_bak/# sed -i 's//var/syscp///var/www//g' db_new.sql
Froxlor Installieren
- Froxlor Installation über APT Paketmanagement System
EMP-S:~# apt-get update EMP-S:~# apt-get install froxlor
- Besitzer und Gruppe des Froxlor Verzeichnisses anpassen
EMP-S:~# chown -R www-data:www-data /var/www/froxlor/
- Alte SysCP Konfiguration in Froxlor nutzen
EMP-S:~# cp /var/syscp_bak/lib/userdata.inc.php /var/www/froxlor/lib/
- Bearbeitete Kopie der SysCP Datenbank für Froxlor einspielen
EMP-S:~# mysql -u -p mysql> use syscp mysql> source /var/syscp_bak/db_new.sql
- Symlinks für phpMyAdmin und Squirrelmail erstellen
EMP-S:~# ln -s /usr/share/phpmyadmin/ /var/www/phpmyadmin EMP-S:~# ln -s /usr/share/squirrelmail/ /var/www/squirrelmail
- Verzeichnisse kopieren
Wichtig ist hierbei Rechte und Benutzer beizubehalten. Die User Unterverzeichnise in fcgi/ logs/, tmp/ und webs/ sollten den entsprechenden fcgi Benutzer (Kunden) gehören. Das Verzeichnis mails/ dem Benuter vmail. Das bewirkt die Option -p beim Kopieren mit cp.EMP-S:~# cp -rp /var/syscp/fcgi/ /var/www/ EMP-S:~# cp -rp /var/syscp/logs/ /var/www/ EMP-S:~# cp -rp /var/syscp/mails/ /var/www/ EMP-S:~# cp -rp /var/syscp/tmp/ /var/www/ EMP-S:~# cp -rp /var/syscp/webs/ /var/www/
- Apache Konfiguration für Froxlor anpassen
Hierbei muss der Pfad /var/syscp/web/ in /var/www/froxlor geändert werden. Der Ordnung halber ist es empfehlenswert die Konfigurationsdatei entsprechend umzubenennen und den Symbolischen Link auf die Konfiguration zu ändern.EMP-S:~# sed -i 's//var/syscp/web///var/www/froxlor//g' /etc/apache2/sites-available/syscp EMP-S:~# mv /etc/apache2/sites-available/syscp /etc/apache2/sites-available/froxlor EMP-S:~# rm /etc/apache2/sites-enabled/00-syscp EMP-S:~# ln -s /etc/apache2/sites-available/froxlor /etc/apache2/sites-enabled/froxlor
- Suexec Pfade für Froxlor anpassen
In der Datei /etc/apache2/suexec/www-data den Pfad /var/syscp/ in /var/www/ ändern.EMP-S:~# sed -i 's//var/syscp///var/www//g' /etc/apache2/suexec/www-data
- Postfix Konfiguration für Froxlor anpassen
Konfigurations Option virtual_mailbox_base in /etc/postfix/main.cf von /var/syscp/mails/ in /var/www/mails/ ändern.EMP-S:~# sed -i 's//var/syscp/mails///var/www/mails//g' /etc/postfix/main.cf
- Squirrelmail Konfiguration für Froxlor anpassen
Die Pfade /var/syscp/squirrelmail/data/ und /var/syscp/squirrelmail/attach/ müssen in der Datei auf /var/www/squirrelmail/*/ angepasst werden.EMP-S:~# sed -i 's//var/syscp///var/www//g' /etc/squirrelmail/config.php
Anmerkung
In dieser Datei können Providername, Logo und dergleichen für Squirrelmail angepasst werden. Nutzt die Gelegenheit sonst macht ihr das nie. - Froxlor Cronjob erstellen
Wir erstellen die Datei /etc/cron.d/froxlorEMP-S:~# nano /etc/cron.d/froxlor
und füllen sie mit den Werten für die Froxlor Cronjobs:
# # Set PATH, otherwise restart-scripts won't find start-stop-daemon # PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin # # Regular cron jobs for the froxlor package # */1 * * * * root /usr/bin/php5 -q /var/www/froxlor/scripts/froxlor_master_cronjob.php
-
Apache und Postfix neu starten
EMP-S:~# /etc/init.d/apache2 restart EMP-S:~# /etc/init.d/postfix restart
Froxlor Konfiguration
Froxlor ist nun unter Eurer IP:Euerm Port (Standard 81) erreichbar.
- Installationsassistent
Den neuen Prozess Spawn Manager habe ich auch nicht aktiviert. Ich warte erstmal ein paar Erfahrungsberichte ab. - Fehlerquelle: php.ini Settings
Die Zeileopen_basedir = "{OPEN_BASEDIR}"
sollte in den php.ini Konfigurationen durch
{OPEN_BASEDIR_C}open_basedir = "{OPEN_BASEDIR}"
ersetzt werden. Ansonsten könnte es zu Fehlern in PHP Applikationen kommen. Im Falle Magento bekommt man die Ausgabe “No input file specified”.
SysCP entfernen
Prüft nochmals alle Funktionen bevor ihr euer SysCP vom Server entfernt.
- SysCP löschen
Das “immutable” Attribut von den fcgi Scripts entfernen (chattr -i) und den SysCP Ordner vom Dateisystem löschen.EMP-S:~# chattr -i -R /var/syscp/fcgi/ EMP-S:~# rm -r /var/syscp/
Vergesst die Backups nicht. /root/etc_bak/ und /var/syscp_bak/. Aufheben oder löschen. Wie es euch lieb ist.
- Jagd nach Überlebenden
Wer lustig ist kann nun noch nach überbleibseln von SysCP auf dem Server suchen und diese beseitigen. Den Datenbankname könnte man noch von syscp auf froxlor ändern. Ebenso den Unix Benutzer syscp. Weitere Überbleibsel findet man auch mit dem Kommando:grep -r syscp *
Froxlor ist nun via Debian APT Paketmangement Software updatebar installiert und konfiguriert. Ich hoffe bei euch läuft das mit Hilfe der Anleitung weniger turbulent und stressig. Abweichung und weitere Tipps sind erwünscht. Möchte jemand das Tutorial zu einem Update Script zusammenfassen? 😛
10 Kommentare »
2 März 2011 um 10:06 Uhr
Unter “SysCP Cronjobs deaktivieren” ist
“EMP-S:~# nano /etc/apt/sources.list”
der falsche Befehl.
Unter “Bearbeitete Kopie der SysCP Datenbank für Froxlor einspielen”,
muss da nicht die “db_new.sql” rein?
Frage: Hattest Du mod_fcgid bei Syscp genutzt?
Gruß,
chfslt
2 März 2011 um 14:50 Uhr
Vielen Dank für die Hinweise. War spät als ich den Post verfasst hatte. 😉
Joa ich hatte fcgi genutzt.
1 April 2011 um 13:11 Uhr
Super, danke für das Tutorial. Will heute nacht meinen Server von Syscp auf Froxlor umstellen. Ich hoffe, dass alles klappt 🙂
3 April 2011 um 18:00 Uhr
Meld dich falls Probleme auftreten.
29 April 2011 um 22:00 Uhr
Also meine userdata.inc.php war unter
/var/syscp/web/lib/userdata.inc.php
anstatt
/var/syscp/lib/userdata.inc.php. Ansonsten sehr gutes Tutorial! WIrklich klasse! Danke!
8 Mai 2011 um 11:41 Uhr
hat alles soweit gut geklappt, nur die symlinks musst eich nochmal per hand anpassen, da der phpmyadmin auf /var/www/froxlor/phpmyadmin zeigen musste, und squirrelmail auf /var/www/froxlor/webmail
Vielen Dank für die super beschreibung
Grüße
SaneG
23 Mai 2012 um 13:22 Uhr
Wieso kopierst du eigentlich squirrelmail wenn du schon einen symlink gesetzt hast?
3 Juli 2012 um 07:25 Uhr
Hat mir sehr geholfen, besten Dank !
16 August 2012 um 00:18 Uhr
@Darko
Danke für den Hinweis. Ich kann dir im Moment leider nicht sagen welches Squirrelmail dort bisher verwendet wurde. Im Moment wird es via Paketmanager gepflegt.
4 Januar 2014 um 23:17 Uhr
Vielen Dank auch von mir,
es hat alles so geklappt wie angegeben (incl. der Kommentare), ich habe SysCP auf dem Hetzner Server 2008 installiert, seither nichts mehr gemacht, und alles ohne Probleme und ohne dass es die Anwender gemerkt haben umbgezogen.
Tolle Anleitung