How to Update ISPConfig 3

The ISPConfig update script is an easy way to update an ISPConfig 3 installation. If you want to make a manual backup of ISPConfig, see the instructions at the end of the article. This tutorial applies to ISPConfig 3.0, ISPConfig 3.1, and also ISPConfig 3.2.

To update ISPConfig 3, log in as root user on your server's shell and run the command:

ispconfig_update.sh

If you want to force an update in case your current version is the same, use --force option.

ispconfig_update.sh --force

For Multiserver setups, it is recommended to enable maintenance mode under System > Interface > Main config in ISPConfig to avoid other users doing changes in ISPConfig while the nodes of the multiserver setup are not in sync.

In the case of a Multiserver setup, update the master server first and then the slave servers.

The update process in detail

ispconfig_update.sh

> 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 process is now integrated in the ISPConfig updater and will be executed automatically if you want to create a backup during the update).

Before you update software, it is always a good idea to backup all relevant data. This way you can restore the previous software version in case of an error. How to create a backup copy of the ispconfig software and settings:

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.