Guia v5/Hospedar y gestionar una web

De Guadapedia, la enciclopedia libre.

Tabla de contenidos

Hospedar y gestionar una web

Un servidor no sirve si no tiene nada que servir. Vamos a empezar a poner remedio a esto montando nuestra propia página web. Aunque de entrada pueda parecer que lo más sencillo sea componer algunas páginas web y subirlas al servidor, lo propio es poner en solfa un gestor de contenidos. Hay decenas, centenares de gestores de contenidos libres con diversos grados de complejidad y calidad, diversos fines, plataformas, paradigmas.

Aquí vamos a abordar unos pocos, muy recomendables. Pero antes deberemos tener unos cuantos conceptos claros.

LAMP es el nombre que recibe una clase de aplicaciones web muy extendidas y construidas con una combinación de estas herramientas de software libre:

  • GNU/Linux, como sistema operativo.
  • Apache, como servidor web.
  • MySQL, como servidor de bases de datos.
  • Perl, PHP, y/o Python, como lenguajes de programación.

Veamos cómo combinan estas piezas en nuestro servidor que aún no sirve.


Apache sirve la web

Página por defecto de Apache
Enlarge
Página por defecto de Apache

Apache [1] (http://www.apache.org) es el servidor web por excelencia, usado por el 70% de los servidores web de todo el mundo. Es una pieza de software ubicada en servidores que se encarga de enviar los contenidos de sus webs a nuestros navegadores a través de Internet y mediante el protocolo HTTP.

La instalación de este software en nuestro servidor es sencilla: instalamos el paquete apache2 y sus dependencias. Una vez instalado tendremos ya funcionando nuestro servidor web.

Si nos conectamos desde un navegador a la dirección IP o a nuestro dominio, debería aparecer la página que Apache ofrece por defecto. Si esto es así magnífico, ya podemos empezar a añadir contenidos a nuestra web.


Una prueba estática

Asistente de Paginas Web de OpenOffice.org
Enlarge
Asistente de Paginas Web de OpenOffice.org

Para publicar una simple página web bastaría con editar el contenido de un fichero en el directorio '/var/www' la raíz de nuestro servidor web, por ejemplo:

$ sudo nano /var/www/hola.html

e incluir algo tán básico como:

Hola Mundo


De esta forma, y siguiendo el ejemplo del anterior apartado, si accedemos con nuestro navegador a http://guias-ubuntu.dyndns.org/hola.html obtendremos el contenido de nuestra página web.

Pero crear contenidos de esta forma es laborioso y complejo. Sirva sólo como ejemplo de una forma tradicional de crear páginas web estáticas.

Podemos realizar una prueba más elaborada de web estática mediante el asistente web de OpenOffice.org. Dicho asistente nos permite generar páginas web de una forma sencilla a partir de nuestros documentos de texto, hojas de cálculo, presentaciones, etc. Además genera menús de navegación sencillos, y permite cambiar el aspecto de las páginas generadas.

Al final del proceso el asistente genera todo el contenido en un directorio que podemos mover a la raíz de nuestro servidor web (/var/www) para dejarlo visible al público.

MySQL gestiona los datos

MySQL es uno de los sistema de gestión de base de datos más populares dentro del mundo del Software Libre. Es usado por muchas aplicaciones para almacenar información. Es muy común que si instalamos un servicio de gestión de contenidos, éste use entre otras cosas MySQL.

La instalación es relativamente sencilla. Buscamos y seleccionamos para instalar el paquete mysql-server.

Durante la instalación nos pedirá que introduzcamos la contraseña para el usuario root de mysql.

Una vez dado este paso, el servidor de MySQL se instalará y se arrancará sin problemas:

Configurando mysql-server-5.0 (5.0.51a-3ubuntu5.1) ...

* Stopping MySQL database server mysqld [ok]

* Starting MySQL database server mysqld [ok]

Checking for corrupt, not cleanly closed and upgrade needing tables.

Ya tenemos nuestro servidor MySQL funcionando y operativo.

Muchas aplicaciones web se encargan de crear su base de datos particular dentro de nuestro servidor MySQL con sólo proporcionarles la contraseña root del MySQL. De todas formas, si queremos una administración de MySQL más elaborada, es recomendable instalar otros paquetes como phpmyadmin o mysql-admin. El primero permite la administración de la base de datos vía web y el segundo desde nuestro escritorio gráfico.

Un buen punto de partida para profundizar es la documentación en el sitio oficial de MySQL [2] (http://dev.mysql.com/doc/).

PHP, Perl y Python

PHP, Perl y Python, son tres lenguajes de programación muy comúnmente usados en aplicaciones web. Mientras no tengamos un poco más de experiencia, lo más recomendable en un servidor como el nuestro es instalar todo el software a través de paquetes. De esta forma, si instalamos una aplicación web, ésta se encargará de instalar las dependencias de PHP, Perl o Python que tenga, sin tener que preocuparnos demasiado este tema.

Por ejemplo, si una aplicación usa PHP4 y MySQL, es habitual que se instalen como dependencias los paquetes libapache2-mod-php5 y php5-mysql.

Gestores de contenidos

Un Sistema de Gestión de Contenidos (del ingles CMS, Content Management System) o más abreviadamente un gestor de contenidos, es un software que nos permite publicar y gestionar una web de forma sencilla, a través de un interfaz de administración accesible mediante contraseña en la propia web.

Existen infinidad de sistemas de gestión de contenidos. Para ver y probar diferentes gestores OpenSourceCMS [3] (http://www.opensourcecms.com/) proporciona una completa comparativa, y ofrece la posibilidad de probarlos a través de instalaciones de demostración.

Aquí nos vamos a centrar en gestores sencillos y populares, que además estén empaquetados en nuestra distribución. De esta forma su instalación, uso y mantenimiento será menos laborioso.


Blosxom

Nuestra primera entrada en nuestro recién instalado blog basado en blosxom
Enlarge
Nuestra primera entrada en nuestro recién instalado blog basado en blosxom

Blosxom [4] (http://www.blosxom.com/) es un weblog muy sencillo de instalar y gestionar, aunque se nos puede quedar corto si tenemos ciertas pretensiones. Para instalarlo basta con instalar el paquete blosxom: esto dejará ya operativo nuestro nuevo blog en la dirección http://guias-ubuntu.dyndns.org/cgi-bin/blosxom

Para publicar entradas en el blog, basta con editar ficheros en el directorio apropiado. Por ejemplo podemos editar nuestra primera entrada:

$ sudo nano /var/lib/blosxom/data/hola.txt


Esto bastará para que nuestra entrada aparezca ya el blog si accedemos a la dirección anterior y recargamos la página.

En su web hay más información para añadir funcionalidad a nuestro blog, cambiar su aspecto, etc.

Drupal

Pantalla inicial de Drupal.
Enlarge
Pantalla inicial de Drupal.

Drupal [5] (http://drupal.org) es un popular gestor dinámico de contenidos, que sirve para gestionar una página web con artículos, noticias, imágenes, foros, etc, de una forma potente. Existe una gran cantidad de módulos adicionales instalables de Drupal que aumentan enormemente su funcionalidad base.

Para su instalación, seleccionamos drupal5 y todas sus dependencias. Una vez finalizada la instalación de los paquetes, habilitamos nuestro nuevo sitio web en el apache a partir de la configuración por defecto:

$ sudo cp /etc/drupal/5/apache.conf /etc/apache2/sites-available/drupal

sudo a2ensite drupal

sudo /etc/init.d/apache2 reload

Esto habilitará el gestor en el directorio /drupal/ de nuestra web.

Luego creamos la base de datos en nuestro servidor MySQL siguiendo los pasos indicados en la documentación de Drupal. Debemos recordar la contraseña del usuario root en el gestor de Base de Datos configurada durante la instalación de MySQL.

Realizados estos pasos, podemos apuntar nuestro navegador a http://guias-ubuntu.dyndns.org/drupal y y usar nuestro recién instalado gestor de contenidos. Como sugiere la página de inicio, lo mejor es crear el primer usuario, que será el que tenga los permisos de administrador, y empezar a jugar con el gestor de contenidos.

Mediawiki

Selección de la base de datos durante la configuración de Mediawiki
Enlarge
Selección de la base de datos durante la configuración de Mediawiki
Página inicial de nuestro recién instalado wiki
Enlarge
Página inicial de nuestro recién instalado wiki

Mediawiki [6] (http://www.mediawiki.org) es un software de wiki, una forma de editar los contenidos de una web de forma rápida y sencilla. Inicialmente se creó para la Wikipedia [7] (http://wikipedia.org) pero es usado por otras muchas iniciativas, como GuiasUbuntu [8] (http:guias-ubuntu.ourproject.org) sin ir más lejos.

Para instalarlo, seleccionamos el paquete mediawiki con sus dependencias y opcionalmente mediawiki-math para poder introducir ecuaciones y php5-gd para poder generar las miniaturas de las imágenes que colguemos en el wiki.

Una vez instalados los paquetes de Mediwiki, habilitamos nuestro wiki en nuestra web:

$ sudo cp /etc/mediawiki/apache.conf /etc/apache2/sites-available/mediawiki

$ sudo a2ensite mediawiki

$ sudo /etc/init.d/apache2 reload

Hecho esto apuntamos a http://guias-ubuntu.dyndns.org/mediawiki/

Esto nos llevará a la página de configuración del wiki. En ella introducimos el nombre (Site name) que tendrá nuestro wiki (en nuestro ejemplo 'Guias-ubuntu-Mediawiki'), el correo de contacto del administrador, el idioma del wiki, la licencia que usaremos para los contenidos, la cuenta y contraseña del usuario de administración y llegaremos a la parte de la configuración de la Base de Datos, que es quizá lo más complicado. Como siempre, el secreto está en seguir paso a paso la documentación.

Ahora procedemos a aceptar el formulario de configuración y, si todo va bien, nuestro wiki estará casi listo para funcionar. Damos los últimos pasos según nos indican en la página y si apuntamos nuestro navegador a nuestro wiki podemos comprobar que este está totalmente instalado y funcional: http://guias-ubuntu.dyndns.org/mediawiki/

Para una configuración más en detalle recomendamos la FAQ de Mediawiki [9] (http://meta.wikimedia.org/wiki/MediaWiki_FAQ).

Wordpress

Asistente de configuración inicial de Wordpress
Enlarge
Asistente de configuración inicial de Wordpress
Inicio de nuestro recién instalado Weblog
Enlarge
Inicio de nuestro recién instalado Weblog

Wordpress [10] (http://wordpress.org) es un software para gestionar bitácoras o blogs basado también en PHP y MySQL. Para su instalación seleccionamos el paquete wordpress y sus dependencias.

Para habilitar nuestro nuevo web, creamos este fichero 'wordpress':

$ sudo nano /etc/apache2/sites-available/wordpress

con esta configuración, por ejemplo:

Alias /blog /usr/share/wordpress
<Directory /usr/share/wordpress>
  Options FollowSymLinks
  AllowOverride Limit Options FileInfo
  DirectoryIndex index.php
</Directory>

Luego habilitamos nuestra nueva web en el Apache:

$ sudo a2ensite wordpress
$ sudo /etc/init.d/apache2 reload

y finalmente configuramos la base de datos con la ayuda de este guión:

$ sudo sh /usr/share/doc/wordpress/examples/setup-mysql  -n wordpress guias-ubuntu.dyndns.org

Si apuntamos nuestro navegador a

http://guias-ubuntu.dyndns.org/blog

llegamos a un asistente de configuración de Wordpress donde nos pide unos datos iniciales (nombre del blog y correo del administrador) y crea la base de datos y el usuario de administración del blog.

Si volvemos a acceder a http://guias-ubuntu.dyndns.org/blog veremos que el blog está ya accesible y funcional.


Pero aparte de la web hay otras formas de compartir contenidos, otras aplicaciones web y otros servicios.

Sigue: Poner archivos a disposición de la comunidad