[HowTo] Aktualisierung von EasySCP 1.1.15 zu 2.0.0 von Ubuntu 12.04 auf 14.04

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • [HowTo] Aktualisierung von EasySCP 1.1.15 zu 2.0.0 von Ubuntu 12.04 auf 14.04

      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/*