Innovate faster and cut risk with PHP experts from Zend Services.
Learn PHP from PHP experts with free, on-demand, and instructor led courses.
Submit support requests and browse self-service resources.
When your IBM i server is lacking an internet connection access due to security or other restrictions, it doesn't have to be a showstopper. Using HTTP proxy support via the open source package management interface, users can use a system as the proxy host to access the RPM repo from IBM or create offline copies of Zend repos.
In this blog, I walk through the steps for setting up your proxy host, and for creating clones of your ZendPHP or Zend Server repos via the IBM i Access Client Solutions HTTP Proxy support feature.
Use the Proxy support added to the Open Source Package Management Interface (IBM® i Access Client Solutions), to install the Zend Products and other RPM offering.
The proxy support allows an IBM i system that does not have any access to the internet to use a Windows or Mac OS system as the proxy host to access the RPM repository hosted by IBM.Then you can also "Zend-Clone" offline copies of the ZendPHP / ZendServer repositories using IBM i Access Client Solutions.
Always use the latest version of ACS available, latest 22.214.171.124, some older versions may not support repository cloning.
Two new function usage IDs have been added to provide specific authority for this proxy support.
The functions usage IDs are:
To have the ACS exit program add function id available you will need to apply the following PTF's:
These function usage IDs need to be set in-order to have access to the Proxy support.
Use the IBM I command WRKFCNUSG to work with function usage.
Add your users authority to allow access to the proxy server when started:
CHGFCNUSG FCNID(QIBM_ACS_HTTP_PROXY) USER(username) USAGE(*ALLOWED)
CHGFCNUSG FCNID(QIBM_ACS_HTTP_PROXY_OSPM) USER(username) USAGE(*ALLOWED)
The IBM i Access Client Solutions product contents include the acsbundle.jar, which is the executable jar file of the product. When installed on Windows, the acsbundle.jar should be located in directory 'C:\Users\username\IBM\ClientSolutions'. The executable .jar allows for many of the functions available from the ACS main GUI to be available from the command-line.
IBM i Access Client Solutions also provides plug-ins for many options including the HTTP Proxy server. These plug-ins are documented in the GettingStarted document under "Advanced Topics" section 9.1 "More command-line Options".
9.1.39 HTTPPROXYUI /PLUGIN=httpproxyui will launch a secured HTTP proxy that enables connectivity from an IBM i to the internet via the computer running this proxy. Access to the internet is enabled from any SSH Terminal session that enters the commands provided by the HTTPPROXYUI plug-in.
Note: The SSH Terminal session must be running on the same computer as this proxy.
java -jar <Directory_path>/acsbundle.jar /PLUGIN=httpproxyui
Caption: Note: The acsbundle.jar should be located on windows in directory C:\Users\username\IBM\ClientSolutions
Select the IBM i server to connect to, enter your credentials (user/pass), then click OK.
Proxy Initialized, command line is suspended until proxy stops
Then use the Start/Stop to control the proxy server that was created.
Note: Just before following the next step ‘Start the SSH Connection Using the Proxy Server’, you can create the .repo file for zendphp or zend server.
Once the SSH connection is established via the Proxy Server, any available .repo file will be listed in the Open Source Package Management utility -> Available packages
Use the following command from an SSH Shell Terminal to create the .repo files:
echo -e "[zend_server]\nname=Zend Server\nbaseurl=http://repos.zend.com/zend- server/2021.1/ibmi\nenabled=1\ngpgcheck=0\nsslverify=0\n" >
echo -e "
The steps to this point have created a proxy on your PC that your IBM i can connect through to the internet. This is useful for a single system with restricted access, or to run other commands that require a network connection, such as cloning a repository.
To start the SSH connection using the proxy server:
For offline systems, use ACS to install and update from a cloned repository using the following steps:
The cloned repositories should now be available for installation. To start installation, open:
yum clean all
Update the package using the cloned repository
yum install user-zendphp
In this blog, I showed users how to set up a proxy host, andc create clones of ZendPHP or Zend Server repos via the IBM i Access Client Solutions HTTP Proxy support feature. Done correctly, this can be a very useful feature for users who need to work around internet restrictions.
Get Help Modernizing Your IBM iNeed help getting your IBM i PHP application ready for scale? Zend can help. Contact our team today to learn more about how we can modernize your IBM i applications.Contact Us
Need help getting your IBM i PHP application ready for scale? Zend can help. Contact our team today to learn more about how we can modernize your IBM i applications.
Senior Technical Support Engineeer, Zend by Perforce
Shlomo joined the Zend development team 16yrs ago and is a part of the IBM i Global Services Team, involved in the development of the Zend for IBMi product installation base. He provides technical services, support, and education for Zend Products for IBMi and related technologies on IBMi.
Shlomo has worked in the IT industry for 35 years and has experience with IBMi OS system, programming, and several other OS variants.