How to Update ISPConfig 3

The ISPConfig update script is a easy way to update a ISPConfig 3 installation. If you want to create a manual backup of ISPConfig, take a look at the instructions at the end of the article.

To update ISPConfig 3, login as root user on the shell of your server and run the command:

>> Update

Please choose the update method. For production systems select 'stable'.
The update from svn is only for development systems and may break your current setup.

Select update method (stable,svn) [stable]:

You should always select "stable" on a production system. The "svn" version is only suitable for ISPConfig 3 development.

The updater will then check the version of your system, download the latest update and starts the update process.

This application will update ISPConfig 3 on your server.

Shall the script create a ISPConfig backup in /var/backup/ now? (yes,no) [yes]:

You should choose "yes" here. This will create a backup of the ISPConfig scripts (/usr/local/ispconfig), the /etc directory and the ISPC0nfig MySQL database in the directory /var/backup/

Creating backup of "/usr/local/ispconfig" directory...
Creating backup of "/etc" directory...
Checking ISPConfig database .. OK
Starting incremental database update.

The update script will then start to install incremental database updates for ISPConfig, if required.

Reconfigure Permissions in master database? (yes,no) [no]:

If this is a slave server in a multiserver setup, then choose "yes" here on at least one of the slave servers. For single server installations, choose 'no'. Then you were asked if the services shall be reconfigured:

Reconfigure Services? (yes,no) [yes]:

You should choose "yes" here, only if you modified your system configuration manually, it might be better to choose no. But in this case, new features in ISPConfig might not work or functions might stop working until you adjusted the config files manually. So its always a good choice to select 'yes' here. In the next step, select the ispconfig port:

ISPConfig Port [8080]:

Port 8080 is the default, if you have not changed it, press enter. Otherwise enter the port number and then press enter. As the last step, you wre asked if the crontab shall get reconfigured, you can select yes here by just pressing return.

Create new ISPConfig SSL certificate (yes,no) [no]:

If your SSL certificate for the ISPConfig interface has been expired and you want to renew it or if you want to enable SSL encryption for the ISPConfig interface, then choose "yes". If you dont need a new SSL certificate, take the default (no).

Reconfigure Crontab? (yes,no) [yes]:

The ISPConfig updater will then update the ispconfig files and restart services, if the configuration has been changed.

Backup before updates

(This backup procedure is now integrated into the ISPConfig updater and gets executed automatically when you choose to create a backup during update)

Before you update a software, it is always a good idea to backup all relevant data. This enables you to restore the software version that you had before in case of an error. The steps to create a backup of the ispconfig software and settings are:

Create a backup folder:

mkdir /home/backup
chmod 700 /home/backup
cd /home/backup

Backup the database

mysqldump -u root -p dbispconfig > dbispconfig.sql

Backup the ISPConfig software

tar pcfz ispconfig_software.tar.gz /usr/local/ispconfig

Backup the configuration files in /etc

tar pcfz etc.tar.gz /etc

This backup does not include the emails and website data.


57 thoughts on “How to Update ISPConfig 3”

    1. You probably wanted to say that
      mysqldump -u root -p dbispconfig > dbispconfig.sql
      in the text above ist with a html > (>)
      while it should show the corresponding > (greater than) sign to symbolize that the output should be postet to the file dbispconfig.sql…

      1. However in the comments the > got converted into a > 😉 funny stuff if you can’t properly code a comment form on faqforge.
        try to htmlencode that stuff… and ignore html code here please.

    1. The SQL dump can be restored with e.g. phpmyadmin. The tar backup can be extracted with “tar pcfz backupfile.tar.gz” and then copy or move the complete directory tree or the files that you need back to their original location.

  1. HI, I have Fedora 5, and I have installed ISPConfig 2, you can upgrade to the 3.0 version of ISPConfig .. I await your response.

  2. ISPConfig 2 and 3 are completely different software packages. ISPConfig 2 can not be updated to ISPConfig 3.

  3. I am still getting errors when entering the port number. ISPConfig Port [8080]:

    Any help if my port is a different one that “standard?” We had it in a lab doing some testing and I dont know who did what to it. Cheers

  4. This artical should start with the “Backup before updates” part.. 😉

    Better for the beginners to know you alway backup first.

  5. Upgrade from to 3.0.3 went good for me with the “” command.
    Using Debian (Leny) provided by OVH Kimsufi.
    Only things is I have now to login through HTTP instead of HTTPS.

  6. Put the backup instructions on top of the document, I notices the backup advice after the backup script did run.
    Luckily successfully.

  7. The backup in the doc does not include emails and website database backups

    the following is for the emails; tar pcfz vmail.tar.gz /var/vmail/
    I need to backup website database, We are moving everything to a new server with a new installation.

    1. These backup intructions are for a backup that contains all data that gets overwritten by a ispconfig update, it is not meant as a full server backup.

    1. ISPConfig 2 and 3 are completely different software packages which have different system requirements. ISPConfig 2 is based on linux system users while ISPConfig 3 uses virtual users for Email and FTP. So ISPConfig 2 can not be updated to ISPConfig 3.

  8. Hello,
    we have 1 server in master and some other server in slave config. They run 3.0.1 and 3.0.2 . Should we upgrade the master, will it be necessary to upgrade also the slaves? And would the procedure be the same you described above with same script?


  9. hi …
    i have installed ISPconfig … when i try to update it to with i get this response : “This software cannot be installed on a server wich runs ISPConfig 2.x.” … !!!
    any help anyone ?

    1. I guess you use one of the ispconfig 2 install folders on your server. Ensure that there is no folder /home/admispconfig or /root/ispconfig on your system.

  10. Hi, i have this errors, why ? update for, Debian Lenny

    Operating System: Debian Lenny or compatible

    This application will update ISPConfig 3 on your server.

    Warning: mysql_connect(): Access denied for user ‘root’@’localhost’ (using password: YES) in /tmp/ispconfig3_install/install/lib/mysql.lib.php on line 78

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

    1. You use the wrong mysql root password. Most likely you changed the root password after you installed ispconfig without chaning it in /usr/local/ispconfig/lib/mysql_clientdb.conf file too.

  11. i had installed ispconfig 3 and the mail pop and smtp is showing turned off and phpmyadmin not getting installed.. can some one help. we have a centos 5.5

  12. I backed up the server as per the instructions given in the main article. I now have the following files in my /home/backup folder:-

    -rw-r–r– 1 root root 203424 Oct 9 12:35 dbispconfig.sql
    -rw-r–r– 1 root root 1163693 Oct 9 12:35 etc.tar.gz
    -rw-r–r– 1 root root 2760087 Oct 9 12:35 ispconfig_software.tar.gz
    -rw-r–r– 1 root root 77090 Oct 9 12:36 vmail.tar.gz

    I have lately messed up with file and folder permissions and ownership on the server’s root with recursive option. Would a restore of these files get the server functional again?

    How do i go about restoring these files? and where do I restore them.


    1. The backup contains only the ispconfig files, database and the files from /etc/. Backups that you create with tar pcfz can be unpacked with tar xfz filename.tar.gz

  13. I’m running on a production server with many clients and Domains.
    I would like to try out the new features like Invoice and such but am not in the mood for any f-ups and down time that might happen with an update. I know I need to backup first but I was just wondering what the error quota is on updating to 3.0.4? Can I do this this quickly and smoothly w/o probs or should I just never change a running system?
    Any pitfalls to look out for?

    Sanks ferry matsch :)

  14. For Ubuntu 10.04
    Apache/2.2.14 (Ubuntu)
    MySQL client version: 5.1.61

    Note: If you have a password with a $ in it then specify that in the password text like this:
    “MyPa$$word” would become “MyPa\$\$word”. Otherwise it fails.

    Also, mysql has a virtual db called “information_schema” – mysqldump wil not work on this so change the code in the backup script from this:

    Ad a variable in the user vars section:
    mschema = “information_schema”

    Line 311–
    Change this:
    log “Starting mysqldump $i”
    `mysqldump -u$dbuser -p$dbpassword $i –allow-keywords –comments=false –add-drop-table > $tmpdir/db-$i-$FDATE.sql`
    $TAR $ARG $BACKUPDIR/$MDATE/db-$i-$FDATE.tar.bz2 -C $tmpdir db-$i-$FDATE.sql
    rm -rf $tmpdir/db-$i-$FDATE.sql
    log “Dump OK. $i database saved OK!”
    to this::
    log “Starting mysqldump $i”
    if [ “$i” != “$mschema” ] ; then
    `mysqldump -u$dbuser -p$dbpassword $i –allow-keywords –comments=false –add-drop-table > $tmpdir/db-$i-$FDATE.sql`
    $TAR $ARG $BACKUPDIR/$MDATE/db-$i-$FDATE.tar.bz2 -C $tmpdir db-$i-$FDATE.sql
    rm -rf $tmpdir/db-$i-$FDATE.sql
    log “Dump OK. $i database saved OK!”

  15. Update didn’t work good from 3.0.2 to 3.0.4. Users couldn’t get their emails, because the users were unknown. Websites worked. What did I do wrong? Where do I get the 3.0.3 version? I just entered the standard settings above in FAQ.

  16. Klasse!
    Das Update funktioniert problemlos. (Debian6)
    Im Terminal “” eingeben, die Fragen sorgfältig abarbeiten, – das war’s.
    Und die Erstellung von SSL-Zertifikaten ist in das Update-Script auch gleich mit eingearbeitet.
    Alles in Allem eine halbe Stunde Arbeit. – Ein richtig gutes Update-Script. – Respekt.

    1. Yes, the updater has been executed on both servers. You sgould start on the master and choose to update permissions in master server when the updater asks.

  17. When try to upgrade to ISPConfig beta following this post:

    PHP Parse error: syntax error, unexpected ‘[‘ in /usr/local/ispconfig/server/plugins-available/ on line 253

    My System;

    Debian GNU/Linux 7.1

    mongod version v2.4.6 – Thu Mar 27 01:13:17.570 git version: b9925db5eac369d77a3a5f5d98a145eaaacd9673

    PHP 5.3.3-7+squeeze14 with Suhosin-Patch (cli) (built: Aug 6 2012 14:18:06)
    Copyright (c) 1997-2009 The PHP Group
    Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
    with XCache v1.3.0, Copyright (c) 2005-2009, by mOo
    with Suhosin v0.9.32.1, Copyright (c) 2007-2010, by SektionEins GmbH

  18. I have 2 ISPCpnfig running servers.
    I can not update to the latest release.

    PHP Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION in /tmp/ispconfig3_install/install/dist/lib/fedora.lib.php on line 247

    I get this on both of them.

  19. I just make last update. Worked fine until I do not restart server. After that no ISPconfig3 working and Squirrelmail as well. All other function of my email server, DNS, Nginx, Apache works…. Just cannot reach ISPConfig and Squirremail

    Anybody help me please.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>