Últimamente he estado jugueteando en los ratos que he podido con diferentes frameworks para comprobar cual se adaptaba mejor a mis necesidades. En este caso, quiero hablar de la instalación de Zend Framework en un servidor dreamhost ya que en este caso la instalación genérica no sirve.

Las instrucciones que he seguido son las del wiki del servidor, pero con algunas variaciones.

Lo primero de todo es descargar la versión mini del mismo, lo descomprimimos y ponemos los directorios /library y /bin en un directorio que se encuentre en la raíz del usuario donde cuelgan nuestros dominios:

/home/{usuario}/zendfw/

A continuación abrimos con un editor el archivo /bin/zf.sh y eliminamos las siguientes lineas:

# find php: pear first, command −v second, straight up php lastly

if test "@php_bin@" != '@'php_bin'@'; then

PHP_BIN="@php_bin@"

elif command −v php 1>/dev/null 2>/dev/null; then

PHP_BIN=`command −v php`

else

PHP_BIN=php

fi

 

Y lo reemplazamos por:

1
2
3
# Use DreamHost's PHP 5 binary

PHP_BIN=/usr/local/php5/bin/php

 

Y buscamos al final del archivo por este comando:

 

1
$PHP_BIN −d safe_mode=Off −f "$PHP_DIR/zf.php" −− $@

Y la modificamos para que quede de esta manera:

1
$PHP_BIN −c /home/{nombre_usuario}/Zend_framework/php.ini −d safe_mode=Off −f "$PHP_DIR/zf.php" −− $@

Ahora guardamos, y modificamos los permisos al archivo para que sea ejecutable:

1
chmod +x $HOME/Zend_framework/bin/zf.sh

Ahora creamos un alias para Zend y así hacernos el trabajo aún más facil:

1
2
3
alias zf=/home/{nombre_usuario}/Zend_framework/bin/zf.sh

source .bash_profile

Para comprobar la correcta instalación, ejecutamos en la terminal:

1
zf show version

Y deberí­a responder:

1
Zend Framework Version: 1.11.1

Crear nuestro primer proyecto con Zend:

Para crear un proyecto en Zend tenemos que ejecutar el siguiente comando:

1
zf create project example.com

Donde example.com es el dominio o directorio donde se va a encontrar el proyecto, por ejemplo si queremos desarrollarlo en un subdirectorio:

1
zf create project dir

A continuación nos vamos al directorio del proyecto y creamos un enlace simbólico a nuestro framework:

 

1
2
3
cd zend.example.com/library

ln -s /home/{nombre_usuario}/zendfw/library/Zend


En este punto es cuando modificaremos la configuración de php.ini para nuestro proyecto. Lo primero es importarlo:

 

1
2
3
4
mkdir $HOME/example.com/cgi-bin

 
<pre>cp /etc/php5/cgi/php.ini $HOME/example.com/cgi-bin/php.ini


Y ahora le decimos a nuestro .htaccess donde puede encontrar la configuración de php en lugar de la que viene por defecto. Para ello añadimos al .htaccess estas lineas

1
2
3
4
5
6
7
Options +ExecCGI

AddHandler php−cgi .php
Action php−cgi /cgi−bin/php5.cgi
Order Deny,Allow
Deny from All
Allow from env=REDIRECT_STATUS

Por último nos queda también decirle a nuestro htaccess, que el proyecto se inicia en el directorio /public cuando lo visite un usuario:

1
2
3
4
RewriteEngine on
RewriteCond %{HTTP_HOST} example\.com [NC]
RewriteCond %{REQUEST_URI} !/public
RewriteRule (.*) /public/$1 [L]<span class="Apple-style-span" style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px; white-space: pre;">

 

LINKS
http://www.maestrosdelweb.com/editorial/guia-zend/
http://wiki.dreamhost.com/Zend_framework