Servidor HTTP Apache2

en 10 minutos o menos.

Esta es una descripción general de la herramienta y sus principales funcionalidades, por lo que puede darse una idea de su potencial para luego revisar en detalle cada parte de interes en la documentación oficial.

Apache es un servidor web que permite manejar todas las peticiones http en un servidor (o computador), teniendo en cuenta detalles como la seguridad, el enrutamiento y con la flexibilidad de trabajar con otros programas tal como PHP para crear pagina dinamicas, e inclusive la habilidad de tener multiples paginas web dentro del mismo servidor.

visita https://httpd.apache.org/ para obtener mas información.

Instalando Apache

Se puede instalar en una variedad de sistemas operativos como son multiples distribuciones de linux, Mac y Windows. En el caso de linux usualmente basta con utilizar el correspondiente administrador de paquetes (en el caso de ubuntu con apt), en Mac es común con homebrew y en windows con un ejecutable, aunque muchas veces viene en paquetes de terceros como los wamp que instala apache + php + mysql.

busque la solución para su sistema operativo especifico, hay toneladas de manuales para conseguirlo, adicionalmente tiene una pagina de descarga que indica instruciones generales de como instalarlo. puede encontrar mas detalles en el siguiente enlace https://httpd.apache.org/download.cgi

Conceptos Principales

modulos

Por defecto apache solo soporta paginas web estaticas, pero se pueden extender sus funcionalidades con modulos, ha modulos para diferentes actividades de servidor, tales como controlar y administrar las urls con mode_alias que es un modulo que viene por defecto en apache, y algunos otros creados por terceros como el php_module para interpretar PHP y construir paginas web dinamicas.

En pocas palabras, se puden extender las funcionalidades de apache atraves de modulos. En el siguiente enlace podra conocer cuales son los modulos que usualmente viene por defecto en instalación desde 0, en este caso particular corresponden a apache 2.4 https://httpd.apache.org/docs/2.4/mod/. si necesita algun comportamiento o funcionalidad extra, intente buscando modulos en internet, usualmente se explica como adicionarlos y configurarlos.

Archivos de configuración

Hay un archivo de configuración principal para el servidor, donde se puede definir todo lo que se necesite, pero despues de la instalación es muy común ver multiples archivos de configuración en multiples carpetas, esto se logra con la palabra clave ‘include’ dentro del archivo principal de configuración; como ya habrá deducido, la estructura y distribución de archivos de configuración se puede definir a gusto.

En mi ultima instalación utilizando Ubuntu, los archivos de configuración quedaron distribuidos de la siguiente forma

Carpeta principal de configuración: /etc/apache2/
Archivo principal de configuración: /etc/apache2/apache2.conf
Sitios disponibles: /etc/apache2/sites-available
Dirección Raiz del Servidor: /var/www/

Para mas detalles acerca de los archivos de configuración, por favor revise el siguiente enlace https://httpd.apache.org/docs/current/configuring.html

Finalmente tenemos el famoso .htaccess, el cual es un archivo de configuración que se puede adicionar dentro de las carpetas de los proyectos de las paginas web; este archivo permite definir nuevas configuraciones o sobre-escribir comportamientos definidos en el archivo principal de configuración, pero para que se pueda utilizar, se deber habilitar explicitamente en el archivo principal de configuración del servidor, esto se logra a traves de ‘AllowOverride All’, si requiere mas detalles, puede revisarlo en el siguiente enlace https://httpd.apache.org/docs/2.4/howto/htaccess.html 

Virtualhosts

Este es una las funcionalidades principales de apache, con virtualhosts, podemos tener multiples paginas web en un unico servidor, podemos definir proyectos por subdominios, ip, puertos, etc. se puede obtener información detallada en https://httpd.apache.org/docs/2.4/vhosts/ 

Comandos de Consola

Hay un par de comandos que se pueden utilizar para controlar el servidor, el principal es apachectl, el cual permite iniciar, reiniciar o detener el servidor, se puede encontrar un listado de comandos (programas) en el siguiente enlace https://httpd.apache.org/docs/current/programs/

Adicionalmente algunas distribuciones como Ubuntu, traen algunos comandos extra tal como a2ensite. Revise la información de su sistem operativo o programa con el que instaló.

Conclusión

Apache se utiliza para ofrecer paginas web y tiene opciones de extensión para suplir las necesidades comunes de este tipo de aplicación. Recomiendo leer el siguiente tutorial. Esta en ingles y es especifico de Ubuntu, pero da una buena idea desde el proceso de instalación hasta presentar una pagina web utilizando virtualhosts.

Muchas gracias por leer.

Commentarios

Leave a Reply

Your email address will not be published. Required fields are marked *