Servidor web · 8 min read · Jan 03, 2026

Servidor Web Básico En Ubuntu 9.04 Con Zend Framework

Servidor Web Básico En Ubuntu 9.04 Con Zend Framework

Esta es una breve descripción de los pasos requeridos para configurar un servidor web básico con el Zend Framework instalado.

Como siempre, seguiré una de las excelentes guías de Falko, ya que no tiene sentido reinventar la rueda, por así decirlo. Seguiré La Servidor Perfecto - Ubuntu 9.04 [ISPConfig 3]. Sin embargo, como necesito un servidor de aplicaciones web para pruebas de preproducción, no requiero Mail o ISPConfig, así que seguiré la Guía de ISPConfig-3 desde el Paso 1 - 11 y comenzaré mi propia versión desde allí.

No instalaré Postfix, Courier (no necesito Mail o IMAP), Saslauthd (Autenticación), tampoco voy a instalar rootkit hunter o utilidades binarias, así que también los dejaré fuera:

12 Instalar MySQL

Podemos instalar MySQL usando el siguiente comando:

apt-get install mysql-client mysql-server

Se te harán las siguientes preguntas:

Nueva contraseña para el usuario “root” de MySQL: <– tucontraseñarootsql
Repetir contraseña para el usuario “root” de MySQL: <– tucontraseñarootsql

Queremos que MySQL escuche en todas las interfaces, no solo en localhost, por lo tanto editamos /etc/mysql/my.cnf y comentamos la línea bind-address = 127.0.0.1:

nano /etc/mysql/my.cnf
[...]  

# En lugar de skip-networking, el valor predeterminado ahora es escuchar solo en  

# localhost, lo cual es más compatible y no es menos seguro.  

#bind-address           = 127.0.0.1  

[...]  

Luego reiniciamos MySQL:

/etc/init.d/mysql restart

Ahora verifica que la red esté habilitada. Ejecuta

netstat -tap | grep mysql

La salida debería verse así:

root@server1:~# netstat -tap | grep mysql  
tcp        0      0 *:mysql                 *:*                     LISTEN      8474/mysqld  
root@server1:~#

13 Instalar Apache2, Java y phpMyAdmin

No estoy instalando PHP5 en este momento ya que tengo un par de diferentes maneras de instalarlo en la siguiente sección. Solo sepas que si vas a compilar desde la fuente, puede que quieras leer la siguiente sección y pensar en no instalar apache en este momento. De lo contrario, todo se instalará de la siguiente manera:

sudo su  
apt-get install apache2 sun-java6-bin phpmyadmin

Verás la siguiente pregunta:

Servidor web para reconfigurar automáticamente: <– apache2
EULA de Java <– Tab para leer EULA luego OK
¿Aceptas los términos de la licencia DLJ? <– Sí
¿Configurar base de datos para phpmyadmin con dbconfig-common? <– Sí
Contraseña del usuario administrativo de tu base de datos: <– tucontraseñarootsql
Contraseña de la aplicación MySQL para phpmyadmin: <– [vacío]

14 Instalaciones de PHP5:

Tenemos varias maneras de instalar PHP, dependiendo de lo que necesites. He tenido éxito variable en la instalación de los módulos que requiero, así que te daré todas las maneras que he probado para instalar PHP y podrás elegir cuál necesitas.

apt-get install desde el repositorio de ubuntu

Podemos usar Apt para obtener la versión de PHP de los repositorios de ubuntu. Esta será la forma más sencilla y dará el éxito más fácil y debe ser utilizada si no tienes requisitos específicos de PHP

apt-get install php5 php5-common php5-cli

apt-get install desde una fuente de debian

Debian ha actualizado su repositorio a la última versión de PHP5 y creo que incluye la biblioteca GD completa de PHP5, así que puede ser una ruta más fácil hacia el éxito que compilar desde la fuente, pero significa que estás usando una fuente que no es reconocida por Ubuntu y tendrás que tomar la decisión de si estás de acuerdo con eso.

Esa decisión hecha, debes agregar los repositorios de debian a tu lista de fuentes, lo cual puedes hacer editando tu lista de fuentes como antes.

Podemos usar Apt para obtener la versión de PHP de los repositorios de ubuntu.

echo deb http://packages.dotdeb.org stable all >> /etc/apt/sources.list
echo deb-src http://packages.dotdeb.org stable all >> /etc/apt/sources.list

Luego ejecuta

apt-get update

Después de esto, puedes optar por actualizar cualquier otra instalación que debian haya actualizado también.

apt-get upgrade  
apt-get install php5 php5-common php5-cli  
reboot

Compilar desde la fuente del repositorio

Si bien fue exitoso, instaló la versión de PHP5 de ubuntu, que está bien para la mayoría de las instalaciones, esto te permitirá habilitar algunas cosas extra que no vienen en la instalación de aptitude. Puedes usar ./configure –help para ver qué está disponible para habilitar mientras compilas.

aptitude install libmysqlclient15-dev libxml2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev sendmail libmcrypt-dev libmhash-dev

Esto te permitirá instalar la versión segura de ubuntu con extras que pueden no estar incluidos en la versión estándar.

cd /usr/src  
apt-get install build-essential debhelper fakeroot  
apt-get source php5  
apt-get install build-dep php5  
cd php5-5.2.6.dfsg.1/  
nano debian/rules

Encuentra y reemplaza

[...]  
--with-gd=shared,/usr --enable-gd-native-ttf \  
[...]  

con

[...]  
--with-gd=shared, --enable-gd-native-ttf \  
[...]  
dpkg-buildpackage -rfakeroot  
cd ..  
# Instalar el nuevo paquete php5-gd  
dpkg -i php5-gd_5.2.6-1ubuntu6.3_i386.deb

Compilación completa desde fuente externa

Cuando ejecuté esto por última vez, tuve que recompilar apache2 también para que mi nueva versión de php5 fuera reconocida. No estoy seguro por qué o si solo fui yo, así que probaré un par de veces más y editaré esta publicación para actualizar los métodos si puedo tener éxito sin la instalación de apache2 también.

aptitude install php5-dev libmysqlclient15-dev libxml2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev sendmail libmcrypt-dev libmhash-dev bzip2 libcurl3 curl libpng12-dev libfreetype6-dev libmcrypt4 libmcrypt-dev libmhash2 libxslt1-dev apache2-prefork-dev libjpeg62-dev freetype2 libxft libxft-dev libcurl4-gnutls-dev
cd /usr/src  
wget http://apache.mirror.anlx.net/httpd/httpd-2.0.63.tar.gz  
tar -zxvf httpd-2.0.63.tar.gz  
cd httpd-2.0.63  
./configure --help  
./configure --prefix=/etc --enable-rewrite --enable-so --enable-ssl  
make  
make install  
/etc/bin/apachectl start  
/etc/bin/apachectl stop
cd /usr/src  
wget http://uk.php.net/get/php-5.2.9.tar.gz/from/this/mirror  
tar xzvf php-5.2.9.tar.gz  
cd php-5.2.9  
./configure --help  
./configure --prefix=/etc/php5/apache2 --with-apxs2=/usr/bin/apxs2 --with-config-file-path=/etc/php5/apache2 --enable-zip --enable-calendar --enable-mbstring --with-mysql --with-mysqli --with-curl --with-curlwrappers --with-zlib --with-gd --with-jpeg-dir --with-png-dir --with-mcrypt --with-mhash --with-pdo-mysql  
make  
make install  
./configure --prefix=/etc/php5/cli --with-apxs2=/usr/bin/apxs2 --with-config-file-path=/etc/php5/cli --enable-zip --enable-calendar --enable-mbstring --with-mysql --with-mysqli --with-curl --with-curlwrappers --with-zlib --with-gd --with-jpeg-dir --with-png-dir --with-mcrypt --with-mhash --with-pdo-mysql  
make  
make install-cli

Recibí algunas advertencias sobre necesitar declaraciones LoadModule en apache2.conf y httpd.conf, si encuentras eso también, entonces puedes agregar declaraciones dummy comentadas y hacer install nuevamente y debería funcionar.

nano /etc/apache2/apache2.conf
[...]  
    # Incluir configuración del módulo:  
    Include /etc/apache2/mods-enabled/*.load  
    Include /etc/apache2/mods-enabled/*.conf

    # Directiva LoadModule dummy para ayudar en las instalaciones de módulos  
    #LoadModule dummy_module /usr/lib/apache2/modules/mod_dummy.so  
[...]  

15 Probar PHP y la Biblioteca GD / Obtener Detalles Sobre Tu Instalación de PHP5

Como tenemos PHP-CLI instalado, podemos probar la instalación de la Biblioteca GD con:

php -r "var_dump(function_exists('imagecreatefromjpeg'));" <-- devolverá true si la Biblioteca GD está instalada  
php -r "var_dump(function_exists('imagerotate'));" <-- será false si la biblioteca limitada está instalada

La raíz del documento del sitio web predeterminado es /var/www. Ahora crearemos un pequeño archivo PHP (phpinfo.php) en ese directorio y lo llamaremos en un navegador. El archivo mostrará muchos detalles útiles sobre nuestra instalación de PHP, como la versión de PHP instalada.

nano /var/www/phpinfo.php

Ahora llamamos a ese archivo en un navegador (por ejemplo, http://192.168.0.100/phpinfo.php):

Ahora deberías ver, PHP5 está funcionando, desplazándote hacia abajo, verás todos los módulos que ya están habilitados en PHP5. También deberías ver MySQL listado allí.

16 Configurar las instalaciones

Necesitamos asegurarnos de que rewrite_module esté habilitado en apache2 para que el Zend Framework funcione correctamente, así que verifiquemos:

a2dismod

Con suerte, deberías ver rewrite listado en la lista de módulos que están actualmente habilitados. Si no, presiona enter para no deshabilitar nada y luego emite:

a2enmod rewrite

Luego necesitamos habilitar AllowOverride All en el archivo del sitio predeterminado

nano /etc/apache2/sites-available/default
[...]  
  DocumentRoot /var/www/  
          
                Options FollowSymLinks  
                AllowOverride All  
          
        <directory var="" www="">  
                Options FollowSymLinks   
                AllowOverride All  
                Order allow,deny  
                allow from all  
          
[...]  

Después de esto, necesitamos asegurar phpMyAdmin eliminando el archivo /etc/phpmyadmin/htpasswd.setup…

rm -f /etc/phpmyadmin/htpasswd.setup

… y eliminar o comentar la siguiente sección en /etc/phpmyadmin/apache.conf:

nano /etc/phpmyadmin/apache.conf
[...]  
## Autorizar para la configuración  
#  
#      
#    AuthType Basic  
#    AuthName "phpMyAdmin Setup"  
#    AuthUserFile /etc/phpmyadmin/htpasswd.setup  
#      
#    Require valid-user  
#  
[...]  

Reinicia Apache después:

/etc/init.d/apache2 restart

17 Instalar Zend Framework

Aunque Zend Framework está disponible en los repositorios de Ubuntu 9.04, es la versión 1.7.5 y quiero tener la última versión, así que la descargaré a través de SVN, pero primero necesitamos instalarlo:

aptitude install subversion

Ahora podemos obtener la última versión del Zend Framework

cd /opt  
mkdir ZendFramework  
cd /ZendFramework  
svn co http://framework.zend.com/svn/framework/standard/tags/release-1.8.3/

A continuación, lo que haremos es crear un enlace simbólico llamado “current” a esa carpeta de lanzamiento, de esa manera, si cambiamos la versión de Zend Framework, podemos hacerlo sin reiniciar Apache:

ln -s release-1.8.3 current

Para que no tengamos que agregar manualmente la ruta de inclusión en tus scripts PHP usando set_include_path. Quiero que el Zend Framework actual se incluya automáticamente, agregando la ruta al /etc/php5/apache2/php.ini.

nano /etc/php5/apache2/php.ini

Cambia:

include_path = ".:/usr/share/php5:/usr/share/pear"

a:

include_path = ".:/opt/ZendFramework/current/library:/usr/share/php5:/usr/share/pear"

Reinicia Apache nuevamente:

/etc/init.d/apache2 restart

Cuando se publique una nueva versión del Zend Framework, todo lo que necesitamos hacer es revisar el directorio SVN y cambiar el enlace simbólico.

cd /opt/ZendFramework  
svn co http://framework.zend.com/svn/framework/standard/tags/release-1.8.4/  
rm current  
ln -s release-1.8.4 current

18 Configurar la Herramienta Zend

Ahora necesitamos configurar las rutas para la línea de comandos, así que haremos los mismos cambios que hicimos arriba en el PHP CLI.

nano /etc/php5/cli/php.ini
include_path = ".:/opt/ZendFramework/current/library:/usr/share/php5:/usr/share/pear"

Antes de salir del Super Usuario, tenemos una última cosa que hacer para que puedas usar la herramienta bajo tu nombre de usuario en lugar de superusuario, necesitarás establecer permisos en la carpeta /var/www

chown username:usergroup /var/www

Ahora en este punto necesitarás salir del super usuario:

exit
nano ~/.bashrc

y agregar la línea

[...]  
PATH=/opt/ZendFramework/current/bin:"${PATH}"
[...]  

Casi allí, solo probaremos la instalación, pero primero probablemente deberíamos reiniciar.

sudo reboot

Cuando inicies sesión nuevamente, no uses sudo su, sino:

zf.sh show version

Y deberías obtener

Zend Framework Version: 1.8.3

19 Usando la Herramienta

Navega al directorio donde quieres tu nuevo proyecto:

cd /var/www  
zf.sh create project yourProject

Y deberías encontrar que la herramienta creará tu estructura básica del sitio, incluyendo tus controladores y vistas iniciales.

Por último, probablemente querrás copiar la carpeta Zend en tu nuevo proyecto

cp -r /opt/ZendFramework/current/library/Zend /var/www/yourProject/library/Zend

Y puedes probar la instalación de Zend yendo a: http://192.168.0.100/yourProject/public/

¡Disfruta!

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.