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.

86 thoughts on “How to Update ISPConfig 3”

    • 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. 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

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

    Better for the beginners to know you alway backup first.

  4. 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.

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

  6. 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.

    • 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.

    • 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.

  7. 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?


  8. 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 ?

    • 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.

  9. 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

  10. 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

  11. 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.


  12. 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 🙂

  13. 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!”

  14. 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.

  15. 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.

  16. 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

  17. 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.

  18. 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.

  19. My update at my master ISPCONFIG 3 server stops at /etc auto backup. There´s plenty disk space yet and I dunno why it doesn´t update. All of my slaves are updated without any problems. Debian Wheezy here. :/

    • Though that should also mention:
      This Version:

      Upgrading to:
      New Version :

      Operating System: Debian 7.0 (Wheezy/Sid) or compatible

      This application will update ISPConfig 3 on your server.

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

      Creating backup of “/usr/local/ispconfig” directory…
      Creating backup of “/etc” directory…
      [email protected]:/#

      It quits just like that. no error no log no nothing.

  20. Before I embark on this, does the update mess with the php version(s) at all? I have one site that still clunking along on php5.2, which I had to add manually (with much difficulty) and I do NOT want to upset that apple cart. I can’t upgrade it because the crappy software used isn’t compatible, but the client won’t switch. Thanks!

  21. Hi,

    I got these error lines end of update:

    /usr/local/ispconfig/server/scripts/ line 21: -d: command not found
    /usr/local/ispconfig/server/scripts/ line 26: syntax error near unexpected token `else’
    /usr/local/ispconfig/server/scripts/ line 26: `else’
    /usr/local/bin/ line 4: -d: command not found

  22. I have a multiserver ispconfig (two mailservers, two webservers), all at debian 7 with apache and php 5.4 (whole configuration has been inherited from previous company). I would like to upgrade to 3.1, than install 3rd webserver with php 7 (debian 8). What upgrade scenario do you prefer. Will this be able to work alltogether?

  23. I ran the update script and now my jobqueue is stalled. Cron doesn’t seem to be working anymore. I didn’t update cron when it did the update. Should I?

  24. I got an error here:

    Restarting services …
    PHP Warning: mysqli_connect(): Headers and client library minor version mismatch. Headers:50553 Library:100030 in /tmp/ on line 204
    Update finished.

    However things seem to be working ok so far. I don’t know if it’s a major issue or not.
    I’m on Debian 8.1 x64.

  25. After many, many search cannot find how to simply restore ispconfig from backup? I updated and after update all WordPress sites show 500 error and PHP-FM apparently no longer working correctly.

    Just need to restore back I made so can at least get sites back online.

    Please help:), thanks!


    • An ISPConfig update does not alter the vhost or PHP config of existing sites, so it is very unlikely that your problem is related to an ISPConfig update and therefore a restore of the previous version will not fix it. Go to the ISPConfig forum at howtoforge and post your issue there to get help. A 5oo PHP error indicates a problem in the PHP code of that website and you can see the reason for the error in the error.og of the site. Beside that, an ISPConfig backup is restored by unpacking the tar.gz file and copying it#s cntent back to the original place, in this case /usr/local/ispconfig.

      • Thank you for reply.

        All I know is immediately after the update all sites started displaying 500 error with no changes to them. Perhaps I did something wrong during the update? since I have php7 installed maybe that is were I went wrong.

          • Was not asking for help, was only stating that the issue happened after following the instructions here:)

            If I could ask one more related question for future reference, please:

            I followed the instructions above to the tee. On step “Reconfigure Services? (yes,no) [yes]:” I answered yes. Since system has PHP7 is there something else I should do?

            Reason I ask, is just reinstalled PHP7 and sites started working. Thinking maybe not fully understanding the procedure.

            Thanks again for your input.

          • Your problem is not related to the ISPConfig update, it is just a timely coincidence, that’s all. You probably installed Linux updates as well before and these broke your custom PHP version by exchanging some libraries. You recognized that at the time you updated ISPConfig as the ISPConfig updater restarts Apache. So there is nothing wrong with the above update procedure and your problem is not related to the ISPConfig update, it was caused by a Linux system update. Recompiling PHHP fixed it because the newly compiled PHP uses the new Linux Libraries.

  26. Could i suggest to add /var/www/conf in backup ?
    there’s were php.ini custom directives by account are stored, and it’s seems thats not in the any backup above.

  27. ispconfig3_install/TODO.txt
    PHP Notice: Use of undefined constant E_STRICT – assumed ‘E_STRICT’ in /tmp/ispconfig3_install/install/update.php on line 59
    PHP Notice: Use of undefined constant E_STRICT – assumed ‘E_STRICT’ in /tmp/ispconfig3_install/install/lib/install.lib.php on line 30
    PHP Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or ‘}’ in /tmp/ispconfig3_install/install/lib/update.lib.php on line 32

    There is a new Version of ISPConfig 3 available!
    This Version:
    New Version : 3.1.12

    • There is no syntax error in ISPConfig 3.1.12 in the update.lib.php file. My guess is that you have a copy of a different ISPConfig version in /tmp/ispconfig3_install folder. Delete the folder /tmp/ispconfig3_install and then try to update again. If you need further help, please post in the ISPConfig support forum at

  28. Hi, for people that need a good backup:
    1) Make a VM with virtual box or vmware
    2) Install a new server
    3) Update
    4) Install ISPconfig
    5) Take a snapshot or clone/copy de machine
    6) Add domains, clients, ….
    7) If all work perfect, repeat 5)

    When a new version is avaiable, repeat step 5)

    If you have any problem, delete de new one… use the complete backup.

    Thanks for ISP contribution!!

    • Courier has not been tested in 3.2, though the code is still there and might work. I recommend that you change your system to dovecot before upgrading to ISPConfig 3.2. there are threads on how to change a courier setup to dovecot in the ISPConfig forum at


Leave a Comment