Zend Server 2020.0.0 for IBM i

New Distribution Mechanism for Zend Server

Zend Server for IBM i 2020 is the first 64-bit version of Zend Server for IBM i, and is the first distributed and installed as an RPM (Redhat Package Manager) package.

Beginning with version 2020.0.0, Zend Server for IBM i is no longer delivered as an IBM i Licensed Program (LP) via RSTLICPGM, nor is it updated using PTF (LODPTF/APYPTF) commands. It will not appear in the Installed Licensed Program displays.

yum is the RPM installer used to install, maintain, and remove the Zend Server package, in keeping with IBM’s move toward the RPM distribution model for open source languages and other tools.

There is no direct upgrade path to Zend Server 2020 from a previous version; however, you are able to run Zend Server 2020 in parallel with both Zend Server 2019.0.x (including Zend Server 9.1.x and Zend Server 2018.0.x) and Zend Server 8.5.x.

While the software is installed via yum, there remains an IBM i library and subsystem, and 5250 menus. The IFS objects reside in the /usr/local/zendphp74/ and /www/local/zendphp74 file structures.

If you have not used RPMs on your system before, first-time installation of Zend Server 2020 may seem a bit involved; however, updates are even easier than they were with PTFs.

Preparing for Installation: Set up Open Source Package Management

We recommend customers use the IBM Open Source Package Management utility to install Zend Server 2020. This is a feature of ACS (IBM i Access Client Solutions). If the utilities are already set up, you can skip to the next section. If not, you need do this setup once.

To get started with Open Source Package Management in ACS, please follow the instructions at this link:


This will install yum and several other Open Source utilities.

Preparing for Installation: Set up your home directory

If your HOME directory is not already set up, you need to do this setup once. If already set up, you can skip to the next section.

In this example, we assume your HOME directory has never been set up. We also assume you want to keep yum and other utilities installed with IBM Open Source Package Management.

There may already be a home directory defined for the User Profile, but the directory itself may not exist. To learn the directory name, sign in to a PASE shell. You can do this by logging into a 5250 session and then issuing this command:

===> call qp2term

This should bring you into the PASE shell. Use the following command to discover your home directory name (note that 'HOME' must be ALL CAPS):

===> env HOME

The home directory output should look like this:

> env HOME /home/USERNAME $

If you see the message "env: 'HOME': No such file or directory," you may be running bash, and you should use DSPUSRPRF USRPRF(USERNAME) to check the "Home directory" attribute. If you need to run a previous command again, you can use F9 for command history, just like on a regular 5250 command line.

Please replace ‘USERNAME’ with the actual username for all of the following commands:

In the PASE shell, check to see if your home directory exists:

===> ls -al /home/USERNAME

If the home directory doesn’t exist, you will see a message similar to this:

> ls -al /home/USERNAME ls: 0653-341 The file /home/USERNAME does not exist. $

If the home directory doesn’t exist, use the mkdir command to create it:

===> mkdir /home/USERNAME

Check again to verify it exists:

> ls -al /home/USERNAME total 32 drwxrwsrwx 2 username 0 8192 Sep 22 11:07 . drwxrwsrwx 4 qsys 0 8192 Sep 22 11:07 .. $

Preparing for Installation: Set up your PATH and .profile

PASE needs to know where to find yum and other open source commands. To avoid having to adjust your PATH environment variable every time you log in to PASE, create a file named .profile in your HOME directory. If you already have a .profile in your HOME directory, please check its contents against the PATH settings in this section.

If .profile file does not exist in your HOME, or you just created your HOME directory, you can use the echo command with a redirect to create the .profile file and add the appropriate PATH environment variable. This way you can use yum and other commands installed with Open Source Package Management without always having to type in the environment PATH after entering PASE shell.

You can copy and paste the following command into your PASE terminal, changing USERNAME to be your actual user name, as shown in the "env HOME" command above. Note the command you enter includes from "echo" through "./profile" and includes the output redirection symbol '>' in front of '/home/' below.

===> echo "PATH=/QOpenSys/pkgs/bin:\$PATH\nexport PATH" >/home/USERNAME/.profile

Use the cat command to display the contents of your new .profile file:

===> cat /home/USERNAME/.profile PATH=/QOpenSys/pkgs/bin:$PATH export PATH $ ===> ls -al /home/USERNAME total 48 drwxrwsrwx 2 username 0 8192 Sep 22 11:09 . drwxrwsrwx 4 qsys 0 8192 Sep 22 11:07 .. -rw-rw-rw- 1 username 0 42 Sep 22 11:09 .profile $

Preparing for Installation: Verify your PATH and .profile

Before exiting the shell, check to see if the yum command is found by entering the following command:

===> yum /QOpenSys/usr/bin/-sh: yum: not found. $

This is expected; the yum command is not found because the PATH has not been set in the current shell to find it. (This may not be true if yum has already been added to the default path for PASE.)

End your PASE terminal/session by using F3 to exit.

Log back in to your PASE shell:

===> call qp2term

Use this command to verify the path now includes /QOpenSys/pkgs/bin:

===> echo $PATH /QOpenSys/pkgs/bin:/QOpenSys/usr/bin:/usr/ccs/bin:/QOpenSys/usr/bin/X11:/usr/sbin:.:/usr/bin

Now yum (and other utilities installed with Open Source Package Management) should be found (depending on version installed, your output will differ somewhat):

===> yum version Installed: 7.3/ppc 88:5eb7293211feb319892a5b0493be225bb8ced7c4 Group-Installed: yum 4:0c4b1b4f02cddd0a8cc88ffd4e7aa3919f8cda3a

Repository installer

With the previous steps, we have set up the Open Source environment on the IBM i and configured the $HOME directory, $PATH, and .profile. The repository installer needs three utilities not included in the initial set of open source packages. Enter the following command to install them now:

yum install wget tar-gnu gzip

The repository installer configures the repository connection and proceeds to install Zend Server. The installer is available on downloads.zend.com. Run the following command:

wget http://downloads.zend.com/zendserver/2020.0.0/ZendServer-2020.0.0-RepositoryInstaller.tar.gz -O - | tar -xzf - -C /tmp && /tmp/ZendServer-RepositoryInstaller/install_zs.sh --automatic

This command downloads the repository installer and runs the install script 'install_zs.sh' with the '--automatic' option. The script configures the repository and once finished, proceeds to install the Zend Server.

When the installation is ready, proceed to bootstrap/launch of Zend Server 2020.

Bootstrap (Launching) Zend Server

Once the process completes, you’ll bootstrap (launch) Zend Server. The default link is 'http://your-ip-or-dns-name:10081/ZendServer/'

Initial launching details are described at Launching Zend Server

The Admin GUI is accessible on port 10081 by default, but please note if you already have an older version of Zend Server installed, Zend Server 2020 will choose another set of available ports to use, to avoid conflict with your existing Zend Server:

  • If you have no pre-existing Zend Server versions on your system, then Zend Server 2020 will use port 10080 for regular PHP web traffic, and 10081 for the Admin UI.
  • If you have one pre-existing Zend Server versions on your system, then Zend Server 2020 will use port 10090 for regular PHP web traffic, and 10091 for the Admin UI.
  • If you have two pre-existing Zend Server versions on your system, then Zend Server 2020 will use port 10100 for regular PHP web traffic, and 10101 for the Admin UI.

Example: if GO LICPGM, option 10 shows you have the following installed:

6ZSVRPI *INSTALLED Zend Server for IBM i 8.5.11 ( PHP 5.6 )

Then Zend Server 2020 will use port 10090 for regular PHP web traffic, and 10091 for the Admin UI.

Updating Zend Server

You can use either PASE shell command line, or ACS Open Source Package Management, as follows:

  • To update Zend Server 2020 in PASE shell, enter a shell:

    ===> call qp2term ===> yum update zend-server

  • If you prefer ACS Open Source Package Management graphical interface:

    1. Open IBMi Access Client Solutions

    2. Navigate to Tools -> Open Source Package Management

    3. Locate your system and log in with a user account with installation privileges

    4. Open Updates available.

    5. If zend-server package is listed, then an update is available. Select it and click Upgrade.

    6. Type “y” when asked for confirmation.

Uninstalling Zend Server

In a PASE shell, run the uninstaller shell script as follows:

===> call qp2term ===> /usr/local/zendphp74/bin/uninstall.sh

This command uninstalls Zend Server and all related packages.

The uninstall.sh script asks for confirmation before performing the uninstall. Include the --automatic option to run the uninstallation without asking for confirmation:

===> /usr/local/zendphp74/bin/uninstall.sh --automatic

This will remove only Zend Server 2020. Previous versions of Zend Server must be uninstalled using DLTLICPGM. See Uninstalling Zend Server for IBM i.