Updating ISPConfig 3.1 to ISPConfig 3.2

This tutorial explains the steps to update an ISPConfig 3.1 server to ISPConfig 3.2. This tutorial is compatible with the operating systems CentOS, Debian and Ubuntu.

Please see ISPConfig 3.2 release notes for a list of new features and additional information on ISPConfig 3.2 release.

Check ISPConfig 3.2 system Requirements

ISPConfig 3.2 is compatible with the following operating system versions:

  • CentOS 7
  • CentOS 8
  • Debian 9
  • Debian 10
  • Ubuntu 16.04 LTS
  • Ubuntu 18.04 LTS
  • Ubuntu 20.04 LTS

Does ISPConfig 3.2 work on older OS?

It might be that it works if the installed default PHP version is min. PHP 5.4. We did not test older versions and you might have to adjust config files manually when they contain settings that are not supported by old software versions that might be in use on a non-supported os.

Install new software dependencies

Some of the features in ISPConfig 3.2 require additional software. This software should be installed before you start the update.

For Debian and Ubuntu

sudo apt-get install bzip2 p7zip-full xz-utils lzip rar unrar-free goaccess dovecot-lmtpd

Note: The rar and unrar-free packages is not available on ARM architecture. This means that the rar mode for website backups won't work, other functions are not affected.

For CentOS 7

sudo yum -y install ncurses-devel gcc geoip-devel tokyocabinet-devel lbzip2 p7zip xz-libs lzip
cd /tmp
wget http://tar.goaccess.io/goaccess-1.4.tar.gz
tar xfz goaccess-1.4.tar.gz
cd goaccess-1.4
sudo ./configure --enable-utf8 --enable-geoip=legacy
sudo make
sudo make install
sudo ln -s /usr/local/bin/goaccess /usr/bin/goaccess

For CentOS 8

dnf install ncurses-devel gcc geoip-devel tokyocabinet-devel lbzip2 p7zip p7zip-plugins xz-libs lzip
cd /tmp
wget http://tar.goaccess.io/goaccess-1.4.tar.gz
tar xfz goaccess-1.4.tar.gz
cd goaccess-1.4
sudo ./configure --enable-utf8 --enable-geoip=legacy
sudo make
sudo make install
sudo ln -s /usr/local/bin/goaccess /usr/bin/goaccess

CentOS 7 and 8

There is no free rar package for CentOS on centOS or Epel repository, only a trial version from rarlab. If you want to install it nonetheless, here are the installation steps. Rar is optional and only used as archive option for website backups. When you do not install it, then just rar as a backup format option will not work.

cd /tmp
wget https://www.rarlab.com/rar/rarlinux-x64-5.9.1.tar.gz
tar -zxvf rarlinux-x64-5.9.1.tar.gz
cd rar
sudo cp -v rar unrar /usr/local/bin/

Check for custom configuration file templates

ISPConfig supports custom configuration file templates that are stored in the folder /usr/local/ispconfig/server/conf-custom/. If you created any config templates there, then it's likely that they are not compatible with ISPConfig 3.2. Either remove them (recommended) or create new ones based on the configuration files that ship with ISPConfig 3.2.

You can check if there are custom config files with these commands:

ls -la /usr/local/ispconfig/server/conf-custom/

If the result is like this, then you don't have any custom config file templates:

[root@server1 tmp]# ls -la /usr/local/ispconfig/server/conf-custom/
total 8
drwxr-x---.  6 root root   76 Oct  1 00:02 .
drwxr-x---. 13 root root 4096 Oct  1 00:02 ..
-rwxr-x---.  1 root root   45 Oct  1 00:02 empty.dir
drwxr-x---.  2 root root   23 Oct  1 00:02 error
drwxr-x---.  2 root root   23 Oct  1 00:02 index
drwxr-x---.  2 root root   23 Oct  1 00:02 install
drwxr-x---.  2 root root   23 Oct  1 00:02 mail

So there is nothing to do in this case.

Next, check the install folder:

ls -la /usr/local/ispconfig/server/conf-custom/install/

The following result shows and empty folder without any custom templates:

[root@server1 tmp]# ls -la /usr/local/ispconfig/server/conf-custom/install/
total 4
drwxr-x---. 2 root root 23 Oct  1 00:02 .
drwxr-x---. 6 root root 76 Oct  1 00:02 ..
-rwxr-x---. 1 root root 45 Oct  1 00:02 empty.dir

So no custom templates here that need to be removed or adjusted.

Let's Encrypt for ISPConfig port 8080, Postfix, Dovecot and pure-ftpd

If you have manually configured a Let's Encrypt certificate for the ISPConfig vhost and services like postfix, dovecot, and pure-ftpd, then this might conflict with the new Let#s encrypt functionality that ISPConfig provides for these services. Either keep your old let#s encrypt setup by choosing 'no' when the ISPConfig Updater asks if it shall recreate the SSL Cert, or take care to remove any custom Let's encrypt renewal scripts that you might have installed which might interfere with the new function in ISPConfig.

Update ISPConfig 3.1 to 3.2

Now we can start the update process. The update needs to be run as root user, for Debian, use:

su -

to become root user.

For CentOS and Ubuntu, use:

sudo -s

to become root.

Then the ISPConfig update is started with the command:

ispconfig_update.sh

Choose "stable" as the update source in the dialog that appears on the screen:

ISPConfig stable update

Note: the available update options differ, depending on your old ISPConfig version. But there is always an option named stable.

The update process will ask a few questions, which are shown below. I've highlighted the recommended answers in red.

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


>> Update

Operating System: Ubuntu 20.04.1 LTS (Focal Fossa)

This application will update ISPConfig 3 on your server.

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

Creating backup of "/usr/local/ispconfig" directory...
Creating backup of "/etc" directory...
Checking ISPConfig database .. OK
Starting incremental database update.
Loading SQL patch file: /tmp/ispconfig3_install/install/sql/incremental/upd_dev_collection.sql
Reconfigure Permissions in master database? (yes,no) [no]: <-- On multiserver systems, choose yes, on single server systems, choose no.

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

Configuring Postfix
Configuring Dovecot
Configuring Mailman
Configuring Spamassassin
Configuring Amavisd
Configuring Getmail
Configuring BIND
Configuring Pureftpd
Configuring Apache
Configuring vlogger
Configuring Apps vhost
Configuring Jailkit
Configuring Ubuntu Firewall
Configuring Database
Updating ISPConfig
ISPConfig Port [8080]: <-- just hit return to accept the default

Create new ISPConfig SSL certificate (yes,no) [no]: <-- Choose no to keep existing SSL cert, choose yes to create new SSL cert or switch from self-signed to a Let's encrypt SSL certificate.

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

Updating Crontab
Restarting services ...
Update finished.

Don't worry when you see some other "Configuring ..." lines, the actual result depends on the software setup of your server.

Need help with the update?

If you need any help with the update, if you have any additional questions on the update process or if you encounter issues after you updated your system, then please make a post that describes your issue in the ISPConfig support forum here at howtoforge:

https://www.howtoforge.com/community/forums/installation-configuration.27/

Please do not use the comment function below this article for individual support questions.

Something went completely wrong and you want to revert to the previous setup?

The ISPConfig updater creates a backup of the whole /etc directory (so all of your config files), the directory /usr/local/ispconfig (the whole previous ISPConfig installation) and the ISPConfig dbispconfig MySQL/MariaDB database. The backup can be found in the folder /var/backup/ there is a sub folder starting with 'ispconfi_' plus server hostname and date of the update. Example:

[root@server1 ~]# ls /var/backup/
ispconfig_server1.example.com_2020-10-15_19-38

This folder contains the file backups as tar.gz files and a SQL dump:

[root@server1 ~]# ls /var/backup/ispconfig_server1.example.com_2020-10-15_19-38/
etc.tar.gz  ispconfig_db_backup.sql  ispconfig_software.tar.gz

Share this page:

24 Comment(s)