Problem updating from 3.0.3.3 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.3 to 3.0.4 i get the following :


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


    >> Update

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

    PHP Notice: Undefined variable: conf in /tmp/ispconfig3_install/install/update.php on line 76
    Unable to resolve hostname
     
  2. till

    till Super Moderator

    1) Did you run the ispconfig update command as root user?

    2) Please post the output of:

    ls -la /usr/local/ispconfig/server/lib/config.inc.php

    and the output of:

    hostname -f
     
  3. hoenes

    hoenes New Member

    Yes, i did run the update as root.

    Here is the output of ls -la /usr/local/ispconfig/server/lib/config.inc.php :

    -rw------- 1 root root 0 Nov 4 10:36 /usr/local/ispconfig/server/lib/config.inc .php


    hostname -f :
    web1.concept.local
     
  4. till

    till Super Moderator

    Ok. Seems as if the ispconfig configuration file is empty. Please post the output of:

    ls -la /usr/local/ispconfig/interface/lib/config.inc .php
     
  5. till

    till Super Moderator

    1) How did you start the update?
    2) Have you executed the updater as root user (sudo will not work)?
    3) Is apparmor or selinux enabled on your server?
     
  6. hoenes

    hoenes New Member

    root@web1:~# ls -la /usr/local/ispconfig/interface/lib/config.inc.php

    -rwxr-x--- 1 ispconfig ispconfig 0 Nov 4 10:36 /usr/local/ispconfig/interface/lib/config.inc.php

    root@web1:~#
     
  7. till

    till Super Moderator

    Please try to answer my questions from #5 too.
     
  8. hoenes

    hoenes New Member

    1) ispconfig_update.sh
    2) i am logged in as root
    3) no
     
  9. till

    till Super Moderator

    Ok. The two ISPConfig files are empty, so the installer could not connect to the mysql database. Here the instructions on how to restore them.

    Open the file /etc/postfix/mysql-virtual_client.cf with a editor. Inside of that file you find a mysql database name, password and a username (most likely the username is ispconfig). We need these three values.

    Now open the files

    /usr/local/ispconfig/interface/lib/config.inc.php

    and

    /usr/local/ispconfig/server/lib/config.inc.php

    and insert the following content:

    Code:
    <?php
    /*
    Copyright (c) 2007 - 2010, Till Brehm, projektfarm Gmbh
    All rights reserved.
    
    Redistribution and use in source and binary forms, with or without modification,
    are permitted provided that the following conditions are met:
    
        * Redistributions of source code must retain the above copyright notice,
          this list of conditions and the following disclaimer.
        * Redistributions in binary form must reproduce the above copyright notice,
          this list of conditions and the following disclaimer in the documentation
          and/or other materials provided with the distribution.
        * Neither the name of ISPConfig nor the names of its contributors
          may be used to endorse or promote products derived from this software without
          specific prior written permission.
    
    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
    IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
    INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
    BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
    OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
    NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
    EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    */
    
    //** Web-only
    if( !empty($_SERVER['DOCUMENT_ROOT']) ) {
    
    	Header("Pragma: no-cache");
    	Header("Cache-Control: no-store, no-cache, max-age=0, must-revalidate");
    	Header("Content-Type: text/html; charset=utf-8");
    	
    	//** Set a few php.ini values
    	ini_set('register_globals',0);
    	ini_set('magic_quotes_gpc', 0);
    	
    	if (isset($_REQUEST['GLOBALS']) || isset($_FILES['GLOBALS']) || isset($_REQUEST['s']) || isset($_REQUEST['s_old']) || isset($_REQUEST['conf'])) {
    		die('Internal Error: var override attempt detected');
    		exit;
    	}
    }
    
    //** Set a few php.ini values
    if(get_magic_quotes_runtime()) set_magic_quotes_runtime(false);
    if(isset($app)) unset($app);
    if(isset($conf)) unset($conf);
    
    
    //** SVN Revision
    $svn_revision = '$Revision: 2726 $';
    $revision = str_replace(array('Revision:','$',' '), '', $svn_revision);
    
    //** Application
    define('ISPC_APP_TITLE', 'ISPConfig');
    define('ISPC_APP_VERSION', '3.0.4');
    define('DEVSYSTEM', 0);
    
    
    //** Database
    $conf['db_type'] = 'mysql';
    $conf['db_host'] = 'localhost';
    $conf['db_database'] = '{mysql_server_database}';
    $conf['db_user'] = '{mysql_server_ispconfig_user}';
    $conf['db_password'] = '{mysql_server_ispconfig_password}';
    $conf['db_charset'] = 'utf8'; // same charset as html-charset - (HTML --> MYSQL: "utf-8" --> "utf8", "iso-8859-1" --> "latin1")
    $conf['db_new_link'] = false;
    $conf['db_client_flags'] = 0;
    
    define('DB_TYPE',$conf['db_type']);
    define('DB_HOST',$conf['db_host']);
    define('DB_DATABASE',$conf['db_database']);
    define('DB_USER',$conf['db_user']);
    define('DB_PASSWORD',$conf['db_password']);
    define('DB_CHARSET',$conf['db_charset']);
    
    
    //** Database settings for the master DB. This setting is only used in multiserver setups
    $conf['dbmaster_type']			= 'mysql';
    $conf['dbmaster_host']			= '';
    $conf['dbmaster_database']		= '';
    $conf['dbmaster_user']			= '';
    $conf['dbmaster_password']		= '';
    $conf['dbmaster_new_link'] 		= false;
    $conf['dbmaster_client_flags'] 	= 0;
    
    
    //** Paths
    $conf['ispconfig_log_dir'] = '/var/log/ispconfig';
    define('ISPC_ROOT_PATH', realpath(dirname(__FILE__).'/../')); // Main ROOT is the parent directory to this file, ie interface/ or server/. NO trailing slashes.
    define('ISPC_LIB_PATH', ISPC_ROOT_PATH.'/lib');
    define('ISPC_CLASS_PATH', ISPC_ROOT_PATH.'/lib/classes');
    define('ISPC_WEB_PATH', ISPC_ROOT_PATH.'/web');
    define('ISPC_THEMES_PATH', ISPC_ROOT_PATH.'/web/themes');
    define('ISPC_WEB_TEMP_PATH', ISPC_WEB_PATH.'/temp'); // Path for downloads, accessible via browser
    define('ISPC_CACHE_PATH', ISPC_ROOT_PATH.'/cache');
    define('ISPC_LOG_PATH', $conf['ispconfig_log_dir']);
    
    //** Paths (Do not change!)
    $conf['rootpath'] = substr(dirname(__FILE__),0,-4);
    $conf['fs_div'] = '/'; // File system separator, "\\" on Windows and "/" on Linux and UNIX
    $conf['classpath'] = $conf['rootpath'].$conf['fs_div'].'lib'.$conf['fs_div'].'classes';
    $conf['temppath'] = $conf['rootpath'].$conf['fs_div'].'temp';
    $conf['logpath'] = ISPC_LOG_PATH; // Actually just a copy of $conf['ispconfig_log_dir'], might be removed in a later version
    
    define('FS_DIV',$conf['fs_div']);
    define('SERVER_ROOT',$conf['rootpath']);
    define('INCLUDE_ROOT',SERVER_ROOT.FS_DIV.'lib');
    define('CLASSES_ROOT',INCLUDE_ROOT.FS_DIV.'classes');
    
    
    //** Server
    $conf['app_title'] = ISPC_APP_TITLE;
    $conf['app_version'] = ISPC_APP_VERSION;
    $conf['app_link'] = 'http://www.ispconfig.org/';
    $conf['modules_available'] = 'dashboard,admin,mail,sites,monitor,client,dns,help';
    $conf['server_id'] = '{server_id}';
    $conf['init_scripts'] = '/etc/init.d';
    
    
    //** Interface
    $conf['interface_modules_enabled'] = 'dashboard,mail,sites,dns,tools,help';
    
    //** Demo mode
    /* The demo mode is an option to restrict certain actions in the interface like 
    *  changing the password of users with sys_userid < 3 etc. to be 
    *  able to run the ISPConfig interface as online demo. It does not
    *  affect the server part. The demo mode should be always set to false
    *  on every normal installation
    */
    $conf['demo_mode'] = false;
    
    
    //** Logging
    $conf['log_file'] = $conf['ispconfig_log_dir'].$conf['fs_div'].'ispconfig.log';
    $conf['log_priority'] = {ispconfig_log_priority}; // 0 = Debug, 1 = Warning, 2 = Error
    
    
    //** Allow software package installations
    $conf['software_updates_enabled'] = false;
    
    
    //** Themes
    $conf['theme'] = 'default';
    $conf['html_content_encoding'] = 'utf-8'; // example: utf-8, iso-8859-1, ...
    $conf['logo'] = 'themes/default/images/ispc_logo.png';
    
    //** Default Language
    $conf['language'] = '{language}';
    $conf['debug_language'] = false;
    
    
    //** Misc.
    $conf['interface_logout_url'] = ''; // example: http://www.domain.tld/
    
    
    //** Auto Load Modules
    $conf['start_db'] = true;
    $conf['start_session'] = true;
    
    //** Constants
    define('LOGLEVEL_DEBUG',0);
    define('LOGLEVEL_WARN',1);
    define('LOGLEVEL_ERROR',2);
    
    //** include a local config-file if there is one
    //** IMPORTANT!!!
    //** DO NOT MAKE A COPY OF THIS FILE AS LOCAL CONFIG-FILE
    //** USE A EMPTY FILE AND ONLY COPY THE SETTINGS IN IT, YOU NEED TO OVERRIDE
    if (is_file(dirname(__FILE__) . '/config.inc.local.php')) include_once 'config.inc.local.php';
    ?>
    In the file you find 3 lines with placeholders:

    $conf['db_database'] = '{mysql_server_database}';
    $conf['db_user'] = '{mysql_server_ispconfig_user}';
    $conf['db_password'] = '{mysql_server_ispconfig_password}';

    REplace {mysql_server_database} with the database name, {mysql_server_ispconfig_user} with the username and {mysql_server_ispconfig_password} with the password. The lines should look then similar to this:

    $conf['db_database'] = 'dbispconfig';
    $conf['db_user'] = 'ispconfig';
    $conf['db_password'] = 'cefcv46x6sx64jvc46sjr54xvw6';

    Now after we restored the config files, try the update again by following these instructions:

    Code:
    cd /tmp
    wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
    tar xvfz ISPConfig-3-stable.tar.gz
    cd ispconfig3_install/install
    php -q update.php
     
    Last edited: Nov 4, 2011
  10. hoenes

    hoenes New Member

  11. till

    till Super Moderator

    The forum software shortened the path. Plese use:

    Code:
    wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
     
  12. hoenes

    hoenes New Member

    :)

    Server is now running on 3.0.4

    Thanks - now i just need to solve the problem on my master server.
     

Share This Page