Todays task and probably the next couple of days will be to upgrade the PHP installation to the latest level. I metioned previously that I was having problems with the Adobe Macromedia licensing so I needed an alternative IDE to work with, the initial problem I found was the inability to see the html output from the IDE, I assume this is because I dont have the Zend products other than the IDE installed on the Mac. So I set about linking the Mac to the i5 to allow me to at least debug. I managed to get this working just fine but the output was just the code that I had generated so I need to get the WYSIWYG browser showing. The option to show in a browser doesn’t show so I think I will have to get the other parts installed on the i5 before I can do this?
The next problem was the removal of the old Beta version of Zend Core I was running, I followed the instructions from Support and copied the directories to a backup location before I deleted the old LICPGM. The un-install worked fine other than taking a very long time to complete. Next I had to download the relevant Core and Platform modules to install on the i5.
I read in the forums on Zend that to get 2.1.2a of the Platform to work I should’nt use the latest version of the Core, I downloaded the V1.5 and stored it ready for the install, just as a check I decided to ensure 1.6 was only for V5R3 as the forum note suggested. I was told this was true in December when the post was made but was no long true as the Platform version 2.1.2a required 1.6 which does work on V5R4. So I down loaded the 1.6 version and the 2.1.2a version of the Zend Platform and started to install.
The installs appeared to go flawlessly other than one message from the Platform install which said it could not update some file. It did however finish and I think its OK? The I needed to get the sites up and running I was developing, I am running 3 sites for testing as well as the Zend Core, I only had JobQGenie, ApacheDft and Zendcore configured but will be migrating some of the Linux based sites to the i5 for additional testing and development.
The ILE (i5 based Apache) did not get changed as part of the install, but the PASE Apache Server gets replaced! I had spent many hours trying to get the Virtual environments working and with the new install this had all gone! I thought doing a copy of the objects as suggested by the PHP Support staff would protect the Apache conf, unfortunately it didnt. So I had to trawl back through the notes and reconfigure.
Couple of points; the fact that I had changed things that were not detailed in my docs caught me on the rebuild. Firstly I had changed the user that PASE Apache Server would run under and set all of the website authorities to match, because the config was lost and my notes didnt show how I had set this up I was getting a lot of Forbidden messages! A quick check of the object authorities soon fixed it up. Then I had a problem with changing the Configs via the Zendcore webpages. I had moved the zendcore site under the virtual host config which resulted in problems viewing status information? (I didnt have authority to copy php.ini to php.ini.twin) so I started the base installfor Zendcore which runs against port 89, this fixed the status problems but not the ability to set the configuration values. I have logged a support request with Zend Support.
I now have all of the site responding as expected, below is a short version of the configs I created if you want to do Virtualization?
I have set up MySql for the i5 as well but I am still working on the configuration before I can detail what I did and how it went..
I wanted to have 3 sites running, the names are for testing only but I added them to my local host file on the Mac to make sure they went to the right IP.
www2.jobqgenie.local
www2.apachedft.local
www2.zendcore.local
I have them all served from IP 192.168.200.11
They all respond on port 80
The directories were used for normal HTTP pages before I started the test so I just added a test.php into each with a signature stating I was getting the right page served.
Documents stored in
/www/jobqgenie/htdocs
/www/apachedft/htdocs
/www/zendcore/htdocs
Here is my NORMAL HTTP server configuration.
# Configuration originally created by Create HTTP Server wizard on Tue Dec 19 15:56:56 EST 2006
LoadModule proxy_module /QSYS.LIB/QHTTPSVR.LIB/QZSRCORE.SRVPGM
LoadModule proxy_http_module /QSYS.LIB/QHTTPSVR.LIB/QZSRCORE.SRVPGM
LoadModule proxy_connect_module /QSYS.LIB/QHTTPSVR.LIB/QZSRCORE.SRVPGM
LoadModule proxy_ftp_module /QSYS.LIB/QHTTPSVR.LIB/QZSRCORE.SRVPGM
Listen 192.168.200.11:80
DocumentRoot /www/webserver/htdocs
Options -ExecCGI -FollowSymLinks -SymLinksIfOwnerMatch -Includes -IncludesNoExec -Indexes -MultiViews
LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined
LogFormat "%{Cookie}n "%r" %t" cookie
LogFormat "%{User-agent}i" agent
LogFormat "%{Referer}i -> %U" referer
LogFormat "%h %l %u %t "%r" %>s %b" common
CustomLog logs/access_log combined
LogMaint logs/access_log 7 0
LogMaint logs/error_log 7 0
NameVirtualHost 192.168.200.11:80
SetEnvIf "User-Agent" "Mozilla/2" nokeepalive
SetEnvIf "User-Agent" "JDK/1.0" force-response-1.0
SetEnvIf "User-Agent" "Java/1.0" force-response-1.0
SetEnvIf "User-Agent" "RealPlayer 4.0" force-response-1.0
SetEnvIf "User-Agent" "MSIE 4.0b2;" nokeepalive
SetEnvIf "User-Agent" "MSIE 4.0b2;" force-response-1.0
Order Deny,Allow
Deny From all
Order Allow,Deny
Allow From all
#JobQGenie web
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:8000/
ProxyPassReverse / http://127.0.0.1:8000/
ServerName www2.jobqgenie.local
DocumentRoot /www/jobqgenie/htdocs
#Apachedft Web
ServerName www2.apachedft.local
DocumentRoot /www/apachedft/htdocs
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:8000/
ProxyPassReverse / http://127.0.0.1:8000/
# Zendcore web
ServerName www2.zendcore.local
DocumentRoot /www/zendcore/htdocs
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:8000/
ProxyPassReverse / http://127.0.0.1:8000/
The main points are
1. I dont have to do the
2. ProxyPass and ProxyPassReverse added to each VHost
3. ProxyPreserveHost ON required to ensure Server Name passed onto the PASE server
This is my config for the PASE server which was added to allow the pages to be served correctly. I did change the user and group which the server runs under but that is not required to allow the configs to work
/usr/local/Zend/apache2/conf/httpd.conf
# Use name-based virtual hosting.
#
#NameVirtualHost *:80
NameVirtualHost 127.0.0.1:8000
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
DocumentRoot /www/jobqgenie/htdocs
ServerName www2.jobqgenie.local
Order Deny,Allow
Allow From All
DocumentRoot /www/apachedft/htdocs
ServerName www2.apachedft.local
Order Deny,Allow
Allow From All
DocumentRoot /www/zendcore/htdocs
ServerName www2.zendcore.local
Order Deny,Allow
Allow From All
While the install could have been made easier, I do think the addition of PHP to the i5 will put it and the community in good stead for the future. Now we have a language running on the system which lots of people will have no problem developing with, the install is no more difficult than on Linux once you understand whats going on!
Chris…