Cómo instalar nuestro propio entorno de desarrollo: Apache, MySQL y PHP

20-xampp-logo-trio

En muchas ocasiones el mayor impedimento en bibliotecas, archivos o centros de documentación a la hora de probar un nuevo sistema de gestión de contenidos, es la imposibilidad de contar con un servidor que haga las veces de entorno de pruebas.

En este post se muestra como preparar un ordenador corriente para poder ser utilizado como servidor de pruebas en el que instalar diferentes programas para evaluar su utilidad o adecuación a nuestros proyectos.

Incluso si tenemos contratado un servidor web, puede interesarnos disponer de un servidor de desarrollo para practicar o realizar pruebas. Algunas de las ventajas de disponer de un servidor de desarrollo en local son:

  • Controlar al milímetro la configuración del servidor que se instala. Habilitando sólo las funciones que nos interesan.
  • Disponer de un entorno más sencillo de configurar en comparación con servidores remotos.
  • Instalar y probar todo tipo de programas sin que sean públicos.
  • Trabajar sin conexión a Internet.

La mayoría de proyectos que requieren de un entorno de desarrollo de estas características, generalmente nacen en un servidor local, en el marco de un entorno de pruebas. Una vez concluida la fase de pruebas, se transfieren a un servidor remoto para su publicación.

Para implantar nuestro entorno de desarrollo PHP, necesitamos tres componentes diferentes: Apache, MySQL y PHP. Este entorno de desarrollo es conocido generalmente como LAMP (Linux, Apache, MySQL y PHP) o WAMP (Windows, Apache, MySQL y PHP).

Componentes

Los componentes mínimos necesarios para que nuestro entorno de desarrollo funcione son:

  • Un servidor web o software que permita a nuestro ordenador alojar páginas web dinámicas. En nuestro caso utilizaremos Apache, un software de código abierto y libre que funciona en cualquier sistema operativo.
  • El entorno PHP compuesto por un conjunto de programas que nos permitirán solicitar programas escritos en este lenguaje de programación desde un servidor web, que posteriormente se mostrarán en el navegador en HTML, XHTML…
  • Un sistema de gestión de bases de datos con las que los programas en PHP interactuarán. En nuestro caso utlizaremos MySQL un sistema de bases de datos relacional que se distribuye bajo licencia GNU GPL para proyectos que se distribuyan bajo esa misma licencia.

También será interesante contar con algun tipo de editor de texto plano, desde el bloc de notas a otros como Notepad ++, HTML Kit o Dreamweaver.

XAMPP

La opción de instalar por separado todas las herramientas citadas en el punto anterior está ahí, pero es mucho más rápido y fácil utilizar XAMPP. XAMPP es un paquete ya configurado que incluye todas esas funcionalidades. Existen diferentes versiones para Linux, Solaris, Mac y por supuesto para Windows que se distribuyen bajo licencia GPL.

Para descargar vuestra versión teneis que ir a: http://www.apachefriends.org/es/xampp.html.

La versión de XAMPP disponible en el momento de escribir este post incluía los siguientes componentes:

  • Apache 2.2.21
  • MySQL 5.5.16
  • PHP 5.3.8
  • phpMyAdmin 3.4.5
  • FileZilla FTP Server 0.9.39
  • Tomcat 7.0.21 (with mod_proxy_ajp as connector)

La instalación de XAMPP es tan sencilla como la de cualquier otro software de escritorio. Simplemente hay que seguir los pasos del asistente.

Una vez finalizada la instalación, dentro del directorio en el que se ha instalado la aplicación podemos acceder al panel de control de la herramienta mediante el ejecutable «xamp-control.exe».

control-panel
Panel de control de Xampp

Para poner en marcha nuestro servidor web basta con hacer clic en el botón «Start» situado al lado de la opció «Apache». Si activamos la casilla de verificación «Svc» correspondiente, conseguiremos que Apache se ejecute todo el tiempo. Una vez pulsado el botón «Start» cambiará a «Stop» y aparecerá la leyenda «Running» (en funcionamiento) de color verde.

Para poder ver nuestro servidor, debemos abrir cualquier navegador web (Firefox, Chrome, Opera, Explorer…) y escribir la URL:

http://localhost

En el contexto de una red TCP/IP como Internet, localhost, es un nombre reservado que equivale a «Este ordenador».

Como resultado de solicitar esa URL el navegador nos debería devolver una pantalla como esta:

xampp
Xampp for Windows

Ajustes de seguridad del servidor

Para verificar y modificar los ajustes de seguridad de nuestro nuevo servidor utilizaremos el enlace «Chequeo de seguridad», situado en el menú de la izquierda.

En la siguiente pantalla XAMPP nos mostrará el estado de la seguridad concerniente al acceso público de nuestro servidor, contraseñas del usuario principal de MySQL, el estado del cortafuegos, etc.

Seguridad Apache
Seguridad de Apache.

Una opción para modificar todos estos ajustes de manera rápida y sencilla es utilizar el enlace ubicado justo debajo de la tabla resumen:

http://localhost/security/xamppsecurity.php

Aparecerá una nueva pantalla en la que podremos modificar la contraseña del SuperUser de la base de datos y añadir una nueva contraseña al directorio XAMPP.

xampp
Modificación de las constraseñas.

También podemos activar algún tipo de cortafuego, como por ejemplo el que viene con Windows para prevenir accesos externos a nuestro ordenador.

Iniciar el servidor local

Dentro del directorio XAMPP existe un subdirectorio con nombre «htdocs». Dentro de ese subdirectorio es donde tendremos que traspasar todos los archivos que queremos visualizar en nuestro servidor local. Por ejemplo si deseamos instalar un CMS como Joomla o WordPress, deberemos copiar la carpeta con todos los archivos del programa dentro de «htdocs».

Podemos probar el funcionamiento de nuestro servidor escribiendo un pequeño programa en PHP. En el sitio web del W3C disponemos de un tutorial de PHP con mucha información sobre este lenguaje de programación.

Vamos a crear el típico programa en PHP con el que se inician la mayoría de personas que comienzan con este lenguaje. Para ello crearemos una carpeta dentro del directorio «htdocs», a la que llamaremos «web» (el nombre es opcional). Dentro de estar carpeta y con la ayuda de un editor de texto plano crearemos un fichero que se llamará «index.php» y que contendrá el siguiente código:

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>

<head>
<title>Probando PHP en nuestro servidor</title>
</head>

<body>

<h1>Probando PHP en nuestro servidor</h1>

<?php
echo “¡Hola mundo!”;
?>

</body>
</html>

 

Este pequeño y simple programa cargará en nuestro navegador la frase «¡Hola mundo!» cuando solicitemos a nuestro servidor el directorio «web», es decir, al introducir:

http://localhost/web

php hola mundo
Hola mundo en PHP.

Si realizamos la prueba de copiar el fichero index.php en nuestro escritorio e intentar abrirlo con un navegador, veremos que éste sólo sería capaz de cargar la etiqueta codificada en html «Probando PHP en nuestro servidor» y no el «¡Hola mundo!» escrito en PHP.

Configurar nuestra versión de PHP

La instalación de PHP en nuestro servidor con XAMPP suele presentarse bastante bien configurada, pero existen algunas opciones de configuración que quizá nos interese modificar para que nuestro servidor de pruebas sea similar a un entorno real.

Para modificar la configuración tenemos que abrir el fichero «php.ini» ubicado en: xampp > php.

Nota: Antes de realizar cualquier modificación en este fichero conviene realizar una copia de seguridad.

Una de las opciones que podemos modificar es activar la opción de visualización de los errores de código si está desactivada. Para ello tenemos que localizar dentro del fichero «php.ini» la línea de código «display_errors = off» (sin comillas) y substituir el «off» por un «on».

Para que los cambios tengan efecto deberemos reiniciar el servidor yendo al panel de control de XAMPP y pulsando «Stop» en Apache y a continuación «Start».

MySQL a través de phpMyAdmin

Para poder trabajar con páginas web dinámicas o sistemas de gestión de contenidos como Joomla!, WordPress, Omeka, etc. Necesitamos el soporte de una base de datos.

XAMPP cuenta con una interfaz llamada phpMyAdmin con la que resulta realmente sencillo crear, modificar y manipular bases de datos.

El acceso a la interfaz de phpMyAdmin lo podemos realizar desde la pantalla de inicio de Xampp (http://localhost) haciendo clic en la opción phpMyAdmin situada en el menú izquierdo como primera opción del apartado «Herramientas».

También podemos acceder desde el panel de control pulsando el botón «Admin …» situado a la derecha del botón «Stop» de MySQL.

control-panel
Panel de control de Xampp

O introduciendo en el navegador web la dirección http://localhost/phpmyadmin/

Con cualquiera de estas tres acciones debería aparecernos una pantalla similar a esta:

interfaz phpmyadmin
Interfaz de PHPmyAdmin.

Crear una base de datos y un usuario

Una manera rápida y sencilla de crear nuestra primera base de datos y un usuario para ésta es ir a «Privilegios» en el menú superior. A continuación pulsar sobre la opción «Agregar un nuevo usuario» situada debajo de la «Lista global de usuarios». Aparecerá un menú contextual similar a este:

mysql
Formulario para agregar un nuevo usuario a la base de datos.

En el que dentro de información de la cuenta debemos indicar:

  • El nombre del usuario
  • El servidor (en nuestro caso seleccionar local, lo que hará aparecer la palabra localhost)
  • La contraseña para ese usuario (dos veces).

En «Base de datos para el usuario» marcaremos la opción «

Con esto ya tenemos nuestra primera base de datos (en blanco) y su usuario correspondiente.

Instalación de nuestro primer CMS

Ahora que ya disponemos de un servidor Apache, de PHP y de una base de datos, podemos comenzar a instalar programas, como por ejemplo diferentes sistemas de gestión de contenidos y probarlos antes de decantarnos por uno para nuestros proyectos.

A continuación os mostraré los pasos de instalación del CMS WordPress como ejemplo.

El primer paso es ir a la página oficial de WordPress y descargar la última versión disponible del sistema.

Una vez descargado el fichero .zip, el siguiente paso es descomprimirlo en el directorio «htdocs» de XAMPP. Podemos cambiar el nombre de la carpeta «wordpress» por el del título del blog o página web, por ejemplo: blog-de-pruebas. Sobre el resto de carpetas no debemos realizar ningún cambio.

Una vez tenemos todos los ficheros de WordPress en «htdocs» tenemos que preparar a WordPress para la instalación, para ello seguiremos los pasos de la famosa instalación en 5 minutos de WordPress:

  1. Abre el archivo wp-config-sample.php con un editor de texto plano y rellena los datos de la conexión a tu base de datos.

Tenemos que modificar las siguientes líneas de código:

define(‘DB_NAME’, ‘nombredetubasededatos’);

/** Tu nombre de usuario de MySQL */
define(‘DB_USER’, ‘nombredeusuario’);

/** Tu contraseña de MySQL */
define(‘DB_PASSWORD’, ‘contraseña’);

Por ejemplo si nuestra base de datos y usuario se llaman «wordpress» y nuestra contraseña es WordPress1234, el resultado sería:

define(‘DB_NAME’, ‘wordpress’);

/** Tu nombre de usuario de MySQL */
define(‘DB_USER’, ‘wordpress’);

/** Tu contraseña de MySQL */
define(‘DB_PASSWORD’, ‘wordpress1234’);

wordpress_config
Edición del archivo wordpress_config.

1. Guarda el archivo como wp-config.php.

2. Abre http://localhost/blog-de-pruebas/wp-admin/install.php en tu navegador. Con esto deberán crearse las tablas necesarias para tu sitio. (Siempre y cuando hayamos cambiado el nombre de la carpeta raíz de WordPress a blog-de-pruebas, en caso contrario la URL sería: http://localhost/wordpress/wp-admin/install.php

3. Rellena los datos del sitio y del usuario (nombre y contraseña) y pon un correo electrónico.

instalacionwordpress
Pantalla de instalación de WordPress.

 

4. El programa de instalación te mostrará una página con tu nombre de usuario y tras aceptar te enviará a la página de acceso. Accede con el nombre de usuario elegido y la contraseña creada durante la instalación.

Y ya podemos acceder a nuestro primer software escrito en PHP en nuestro propio servidor de pruebas.

Por Rubén Alcaraz

Bibliotecario-documentalista e informático en continua iteración que habla de web y tecnología. There's no place like 127.0.0.1

9 comentarios

  1. Hola! Muchas gracias por el tutorial Ruben, me ha venido muy bien para configurar un servidor web. Tenía una pregunta abierta a todos los que la lean, y es la siguiente:
    Aprovechando el tutorial de Ruben, cuando creó la carpeta «web» en «/xampp/htdocs/web», ahí yo voy a alojar mis páginas web de WordPress, con la siguiente estructura de carpetas:
    /xampp/htdocs/web/pagina1
    /xampp/htdocs/web/pagina2
    etc…

    Dentro de pagina1 y pagina2 estará WordPress descomprimido.
    Mi pregunta entonces es: saber si es posible y cómo, hacer que cuando entremos desde el navegador para ver el contenido de «web» (donde estarán pagina1 y pagina2), que nos pida un usuario y contraseña para poder ver su contenido, el de «web».

    Espero haberme explicado bien. Espero que puedan ayudarme.
    Muchas gracias!

  2. Buenas Ruben buen articulo!, una dudilla que tengo, haber si me puede echar una mano, en xammp como puedo cambiar la versión de php y mysql, para que sean exactamente iguales a las que tengo en el servidor remoto, es que busco el xammp con la misma versión que tengo en remoto y no la encuentro. asi que la copia remota no me deja instalarla por versiones diferentes de php/mysql bueno miento si me deja instalarla pero me avisa siempre de que tengo versiones diferentes y que hay componentes que no me funcionarán correctamente. ¿me pudes pasar un link donde buscar esto?

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Uso de cookies

Este sitio web utiliza cookies para recoger datos de analítica. Si continúas navegando estás dando tu consentimiento para la aceptación de las mencionadas cookies y la aceptación de la política de cookies.

ACEPTAR
Aviso de cookies