Hallo Leute,
ich stand letztes Jahr vor dem Problem, dass mein alter Ubuntu Server sich dem EOL näherte und EasySCP auch erneuert werden musste, entschied ich mich für eine Parallelbereitstellung und einer Neuinstallation mit anschließender Datenübernahme vom alten EasySCP. Dank der Unterstützung durch ShadowJumper konnte ich das Unterfangen erfolgreich abschließen. Ich möchte euch hier meine selbstgebaute Anleitung reinposten, eventuell hilft es anderen Nutzern:
1. DB auf Alter_Server auf die aktuelle 2.0er Version hochziehen
2. Cronjobs-Tabelle einfügen
3. EasySCP 2.0 Stable auf server_new per Shellskript installieren
3.1. Config.XML bzgl. der Keys der alten DB ergänzen
4. Webskript zur Install auf Neuer_Server durchführen
5. Aktualisierte DB des Alter_Server einspielen
6. Alle typischen Tabellen (Domains, User, Mail, DB, ...) den Status von "ok" auf "add" setzen (Ach das ging schon vor vielen Jahren
Echt klasse programmiert!)
7. Debugger anschmeißen und Verzeichnisse / Config bauen lassen
###########################
# Auf server_new
###########################
cd /
mkdir migration
apt-get install htop mc multitail aptitude
aptitude update && aptitude
#Per mc eine Verbindung zu server_old aufbauen und folgende Verzeichnisse zu /migration/ auf server_new kopieren:
#/root/easyscp2/db_neu
#/root/easyscp-2.0.0
#/var/www/virtual
#/var/mail
#/var/lib/mysql
#/etc/easyscp/easycp-keys.conf
cd /migration/
wget easyscp.net/download/index.php…107-easyscp-2-0-0-tar-gz/ -O easyscp-2.0.0.tar.gz
tar xfvz easyscp-2.0.0.tar.gz
rm easyscp-2.0.0.tar.gz
easyscp installieren:
cd /migration/easyscp-2.0.0/
apt-get install $(cat ./docs/Ubuntu/ubuntu-packages-1404)
# Passwort für MySQL: KEINES
# ProfTPD Servermodus
# PowerDNS: Nein
#Ab Ubuntu 14.04 ist es nicht mehr php5enmod sondern phpenmod!
phpenmod mcrypt
cd /migration/easyscp-2.0.0/
./easyscp-setup.sh
# Secure MySQL Install: yes
# Would you like to setup VALIDATE PASSWORD plugin? No
# Change the root password?: No
# Remove anonymous users: Yes
# Disallow root login remotely?: No
# Remove test database and access to it? Yes
# Reload privilege tables now?: Yes
reboot
/etc/init.d/easyscp_daemon start
# Danach Web-Setup: http://[FQDN server_new]/setup/
# Anschließend
service apache2 restart
# Datenbank einspielen:
service mysql stop
rm -rf /var/lib/mysql/easyscp/
cp -r /migration/db_neu/easyscp /var/lib/mysql/
chown -R mysql:mysql /var/lib/mysql/easyscp/
# Config -Key einspielen
cat /migration/easyscp-keys.conf > /etc/easyscp/easyscp-keys.conf
service mysql start
# Händisch die DB_KEY und DB_IV ergänzen
mcedit /etc/easyscp/EasySCP_Config_DB.php
# /* Datenbank KEY */
# protected static $DB_KEY = '[dein key]';
# /* Datenbank IV */
# protected static $DB_IV = '[dein PW]';
mysql -u root
use easyscp;
CREATE TABLE IF NOT EXISTS `cronjobs` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`user_id` int(10) unsigned NOT NULL DEFAULT '0',
`schedule` VARCHAR( 100 ) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`command` varchar(500) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`active` enum('yes','no') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'yes',
`description` varchar(500) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`name` varchar(200) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`user` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
UNIQUE KEY `id` (`id`),
UNIQUE KEY `schedcmd` (`schedule`(50),`command`(50))
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
INSERT INTO `cronjobs` (`user_id`, `schedule`, `command`, `active`, `description`, `name`, `user`) VALUES
(1, '@daily', 'umask 027; /var/www/easyscp/daemon/CronDiskUsage.php > /var/log/easyscp/CronDiskUsage.log', 'yes', 'Disk usage', 'Disk usage', 'root'),
(1, '0,30 * * * *', 'umask 027; /var/www/easyscp/daemon/CronServerTraffic.php > /var/log/easyscp/CronServerTraffic.log', 'yes', 'Server Traffic', 'Server Traffic', 'root'),
(1, '0,30 * * * *', 'umask 027; /var/www/easyscp/daemon/CronDomainTraffic.php > /var/log/easyscp/CronDomainTraffic.log', 'yes', 'Domain Traffic', 'Domain Traffic', 'root'),
(1, '@daily', 'umask 027; /var/www/easyscp/daemon/CronDomainBackup.php > /var/log/easyscp/CronDomainBackup.log', 'yes', 'Backup for all the customers'' data depending of the domain properties', 'Domain backup', 'root'),
(1, '@daily', 'umask 027; /var/www/easyscp/daemon/CronSystemBackup.php > /var/log/easyscp/CronSystemBackup.log', 'yes', 'Backup for EasySCP database and all EasySCP configuration files', 'System backup', 'root'),
(1, '0 */12 * * *', '/usr/bin/rkhunter --cronjob --createlogfile /var/log/rkhunter.log.root --display-logfile 1>/var/log/rkhunter.log 2>/dev/null', 'yes', 'Rootkit Hunter', 'Rootkit Hunter', 'root');
UPDATE domain SET status = 'add' WHERE status = 'ok';
UPDATE domain_aliasses SET status = 'add' WHERE status = 'ok';
UPDATE mail_users SET status = 'add' WHERE status = 'ok';
UPDATE hosting_plans SET status = 'add' WHERE status = 'ok';
UPDATE htaccess SET status = 'add' WHERE status = 'ok';
UPDATE htaccess_groups SET status = 'add' WHERE status = 'ok';
UPDATE htaccess_users SET status = 'add' WHERE status = 'ok';
UPDATE sql_database SET status = 'add' WHERE status = 'ok';
UPDATE sql_user SET status = 'add' WHERE status = 'ok';
UPDATE subdomain SET status = 'add' WHERE status = 'ok';
UPDATE subdomain_alias SET status = 'add' WHERE status = 'ok';
exit
# In Admin-GUI als admin einloggen. Unter Systemtools --> Debugger schauen
# Ganz unten: Anfragen ausführen
# Jetzt manuelles Datenbankskript aus dem nextcloud-Ordner hinschieben:
# MySQL.php in Ordner /var/www/easyscp/daemon
cd /var/www/easyscp/daemon/
chmod 700 MySQL.php
./MySQL.php
# Auf server_new:
# - MySQL stoppen
# - E-Mail stoppen
# - Apache stoppen
# - FTP Stoppen
# - DNS stoppen
# - EasySCP_Daemon stop
# - EasySCP_Control stop
service apache2 stop
service mysql stop
service proftpd stop
service pdns stop
/etc/init.d/easyscp_control stop
/etc/init.d/easyscp_daemon stop
service postfix stop
service postgrey stop
# Vom vollen Backup des server_old zurückspielen:
# /var/www/virtual
# /var/mail
# /var/lib/mysql alles, außer:
## debian-5.5.flag
## easyscp
## ibdata1
## ib_logfile0
## ib_logfile1
## mysql
## mysql_upgrade_info
## performance_schema
## phpmyadmin
## roundcubemail
## roundcube_2
# Auf server_new Berechtigungen für DB setzen:
cd /var/lib/mysql
chown -R mysql:mysql *
chown -R root:root debian-5.5.flag
chown -R root:root debian-5.5.flag
chown mysql:root mysql
chown -R mysql:mysql mysql/*
ich stand letztes Jahr vor dem Problem, dass mein alter Ubuntu Server sich dem EOL näherte und EasySCP auch erneuert werden musste, entschied ich mich für eine Parallelbereitstellung und einer Neuinstallation mit anschließender Datenübernahme vom alten EasySCP. Dank der Unterstützung durch ShadowJumper konnte ich das Unterfangen erfolgreich abschließen. Ich möchte euch hier meine selbstgebaute Anleitung reinposten, eventuell hilft es anderen Nutzern:
1. DB auf Alter_Server auf die aktuelle 2.0er Version hochziehen
2. Cronjobs-Tabelle einfügen
3. EasySCP 2.0 Stable auf server_new per Shellskript installieren
3.1. Config.XML bzgl. der Keys der alten DB ergänzen
4. Webskript zur Install auf Neuer_Server durchführen
5. Aktualisierte DB des Alter_Server einspielen
6. Alle typischen Tabellen (Domains, User, Mail, DB, ...) den Status von "ok" auf "add" setzen (Ach das ging schon vor vielen Jahren

7. Debugger anschmeißen und Verzeichnisse / Config bauen lassen
###########################
# Auf server_new
###########################
cd /
mkdir migration
apt-get install htop mc multitail aptitude
aptitude update && aptitude
#Per mc eine Verbindung zu server_old aufbauen und folgende Verzeichnisse zu /migration/ auf server_new kopieren:
#/root/easyscp2/db_neu
#/root/easyscp-2.0.0
#/var/www/virtual
#/var/mail
#/var/lib/mysql
#/etc/easyscp/easycp-keys.conf
cd /migration/
wget easyscp.net/download/index.php…107-easyscp-2-0-0-tar-gz/ -O easyscp-2.0.0.tar.gz
tar xfvz easyscp-2.0.0.tar.gz
rm easyscp-2.0.0.tar.gz
easyscp installieren:
cd /migration/easyscp-2.0.0/
apt-get install $(cat ./docs/Ubuntu/ubuntu-packages-1404)
# Passwort für MySQL: KEINES
# ProfTPD Servermodus
# PowerDNS: Nein
#Ab Ubuntu 14.04 ist es nicht mehr php5enmod sondern phpenmod!
phpenmod mcrypt
cd /migration/easyscp-2.0.0/
./easyscp-setup.sh
# Secure MySQL Install: yes
# Would you like to setup VALIDATE PASSWORD plugin? No
# Change the root password?: No
# Remove anonymous users: Yes
# Disallow root login remotely?: No
# Remove test database and access to it? Yes
# Reload privilege tables now?: Yes
reboot
/etc/init.d/easyscp_daemon start
# Danach Web-Setup: http://[FQDN server_new]/setup/
# Anschließend
service apache2 restart
# Datenbank einspielen:
service mysql stop
rm -rf /var/lib/mysql/easyscp/
cp -r /migration/db_neu/easyscp /var/lib/mysql/
chown -R mysql:mysql /var/lib/mysql/easyscp/
# Config -Key einspielen
cat /migration/easyscp-keys.conf > /etc/easyscp/easyscp-keys.conf
service mysql start
# Händisch die DB_KEY und DB_IV ergänzen
mcedit /etc/easyscp/EasySCP_Config_DB.php
# /* Datenbank KEY */
# protected static $DB_KEY = '[dein key]';
# /* Datenbank IV */
# protected static $DB_IV = '[dein PW]';
mysql -u root
use easyscp;
CREATE TABLE IF NOT EXISTS `cronjobs` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`user_id` int(10) unsigned NOT NULL DEFAULT '0',
`schedule` VARCHAR( 100 ) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`command` varchar(500) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`active` enum('yes','no') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'yes',
`description` varchar(500) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`name` varchar(200) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`user` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
UNIQUE KEY `id` (`id`),
UNIQUE KEY `schedcmd` (`schedule`(50),`command`(50))
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
INSERT INTO `cronjobs` (`user_id`, `schedule`, `command`, `active`, `description`, `name`, `user`) VALUES
(1, '@daily', 'umask 027; /var/www/easyscp/daemon/CronDiskUsage.php > /var/log/easyscp/CronDiskUsage.log', 'yes', 'Disk usage', 'Disk usage', 'root'),
(1, '0,30 * * * *', 'umask 027; /var/www/easyscp/daemon/CronServerTraffic.php > /var/log/easyscp/CronServerTraffic.log', 'yes', 'Server Traffic', 'Server Traffic', 'root'),
(1, '0,30 * * * *', 'umask 027; /var/www/easyscp/daemon/CronDomainTraffic.php > /var/log/easyscp/CronDomainTraffic.log', 'yes', 'Domain Traffic', 'Domain Traffic', 'root'),
(1, '@daily', 'umask 027; /var/www/easyscp/daemon/CronDomainBackup.php > /var/log/easyscp/CronDomainBackup.log', 'yes', 'Backup for all the customers'' data depending of the domain properties', 'Domain backup', 'root'),
(1, '@daily', 'umask 027; /var/www/easyscp/daemon/CronSystemBackup.php > /var/log/easyscp/CronSystemBackup.log', 'yes', 'Backup for EasySCP database and all EasySCP configuration files', 'System backup', 'root'),
(1, '0 */12 * * *', '/usr/bin/rkhunter --cronjob --createlogfile /var/log/rkhunter.log.root --display-logfile 1>/var/log/rkhunter.log 2>/dev/null', 'yes', 'Rootkit Hunter', 'Rootkit Hunter', 'root');
UPDATE domain SET status = 'add' WHERE status = 'ok';
UPDATE domain_aliasses SET status = 'add' WHERE status = 'ok';
UPDATE mail_users SET status = 'add' WHERE status = 'ok';
UPDATE hosting_plans SET status = 'add' WHERE status = 'ok';
UPDATE htaccess SET status = 'add' WHERE status = 'ok';
UPDATE htaccess_groups SET status = 'add' WHERE status = 'ok';
UPDATE htaccess_users SET status = 'add' WHERE status = 'ok';
UPDATE sql_database SET status = 'add' WHERE status = 'ok';
UPDATE sql_user SET status = 'add' WHERE status = 'ok';
UPDATE subdomain SET status = 'add' WHERE status = 'ok';
UPDATE subdomain_alias SET status = 'add' WHERE status = 'ok';
exit
# In Admin-GUI als admin einloggen. Unter Systemtools --> Debugger schauen
# Ganz unten: Anfragen ausführen
# Jetzt manuelles Datenbankskript aus dem nextcloud-Ordner hinschieben:
# MySQL.php in Ordner /var/www/easyscp/daemon
cd /var/www/easyscp/daemon/
chmod 700 MySQL.php
./MySQL.php
# Auf server_new:
# - MySQL stoppen
# - E-Mail stoppen
# - Apache stoppen
# - FTP Stoppen
# - DNS stoppen
# - EasySCP_Daemon stop
# - EasySCP_Control stop
service apache2 stop
service mysql stop
service proftpd stop
service pdns stop
/etc/init.d/easyscp_control stop
/etc/init.d/easyscp_daemon stop
service postfix stop
service postgrey stop
# Vom vollen Backup des server_old zurückspielen:
# /var/www/virtual
# /var/mail
# /var/lib/mysql alles, außer:
## debian-5.5.flag
## easyscp
## ibdata1
## ib_logfile0
## ib_logfile1
## mysql
## mysql_upgrade_info
## performance_schema
## phpmyadmin
## roundcubemail
## roundcube_2
# Auf server_new Berechtigungen für DB setzen:
cd /var/lib/mysql
chown -R mysql:mysql *
chown -R root:root debian-5.5.flag
chown -R root:root debian-5.5.flag
chown mysql:root mysql
chown -R mysql:mysql mysql/*