Configuración de Apache2 en Debian para soportar VirtualHost

A continuación, muestro un ejemplo, que puede servir de plantilla, para configurar Apache2 con lo básico para soportar VirtualHost, por lo tanto la posibilidad de tener varios dominios y varias carpetas (incluso fuera del típico /var/www) y con soporte de URL Rewriting, importantes para instalaciones de WordPress, Moodle, CakePHP, etc.

Antes de esto, recordar que los archivos de configuración se encuentran en el directorio: /etc/apache2/sites-available/

Si bien es cierto que, se puede tener un solo archivo para toda la configuración de Apache, se recomienda tener un archivo de configuración por sistema, de tal modo que no tengamos un archivo grande, sino un archivo por sistema, fácil de editar y configurar.

También es necesario recordar que, se debe colocar en el archivo en el directorio sites-available antes mencionado para poder activarlo y desactivarlo con los comandos

sudo a2ensite example.com.conf
sudo a2dissite example.com.conf

También se puede deshabilitar la configuración por defecto:

sudo a2dissite 000-default.conf

También recomiendo tener un archivo por cada sub domain, ya que, por lo general, los subdomains son sistemas completamente separados físicamente (en el sistema de archivos) y se puede requerir configuraciones específicas y separadas.

A continuación un archivo de ejemplo que involucra todas las prácticas mencionadas.

<VirtualHost *:80>
  ServerAdmin webmaster@localhost
  ServerName subdomain.example.com
  ServerAlias subdomain.example.com
  DocumentRoot /home/user/www/subdomain.example.com/main
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
  
  <Directory /home/user/www/subdomain.example.com/main>
    Options FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
    # New directive needed in Apache 2.4.3:
    Require all granted
  </Directory>
</VirtualHost>

Cada modificación requiere el reinicio del servicio de Apache.

Instalando CakePHP en Raspbian… #Capítulo1

El multifacético Raspberry PI puede ser usado en infinidad de áreas tecnológicas. Particularmente estoy usando uno como “servidor de desarrollo”, es decir, le instalé Raspbian, una distribución ligera basada en Debian, y lo uso como servidor dentro de una red local. Al servidor le instalé Apache2, MySQL y PHP5.

Para descargar CakePHP, actualmente se usa el manejador de dependencias Composer… Instalarlo es tan sencillo como seguir los pasos de su página web. En la web oficial de CakePHP nos dan adicionalmente un pequeño truco para ejecutar composer como un comando desde cualquier parte.

mv composer.phar /usr/local/bin/composer

Nota: recordar tener activado el mod rewrite.

Dato: si queremos instalar openssh-server, es necesario activarlo desde las opciones de configuración del raspberry con el comando

sudo raspi-config

Luego, para descargar CakePHP, nos ubicamos en el directorio del servidor donde queremos crear el proyecto y si tenemos el composer global colocamos el siguiente comando

composer self-update && composer create-project –prefer-dist cakephp/app [NOMBRE_DEL_PROYECTO]

Con esos pasos ya tenemos la instalación básica de CakePHP y debería lucir así para la versión 3.4.4


Fuentes: