Unix and Linux Distribution Packages
| Package volunteers wanted! After version 1.0 is released, there will most likely be a great demand for native packages for each Unix/Linux distribution. We're looking for volunteers to maintain such packages. If you're interested, please be sure to see Choosing Your Application's Directory Layout. Once your package is ready, add it to the list! |
Each Unix/Linux distribution has one or more "preferred" ways to install packages, such as emerge for Gentoo, apt-get for Debian, yum, and so on. The following packages are geared toward these methods.
FreeBSD
Package maintained by Gregory C Larkin
Usage:
cd /usr/ports/www/zend-framework && make install clean
Gentoo
Package maintained by Sebastian Bergmann
Usage:
emerge -p ZendFramework
Mac OS X
Mac OS Forge has a ticket (registration required) with a portfile for DarwinPorts. Portfile without registration maintained by Nico Edtinger
openSUSE
Packages are available through the openSUSE build service. Maintained by Graham Anderson. Packages are available for SLES 10(SP2), 11.1, 11.0, 10.3
For APC and Memcached backends please see the section after the installation instructions. These are in separate packages due to a dependancy on additional repositories.
Captcha and PDF components are available seperately, as some sysadmins object to having gd extension installed. Please see instructions for installing these components
The easiest installation option is to use the openSUSE 1-Click install system. This will add the required repositories and initiate the download. 1-Click install is available on openSUSE 10.3 and later.
SUSE Linux Enterprise Server 11
su - zypper sa http://download.opensuse.org/repositories/server:/php:/applications/SLE-11 zypper in php5-ZendFramework
SUSE Linux Enterprise Server 10 (SP2)
su - zypper sa http://download.opensuse.org/repositories/server:/php:/applications/SLE-10-SP2 zypper in php5-ZendFramework
openSUSE 11.1
su - zypper sa http://download.opensuse.org/repositories/server:/php:/applications/openSUSE_11.1 zypper in php5-ZendFramework
openSUSE 11.0
su - zypper sa http://download.opensuse.org/repositories/server:/php:/applications/openSUSE_11.0 zypper in php5-ZendFramework
openSUSE 10.3
su - zypper sa http://download.opensuse.org/repositories/server:/php:/applications/openSUSE_10.3 zypper in php5-ZendFramework
APC and Memcache
su - zypper sa http://download.opensuse.org/repositories/server:/php:/extensions/openSUSE_11.1 either zypper in php5-APC php5-ZendFramework-cache-backend-apc or zypper in php5-pecl-memcache php5-ZendFramework-cache-backend-memcache
Zend_Captcha & Zend_Pdf
Install these with the instructions below, this will pull in the php5-gd package as a dependancy.
zypper in php5-ZendFramework-captcha php5-ZendFramework-pdf

6 Comments
comments.show.hideOct 12, 2006
Colin Ross
Before making a bunch of packages/installers that put things in whatever place that packager wishes to, shouldn't we maybe determine some standard file locations, in example:
ZendFramework-0.x.x/documentation => /usr/share/doc/ZendFramework
ZendFramework-0.x.x/demos => /usr/share/doc/ZendFramework/demo
ZendFramework-0.x.x/tests => /usr/share/doc/ZendFramework/tests
ZendFramework-0.x.x/library => /usr/share/ZendFramework/
ZendFramework-0.x.x/LICENSE.txt => /usr/share/doc/ZendFramework/
ZendFramework-0.x.x/NEWS.txt => /usr/share/doc/ZendFramework/
ZendFramework-0.x.x/README.txt => /usr/share/doc/ZendFramework/
And what of /incubator ?
Another thing is whether we want to break it out into multiple packages (like ZendFramework, ZendFramework-incubator, ZendFramework-demos, etc.
Oct 13, 2006
Mat Scales
I don't know how it works for other distributions, but Debian mostly ignore whatever the default paths for an app are in favour of consistency across all apps in the distribution.
And how does this map on to Windows? Or MacOS X?
It's not up to us decide that sort of thing globally - it's down to whatever makes sense for the particular platform the package is targeted at.
Nov 07, 2006
Bill Karwin
I would suggest for Linux and other UNIX-like platforms, that we adhere to the Filesystem Heirarchy Standard (http://www.pathname.com/fhs/pub/fhs-2.3.html). Most vendor-related files should live under /opt.
Based on the FHS, I would expect to see the layout like this:
/opt/ZendFramework/doc => this is where the ZF manual and api doc lives
/opt/ZendFramework/lib => this is where the ZF class library lives
/opt/Zend/ZendFramework/lib/tests => self-explanatory
/etc/opt/ => stores ZF-specific config files
/var/opt/ZendFramework/ => stores ZF-specific temp files, cache files, log files, etc.
The incubator is tricky. I wouldn't think it should live together with production-ready ZF files. So providing another package for it makes sense, e.g.,
/opt/ZendFramework-incubator/... (same hierarchy)
Mac OS X seems to have its own conventions, e.g.,
/Library/Zend Framework/doc
/Library/Zend Framework/lib
/Library/Zend Framework/lib/tests
/Library/Zend Framework/etc
/Library/Zend Framework/logs
/Library/Zend Framework/temp
/Library/Zend Framework incubator/... (same hierarchy)
On Windows, what I'd choose is:
C:\Program Files\Zend Technologies\Zend Framework\lib
C:\Program Files\Zend Technologies\Zend Framework\lib
C:\Program Files\Zend Technologies\Zend Framework\lib\tests
C:\Program Files\Zend Technologies\Zend Framework\conf
C:\Program Files\Zend Technologies\Zend Framework\logs => for logs
C:\Program Files\Zend Technologies\Zend Framework\temp => for ephemeral cache files
Likewise, incubator gets its own matching heirarchy:
C:\Program Files\Zend Technologies\Zend Framework incubator\... (same hierarchy)
Nov 08, 2006
Gavin
For flavors of Linux that I've used, I don't agree. I think each Linux flavor has its own interpretation of FHS and standardized layouts. If distro maintainers follow a specific layout recommended here, it likely will conflict with the layouts expected by users of any particular Linux distro, partly because the location of PHP "libraries" (such as the ZF) are less standardized between distros. However, standards specific to each major distro do exist, for placement of PHP and PEAR.
I believe both Sebastian and Gregory have made reasonable choices in the "layouts" for the OS/distro they support, such that distro users should not be suprised by an unexpected/inconsistent placement of files with respect to their distro.
Nov 04, 2006
Elisamuel Resto
A good file structure is always needed for consistency, but they vary from platform to platform. IMHO there should be a guideline to group documentation in some place with a logical hierchary in order to make it easy to find and follow.
May 24, 2007
Martin Frönmark
I might be a bit off here, but I've installed it but even thought I put the right "include_path = " to php.ini I'm getting Fatal error: Class 'Zend_Gdata_AuthSub' not found in...
Could it be that Apache doesn't have access to /usr/local/share/ZendFramework? If so how do I provide it with those permissions. Thanks!