Fatal error when updating ISPConfig

Discussion in 'Installation/Configuration' started by gkovacs, Jun 28, 2009.

  1. gkovacs

    gkovacs New Member

    I am running ISPConfig 3.0.1. Trying to upload to the latest stable version produces the following error:

    Code:
    >> Update
    
    Operating System: Debian Lenny/Sid or compatible
    
    This application will update ISPConfig 3 on your server.
    MySQL root password []: xxxxxxxxxxx
    
    
    Fatal error: Cannot use string offset as an array in /root/ispconfig3_install/install/update.php on line 148
    root@ispconfig:~/ispconfig3_install/install# 
    I'm running Ubuntu 8.04, kept fresh via apt. I have successfully updated ISPConfig before.
    Any idea what may cause this?
     
  2. gkovacs

    gkovacs New Member

    More bad news

    Also since the failed update, I can't login into any of the FTP's nor the ISPConfig webinterface.

    What to do now?
     
  3. till

    till Super Moderator

    Did you had a released version installed or a svn version?

    Check your database with phpmyadmin, if its empty then restore the bakup that you find in the root folder.
     
  4. gkovacs

    gkovacs New Member

    First of all, I don't know what kind of version I had, apart from it being 3.0.1

    My ISPConfig DB seems to be empty. I can't believe how you guys let me download and execute a MINOR version update that is able to fuck up my entire sytem without any warning. This is entirely unacceptable even for free software.

    Now I have several backups:

    - I have full system (VPS) backup for both the MySQL and the ISPConfig host
    - I have ispconfig_db_backup since the last update, but it's 2 months old

    Questions about how to proceed:

    1. If I restore yesterday's MySQL DB and ISPConfig files (effectively undoing this entire failed update), how can I update to the latest version?

    2. If I restore only the MySQL DB from yesterday, won't the update kill it again?

    3. What can I do with the 2 month old ispconfig_db_backup?
     
  5. till

    till Super Moderator

    Thats a good question and before blaming us you should try to answer the question if you had a developemnt release installed before or not. We had already very many succesful updates and the only possible reason for your problem is that you did not had a stable version installed.

    1+2) That depends on the answer which question you had installed before. How many database tables contains your backup?

    3) About which backup are you talking?
     
  6. gkovacs

    gkovacs New Member

    I'm not sure, but I MIGHT HAVE had the SVN version before. Is there a way to find this out for sure? (I have trunk folders in root/, so possibly SVN)

    The corrupted database (that was fucked up by the update) contains 44 tables.

    I have these from my 2 previous updates, but they are way too old, I have many new sites and clients in my setup.

    -rwx------ 1 root root 112971 Mar 10 07:26 ispconfig_db_backup_2009-03-10_07-26.sql
    -rwx------ 1 root root 118113 Apr 10 03:37 ispconfig_db_backup_2009-04-10_03-37.sql
     
    Last edited: Jun 28, 2009
  7. gkovacs

    gkovacs New Member

    Alright, I've restored the database from a backup, so essentially I've went back to ISPConfig 3.0.1 (probably SVN) version.
    The database has 54 tables.

    So how can I upgrade this to the latest version (so that logrotate would work)?

    Your download/info page has no specific information to SVN users.
     
    Last edited: Jun 28, 2009
  8. till

    till Super Moderator

    Your version is definately a svn version and the update failed because it contains more database tables then the stable releases. There are 2 options:

    a) Update always to svn revisions and do not install stable releases.
    b) Execute the following commands in the ispconfig mysql database:

    Code:
    DROP TABLE IF EXISTS `billing_invoice`;
    DROP TABLE IF EXISTS `billing_product`;
    DROP TABLE IF EXISTS `billing_service`;
    DROP TABLE IF EXISTS `billing_service_class`;
    DROP TABLE IF EXISTS `billing_tax`;
    DROP TABLE IF EXISTS `client_address_book`;
    DROP TABLE IF EXISTS `domain`;
    DROP TABLE IF EXISTS `domain_handle`;
    DROP TABLE IF EXISTS `domain_provider`;
    DROP TABLE IF EXISTS `domain_tld`;[code]
    
    and then try the stable update again.
    
    I recommend that you use option b)
    
    [QUOTE]Your download/info page has no specific information to SVN users. [/QUOTE]
    
    Thats correct, as we do not offer svn versions for download.
     
  9. gkovacs

    gkovacs New Member

    I have dropped the tables and updated ISPConfig with the stable version. This time there were no errors.

    You might want to check in the update script if a user wants to upgrade a development version to the stable, and warn him before he bricks his installation.

    Thanks for the help.
     
    Last edited: Jun 29, 2009

Share This Page