[HOW TO] Servidor Web Apache

Alejandro Donato
Avanzado
Avanzado
Mensajes: 34
Registrado: Vie Nov 19, 2010 6:40 am
Ubicación: Río Cuarto - Córdoba

[HOW TO] Servidor Web Apache

Mensaje por Alejandro Donato » Mar Mar 01, 2011 7:06 am

En este tema, vamos a ver como armar un servidor de páginas web Apache.

Que es un servidor Apache?

Apache es un software, que se ha convertido prácticamente en un estándar en lo que a servidores web se refiere. Básicamente, sirve para que nuestro servidor, pueda alojar sitios web. Esto lo convierte en una plataforma multiuso, ya que, via páginas web, se pueden realizar un sin fin de actividades. Desde simples páginas con publicidades, hasta foros, sistemas remotos, de gestión, de distribución de medios, video, audio... etc..

Este soft es multiplataforma, o sea, corre casi sobre cualquier sistema operativo. Podemos incluso correrlo en nuestra desktop, con la idea de probar como quedara un sitio, y luego mover el sitio a otro alojamiento mas profesional. NO es un soft para "crear" sitios, sino mas bien para alojarlos.
Su flexibilidad, lo convierte en algo indispensable a tener en nuestro servidor. Muchos paneles de control de servidores, o servicios, lo utilizan como medio para mostrar sus "frontend" (frontend es la parte visible de un programa, desde donde se lo maneja o administra).

Siguiendo la línea de la distribución elegida (Ubuntu, que como ya dijimos es base Debian), utilizamos el sistema APT (que es la forma que, las distribuciones de esta base, utilizan para administrar el soft que se instala en el sistema) para instalarlo.

El Apache, tiene muchísimos complementos. Estos le permiten realizar funciones extra, a las básicas que serían, servir una simple página web.

Como ya vimos en el Post de introducción a APT, instalar este servidor y sus dependencias, es relativamente fácil. Veamos primero, que nos reporta el APT como parte del apache...

Código: Seleccionar todo

root@DSServer:~# apt-cache search apache2
libapache2-mod-auth-kerb - módulo apache2 para la autentificación en Kerberos.
libapache2-mod-auth-mysql - Módulo Apache 2 para autenticación MySQL
libapache2-mod-auth-pgsql - Módulo para Apache2 el cual proporciona autenticación pgsql
libapache2-mod-auth-plain - Módulo para Apache2 el cual proporciona autenticación plaintext
libapache2-mod-axis2c - Motor de servicios web Apache - módulo de apache
libapache2-mod-macro - Use macros en los archivos de configuración de apache2
libapache2-mod-perl2 - Integración de perl con el servidor web Apache2
libapache2-mod-perl2-dev - Integración de perl con el servidor web Apache2 - archivos de desarrollo
libapache2-mod-perl2-doc - Integración de perl con el servidor web Apache2 -  documentación
libapache2-mod-python - Módulo embebido Python para Apache 2
libapache2-mod-python-doc - Módulo de Python embebido para Apache 2 - documentación
libapache2-reload-perl - Módulos de recaraga Perl cuando se cambia en el disco
cortado - streaming applet for Ogg formats
gforge-web-apache - transition package to gforge-web-apache2
libapache-mod-security - Tighten web applications security for Apache
libapache2-authenntlm-perl - Perform Microsoft NTLM and Basic User Authentication
libapache2-mod-antiloris - Apache2 module to defend against DoS attacks using incomplete requests
libapache2-mod-auth-cas - CAS authentication module for Apache2
libapache2-mod-auth-pam - module for Apache2 which authenticate using PAM
libapache2-mod-auth-radius - Apache 2.x module for RADIUS authentication
libapache2-mod-auth-sys-group - Module for Apache2 which checks user against system group
libapache2-mod-authn-sasl - SASL authentication backend provider for Apache
libapache2-mod-authnz-external - authenticate Apache against external authentication services
libapache2-mod-authz-unixgroup - access control based on on unix group membership for Apache
libapache2-mod-bw - bandwidth limiting module for apache2
libapache2-mod-dnssd - Zeroconf support for Apache 2 via avahi
libapache2-mod-encoding - Apache2 module for non-ascii filename interoperability
libapache2-mod-gnutls - Apache module for SSL and TLS encryption with GnuTLS
libapache2-mod-jk - Apache 2 connector for the Tomcat Java servlet engine
libapache2-mod-layout - Apache web page content wrapper
libapache2-mod-line-edit - search-and-replace line editor module for apache 2
libapache2-mod-lisp - An Apache2 module that interfaces with Lisp environments
libapache2-mod-log-sql-ssl - Use SQL to store/write your apache queries logs - SSL extension
libapache2-mod-mime-xattr - Apache2 module to get MIME info from filesystem extended attributes
libapache2-mod-neko - Apache module for running server-side Neko programs
libapache2-mod-ocamlnet - OCaml application-level Internet libraries - netcgi2 Apache2 connector
libapache2-mod-passenger - Rails and Rack support for Apache2
libapache2-mod-proxy-html - Apache2 filter module for HTML links rewriting
libapache2-mod-random - Create random ads, quotes and redirects
libapache2-mod-rpaf - module for Apache2 which takes the last IP from the 'X-Forwarded-For' header
libapache2-mod-ruby - Embedding Ruby in the Apache2 web server
libapache2-mod-scgi - Apache module implementing the SCGI protocol
libapache2-mod-shib2 - Federated web single sign-on system (Apache module)
libapache2-mod-spamhaus - Apache DNSBL module that blocks listed IP addresses
libapache2-mod-speedycgi - apache2 module to speed up perl scripts by making them persistent
libapache2-mod-vhost-hash-alias - Fast and efficient way to manage virtual hosting
libapache2-mod-vhost-ldap - Apache 2 module for Virtual Hosting from LDAP
libapache2-mod-wsgi - Python WSGI adapter module for Apache
libapache2-mod-xsendfile - Serve large static files efficiently from web applications
libapache2-modxslt - XSLT processing module for Apache 2.x based on libxml2
libapache2-redirtoservname - Apache 2 module to redirect users to the canonical hostname
libfile-mmagic-xs-perl - Guess File Type With XS (à la mod_mime_magic)
libocamlnet-ocaml-dev - OCaml application-level Internet libraries - core development libraries
modxslt-doc - Documentation for modxslt
mono-apache-server1 - ASP.NET 1.1 backend for mod_mono Apache module
mono-apache-server2 - ASP.NET 2.0 backend for mod_mono2 Apache module
mono-fastcgi-server1 - ASP.NET 1.1 backend for FastCGI webservers
mono-fastcgi-server2 - ASP.NET 2.0 backend for FastCGI webservers
nanoweb-contrib - user contributed utilities for Nanoweb
rt3.8-apache2 - Apache 2 specific files for request-tracker3.8
torrus-apache2 - Universal front-end for Round-Robin Databases (for apache 2.x)
torrus-common - Universal front-end for Round-Robin Databases (common files)
adzapper - complemento para eliminar publicidad en proxies
gforge-web-apache2 - herramienta de desarrollo colaborativo - parte web (usando Apache)
libapache-mod-jk-doc - Documentación para el paquete libapache2-mod-jk
libapache-ruby1.8 - Bibliotecas Ruby para mod_ruby
libapache2-authcassimple-perl - Módulo Apache2 para autenticar a través de un servidor CAS
libapache2-mod-apreq2 - generic Apache request library - Apache module
libapache2-mod-auth-openid - Módulo de autenticación OpenID para Apache2
libapache2-mod-chroot - corre Apache en un entorno chroot seguro
libapache2-mod-defensible - module for Apache2 which provides DNSBL usage
libapache2-mod-evasive - evasive module to minimize HTTP DoS or brute force attacks
libapache2-mod-geoip - Soporte GeoIP para apache2
libapache2-mod-ldap-userdir - Apache module that provides UserDir lookups via LDAP
libapache2-mod-log-sql - Use SQL to store/write your apache queries logs - Base
libapache2-mod-log-sql-dbi - Use SQL to store/write your apache queries logs - DBI interface
libapache2-mod-log-sql-mysql - Use SQL to store/write your apache queries logs - MySQL interface
libapache2-mod-mono - Apache module for running ASP.NET applications on Mono
libapache2-mod-musicindex - Browse, stream, download and search through MP3/Ogg/FLAC files
libapache2-mod-removeip - Module to remove IP from apache2's logs
libapache2-mod-suphp - Módulo Apache2 para correr guiones php con permisos de propietario
libapache2-request-perl - biblioteca genérica de petición Apache - módulos Perl
libapache2-webauth - Módulos Apache 2 para autenticación WebAuth
libapache2-webkdc - Módulos Apache 2 para autenticación KDC WebAuth
libembperl-perl - Un sistema para hacer sitios web dinámicos con Perl
mod-musicindex-common - Archivos comunes para mod-musicindex
passenger-doc - Rails and Rac support for Apache2 - Documentation
torrus-apache - Transitional Package for migration to torrus-apache2
libapache2-mod-fastcgi - Módulo FastCGI de Apache 2 para la ejecución duradera de scripts CGI
apache2 - Apache HTTP Server metapackage
apache2-doc - Apache HTTP Server documentation
apache2-mpm-event - Apache HTTP Server - event driven model
apache2-mpm-prefork - Apache HTTP Server - traditional non-threaded model
apache2-mpm-worker - Apache HTTP Server - high speed threaded model
apache2-prefork-dev - Apache development headers - non-threaded MPM
apache2-threaded-dev - Apache development headers - threaded MPM
apache2-utils - utility programs for webservers
apache2.2-bin - Apache HTTP Server common binary files
apache2.2-common - Apache HTTP Server common files
libapache2-mod-php5 - server-side, HTML-embedded scripting language (Apache 2 module)
php5-cgi - server-side, HTML-embedded scripting language (CGI binary)
apache2-mpm-itk - multiuser MPM for Apache 2.2
apache2-suexec - Standard suexec program for Apache 2 mod_suexec
apache2-suexec-custom - Configurable suexec program for Apache 2 mod_suexec
libapache2-mod-apparmor - changehat AppArmor library as an Apache module
libapache2-mod-fcgid - an alternative module compat with mod_fastcgi
libapache2-mod-fcgid-dbg - debugging symbols for mod_fcgid
libapache2-mod-php5filter - server-side, HTML-embedded scripting language (apache 2 filter module)
libapache2-svn - Subversion server modules for Apache
mahara-apache2 - Electronic portfolio, weblog, and resume builder - apache2 configuration
root@DSServer:~# 
Como verán, la lista es enorme. Ojo, el sistema APT no es perfecto, y suele dar info de otros módulos relacionados que no son necesarios.
Lo que nos interesa de esa lista es...

apache2 - Apache HTTP Server metapackage
Este "metapaquete" (porque engloba a varios) contiene lo mas general para instalar el servidor.
Instalándolo, tendremos un servidor web funcional. En caso de ser necesario, podremos luego agregarle alguna librería (las que empiezan con libapache2...") para adicionar funcionalidades.

entonces... con

Código: Seleccionar todo

root@DSServer:~# apt-get install apache2
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias       
Leyendo la información de estado... Hecho
apache2 ya está en su versión más reciente.
En este caso, el paquete ya esta instalado, y el sistema me informa que esta en su versión mas reciente.

Para comprobar que esta instalado... simplemente, desde alguna PC que este en la misma red que el server, en el navegador de nuestra preferencia, ponemos, en la barra de direccion:

http://ip.de.nuestro.server

ej. http://10.0.0.1

Si el servicio quedo instalado y esta ok, veremos una web que nos indica que el servidor esta instalado.

Imagen
Ejemplo de como se ve desde mi firefox

Felicidades!!! el servidor apache esta corriendo y funcional. En otro post veremos como "subir" cosas al server y hacerlo accesible desde internet.

Responder