A free and open-source book on ZF3 for beginners

Translation into this language is not yet finished. You can help this project by translating the chapters and contributing your changes.

2.4. Sitio Virtual de Apache

¡Ahora estamos casi listos para que nuestra aplicación skeleton viva! La última cosa que tenemos que hacer es configurar el sitio virtual de Apache. El termino sitio virtual significa que podemos ejecutar varios sitios web en la misma computadora. Los sitios virtuales se diferencian por el nombre de dominio (como site.mydomain.com y site2.mydomain.com) o por el número de puerto (como localhost y localhost:8080). Los sitios virtuales funcionan de manera transparente para los usuarios, esto significa que los usuarios no tienen la menor idea de si el sitio esta funcionando sobre la misma o sobre diferentes computadoras.

Actualmente tenemos a la aplicación skeleton dentro del directorio home. Para que Apache lo sepa, necesitamos editar el archivo de configuración del sitio virtual.

El archivo para el sitio virtual puede estar localizado en diferentes rutas dependiendo del sistema operativo. Por ejemplo, en Ubuntu GNU/Linux está ubicado en /etc/apache2/sites-available/000-default.conf. Para información sobre sitios virtuales específicos por sistema operativo podemos revisar el Apéndice A. Configuración del Entorno de Desarrollo Web.

Vamos a editar el sitio virtual por defecto para dejarlo de la siguiente manera (asumimos que usamos Apache 2.4):

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /home/username/helloworld/public

	<Directory /home/username/helloworld/public/>
        DirectoryIndex index.php
        AllowOverride All
        Require all granted
    </Directory>

</VirtualHost>

En la línea 1 se indica a Apache que escuche por todas las direcciones IP (*) y por el puerto 80.

La línea 2 define el correo electrónico del administrador web. Si algo malo pasa en el sitio. Apache envía una alerta por correo electrónico a esta dirección. Podemos colocar nuestra dirección de correo electrónico aquí.

La línea 4 define el directorio raíz de documentos (APP_DIR/public). Todos los archivos y carpetas dentro del la raíz de documentos serán accesibles para los usuarios web. Debemos colocar allí la ruta absoluta a la carpeta public de la aplicación skeleton. Así, las carpetas y archivos dentro de public (como index.php, css, js, etc.) serán accesibles mientras que las carpetas y archivos por encima de la carpeta public (como config, module, etc.) no serán accesibles para los usuarios web, con esto aumentamos la seguridad de nuestro sitio web.

Las líneas 6-10 definen las reglas para la carpeta raíz de documentos (APP_DIR/public). Por ejemplo, la directiva DirectoryIndex le dice a Apache que el archivo index.php debe ser usado como el archivo index por defecto. La directiva AllowOverride All permite definir reglas en el archivo .htaccess. La directiva Require all granted permite a cualquiera visitar la página web.

Zend Framework 3 utiliza el módulo de reescritura de URL de Apache para redirigir a los usuarios web al punto de entrada de nuestro sitio web. Debemos asegurarnos que el servidor web tiene el módulo mod_rewrite habilitado. Para instrucciones sobre como habilitar el módulo podemos revisar el Apéndice A. Configuración del Entorno de Desarrollo Web.

Después de editar el archivo de configuración no debemos olvidar reiniciar Apache para que se apliquen los cambios.


Top