How to Install Zend Server 6.3 on openSUSE 13.1

Disclaimer:
This is not an official guide. Zend Server 6.3 on openSUSE 13.1:

  • was never tested by Zend (even minimally),
  • is not supported, regardless of user's SLA with Zend,
  • is not recommended for use in production and mission-critical applications.

 

Overview

Zend Server 6.3 and older versions cannot be installed on openSUSE 13.1 (or newer). The main reason for this is the distribution's switch to Apache 2.4.

Fortunately, in most modern Linux distributions it is possible to use 3rd-party package repositories with different software versions. Of course, openSUSE allows this, too. This article describes the procedure of Zend Server installation using such 3rd-party repository.

Instructions

The instructions are given in the form of console commands with minimal explanations. Most of these commands are self-explanatory.

Make sure that Apache 2.4 is not installed on the system:

zypper remove –clean-deps apache2

 

Add a repository that provides Apache 2.2. I'm using microplace's apache2 repository:

zypper addrepo –refresh http://download.opensuse.org/repositories/home:/microplace/openSUSE_13.1/ "Apache 2.2 (microplace)"

 

Refresh repositories; microplace's GPG key will be automatically trusted:

zypper –gpg-auto-import-keys refresh

 

Lock Apache packages of version 2.4.x (or newer):

zypper addlock "apache2* > 2.3"

 

Install the package 'apache2', explicitly requesting version 2.2.x:

zypper –non-interactive install "apache2 < 2.3"

 

(Re)start Apache, this will take care of some initial configuration:

rcapache2 restart

 

Download Zend Server Repository Installer package to current directory (the URL is correct at the time of writing, subject to change):

wget http://downloads.zend.com/zendserver/6.3.0/ZendServer-6.3.0-RepositoryInstaller-linux.tar.gz

 

Extract the Zend Server Repository Installer tarball to current directory:

tar xf ZendServer-6.3.0-RepositoryInstaller-linux.tar.gz

 

Apparently, in openSUSE 13.1 a decision was made to provide a compatibility package for Debian-native 'aptitude'. During the installation Zend Server Repository Installer attempts to detect the system's package manager automatically. Once a known package manager is found, other options are not being checked. The order of autodetection is 'aptitude', 'apt-get', 'yum' and 'zypper. The following command will modify Zend Server Repository Installer to workaround faulty selection of 'aptitude' as package manager on openSUSE 13.1:

sed -i.ORIGINAL "s|which aptitude|which aptitude-workaround-4-openSUSE-13|g" ZendServer-RepositoryInstaller-linux/install_zs.sh

 

Finally, Zend Server installation (with PHP 5.5 in this example):

ZendServer-RepositoryInstaller-linux/install_zs.sh 5.5

 

 

Result

To verify that Zend Server was installed correctly, go to http://<server name or IP>:10081/Zend Server/ – the first page of the bootstrap wizard should display the license agreement.

Since most of the commands above do not expect any user input (except the last one – actual Zend Server installation), a simple script can be used instead of individual command execution. The script below will execute these commands and will expect one parameter – the desired PHP version:

#!/bin/bash
 
if [ $# -lt 1 ]; then
   echo Usage: $0 <5.3 | 5.4 | 5.5>
   exit
fi
 
zypper remove –clean-deps apache2
zypper addrepo –refresh http://download.opensuse.org/repositories/home:/microplace/openSUSE_13.1/ "Apache 2.2 (microplace)"
zypper –gpg-auto-import-keys refresh
zypper addlock "apache2* > 2.3"
zypper –non-interactive install "apache2 < 2.3"
rcapache2 restart
wget http://downloads.zend.com/zendserver/6.3.0/ZendServer-6.3.0-RepositoryInstaller-linux.tar.gz
tar xf ZendServer-6.3.0-RepositoryInstaller-linux.tar.gz
sed -i.ORIGINAL "s|which aptitude|which aptitude-workaround-4-openSUSE-13|g" ZendServer-RepositoryInstaller-linux/install_zs.sh
ZendServer-RepositoryInstaller-linux/install_zs.sh $1