Error updating from 3.0.3.2 to 3.0.4

Discussion in 'Installation/Configuration' started by hoenes, Nov 4, 2011.

  1. hoenes

    hoenes New Member

    When updating from 3.0.3.2 to 3.0.4 i get the this error :

    --------------------------------------------------------------------------------
    _____ ___________ _____ __ _ ____
    |_ _/ ___| ___ \ / __ \ / _(_) /__ \
    | | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ /
    | | `--. \ __/ | | / _ \| '_ \| _| |/ _` | |_ |
    _| |_/\__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \
    \___/\____/\_| \____/\___/|_| |_|_| |_|\__, | \____/
    __/ |
    |___/
    --------------------------------------------------------------------------------


    >> Update

    Operating System: Debian 6.0 (Squeeze/Sid) or compatible

    This application will update ISPConfig 3 on your server.
    Checking ISPConfig database .. OK
    PHP Notice: Uninitialized string offset: 0 in /tmp/ispconfig3_install/install/lib/update.lib.php on line 127
    PHP Fatal error: Cannot use string offset as an array in /tmp/ispconfig3_install/install/lib/update.lib.php on line 127

    any ideas on how to fix this ?
     
  2. till

    till Super Moderator Staff Member ISPConfig Developer

    Seems as if the updater is not able to read the server config details in the mysql database. Please check if the mysql root password in /usr/local/ispconfig/server/lib/mysql_clientdb.conf is correct.
     
  3. hoenes

    hoenes New Member

    The root password in mysql_clientdb.conf is correct.

    I can log on mysql from console and phpmyadmin with informations from this file.
     
  4. till

    till Super Moderator Staff Member ISPConfig Developer

    Please login with phpmyadmin as root user, go to the ispconfig db, select all tables and choose repair as action.
     
  5. hoenes

    hoenes New Member

    Reparing tables in ispconfig db didn't solve the problem
     
  6. speedx

    speedx New Member

    Hello Guys!

    I've got the same Problem, but i'm trying to update from 3.0.1.4. I'm not sure that it is a clever idea, if i look at the wide range of versions ^^.

    If i use update.php from 3.0.4 all seems to be ok...
    ...the script makes a backup and than it drops my database (because of updating from a too older version)

    ...than the function configure_database(), i think, had a problem to create a new database und the script breaks down with the message "Unable to create database"

    If i try to restart the process i become this screen:
    --------------------------------------------------------------------------------
    _____ ___________ _____ __ _ ____
    |_ _/ ___| ___ \ / __ \ / _(_) /__ \
    | | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ /
    | | `--. \ __/ | | / _ \| '_ \| _| |/ _` | |_ |
    _| |_/\__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \
    \___/\____/\_| \____/\___/|_| |_|_| |_|\__, | \____/
    __/ |
    |___/
    --------------------------------------------------------------------------------


    >> Update

    Operating System: Debian Lenny or compatible

    This application will update ISPConfig 3 on your server.
    mysqldump: Got error: 1049: Unknown database 'dbispconfig' when selecting the database
    Checking ISPConfig database .. mysqlcheck: Got error: 1049: Unknown database 'dbispconfig' when selecting the database
    OK

    Fatal error: Cannot use string offset as an array in /tmp/ispconfig3_install/install/lib/update.lib.php on line 127



    The script wants starting again with making a backup, but it drops the database at the first call and skips this step not to create a new database with the function configure_database().

    Any ideas?

    BTW: n1ce, powerfull software!
     
  7. till

    till Super Moderator Staff Member ISPConfig Developer

    Hi,

    your error messages are different, so its unlikely that you have the same problem. The ispconfig update never drops or creates a new database, it just drops the tables inside of the database and reloads it. So its ok that no new databse was created as the database was not dropped by ispconfig.

    There are several possible reasons for your problem:

    1) The database is broken, repair it with the mysql repair function.
    2) The information about the database in config.inc.php file is wrong. I guess your ispconfig database has a different name then the one that is set in config.inc.php
    3) The mysql root password in mysql_clientdb.conf is wrong
     
  8. speedx

    speedx New Member

    Hello again!

    Sorry, I've only read "/tmp/ispconfig3_install/install/lib/update.lib.php on line 127" so i've thought that their was a similar failure.

    Thank you for helping, but its still not solved :-(
    Perhaps its an Bug from my mSQL Version (5.0.51a-24+lenny5)...
    Again and again, if I use ispconfig_update.sh or manualy download the tarball an execute "php -q update.php" the script backups my database (dbispconfig) and than it breaks:

    --------------------------------------------------------------------------------
    _____ ___________ _____ __ _ ____
    |_ _/ ___| ___ \ / __ \ / _(_) /__ \
    | | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ /
    | | `--. \ __/ | | / _ \| '_ \| _| |/ _` | |_ |
    _| |_/\__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \
    \___/\____/\_| \____/\___/|_| |_|_| |_|\__, | \____/
    __/ |
    |___/
    --------------------------------------------------------------------------------


    >> Update

    Operating System: Debian Lenny or compatible

    This application will update ISPConfig 3 on your server.
    Checking ISPConfig database .. OK
    Starting full database update.
    ERROR: Unable to create MySQL database: dbispconfig.


    1. I've used the repair Function at my restored dbispconfig Database - Msg= All OK.

    2./3. I've used the "howto setup a perfect Debian lenny" server in the passt und have also installed deny.hosts and greylisting via apt-get and if ispconfig wants an update, i've regulary execute apt-get update and apt-get upgrade or have installed the wanted components manualy. I remember that i've got a db user called ispconfig in the past, perhaps it was on the ispconfig 2 Version. I#m not sure. However in config.inc.php and in mysql_clientdb.conf are the same db user (root) and the same password und the same standard-called database: dbispconfig.

    Perhaps, can you give a little walktrough to do it by hand?

    greetz
    speedx
     
  9. till

    till Super Moderator Staff Member ISPConfig Developer

    The mysql user in the ispconfig config.inc.php file is always ispconfig, thats hardcoded in the installer, so it can never be root. If the user in your file is root, then the file must have been modified manually and this can cause updates to fail. Do you have any backups of the file with the correct login details for the user ispconfig?
     
  10. speedx

    speedx New Member

    Sorry I forgot to say that i've hardcoded the file - When I looked into the file I saw that there was the user ispconfig, but in mysql doesn't exist a user named ispconfig. So I thought that was a failure and I coded the config. It's no problem to restore the file, but with mysql root in the file it should go or why is it a problem?

    On the other side, what happend to the mysql user ispconfig? I'm very sure that i haven't delete him, but there is no user ispconfig. *Damn* there is no backup of the mysql user table...

    Will it be a good start to restore the config file and create a new mysql user named ispconfig for dbispconfig database?
     
  11. till

    till Super Moderator Staff Member ISPConfig Developer

    Yes, please try to create a new ispconfig user in mysql. Use the password from the postfix files as i described above. Then alo check if the dbispconfig database is there and if it contains the ispconfig tables. You can find a backup of the database in the root folder in case that the database is empty.
     
  12. speedx

    speedx New Member

    Hi Till!

    I've created the user ispconfig and startet again with the update after i have had restored parts of my system/files... but without success :-(

    I've decided to hardcode the update.php/update.lib.php... I commented out the DROP DATABASE IF EXISTS and CREATE DATABASE parts, than I executed the update - without any problems.

    After the update I logged into the webinterface.... perhaps it was a cache problem from Firefox - there weren't any icons. Titels, Subtitels, etc. were unformated. I used the update button for ispconfig 3 in the interface and rebooted the server. After reboot only the webserver seemd to be ok and the interface was fine. I thought to restore my server would be a better idea, but I've tried to click in every formular in the interface on the save button and now it is all ok.

    I don't know if it was a clever idea. But it was the "perfect setup" step by step and there weren't any changes to the system which avoid the function of an update.

    I will have an intensive look the next days and I will post any findings.
    If you have any questions or further ideas to prevent/solve problems let me know.

    Thank you for supporting me!
    greetz
    speedx
     
    Last edited: Nov 6, 2011
  13. gkoo

    gkoo New Member

    Hello all, i am facing the same issue as speedx.
    I have a live production server running version 3.0.2 and i'm trying to do the update to 3.0.4.

    I tried using the automated script, also the manual version and i get the same error every time:

    This application will update ISPConfig 3 on your server.
    Checking ISPConfig database .. OK
    Starting full database update.
    ERROR: Unable to create MySQL database: dbispconfig.

    What i've noticed is that before throwing out this error, the script somehow drops the whole database. After this error there is no dbispconfig database in mysql.I've also granted the ispconfig user full privileges on all databases in order for it to be able to recreate the database but still no luck.


    Any ideas on this ?
    Thanks a lot
     
    Last edited: Nov 7, 2011
  14. till

    till Super Moderator Staff Member ISPConfig Developer

    The "ispconfig" mysql user is not used during update. Please undo the permission changes that you did in mysql for this user. The updater only uses the mysql root user with the login details from the file /usr/local/ispconfig/server/lib/mysql_clientdb.conf. Maybe you changes the mysql root password without changing it in ispconfig which caused the update to fail?
     
  15. gkoo

    gkoo New Member

    thank you till for your quick answer. i've doublechecked the file u mentioned and the user/pass/host combination is right.

    any other thoughts ?

    i'm doing this upgrade in order to migrate the existing server to a new machine.
     
  16. till

    till Super Moderator Staff Member ISPConfig Developer

    1) Did you ever alter anything in the ispconfig database scheme since you installed ispconfig, e.g. added a table in the database or added column in one of the tables? This might cause a problem when the ispconfig installer tries to load the dump of the old database into the new database scheme.

    2) Restore the ispconfig mysql database, there should be a backup in the /root folder.

    2) Check that the the file /usr/local/ispconfig/server/lib/config.inc.php contains the correct login details for the ispconfig mysql user

    If 2) no, and you have backup of that file, restore it. If you dont have a backup, we will restore it from the template.
    If 2) yes, try to update to ispconfig 3.0.3.3 first, by downloading ispconfig 3.0.3.3 tar.gz file, unpack it and run the update.php script in the install directory.
     
  17. gkoo

    gkoo New Member

    Yes! your advices did the trick.
    I had to update first from 3.0.2 to 3.0.3.3 and then i could do the automated update to 3.0.4.

    I really appreciate your work and help. Keep it up.

    Vielen danke!
    GKoo
     

Share This Page