Vous êtes sur la page 1sur 210

Apache, PHP, MySQL, Phpmyadmin, SMTP.

metaconta@gmail.com

06/06/2009

Servidor Web

Dedicado para aquellas personas que tienen intencin de crear su propio servidor casero bajo Windows. En el futuro, realizar este mismo manual bajo sistema operativo Linux. Que lo pasen bien.

metaconta@gmail.com

06/06/2009

ndice

3

Presentacin 4 Ver. Servidores 11 Apache 2.0 13 PHP 5 29 Config. archivo INI 38 Apache 2.0.x 48 Probando Apache 60 MySQL 5.1 71 phpMyAdmin 100 Usuarios MySQL 114

Servidor SMTP 145 Actualizaciones 165 VirtualHosts 174 Cara Internet 193 Otros manuales 203 Enlace de inters 205 Versin manual 208 Contacto 209 Autor 210

metaconta@gmail.com

06/06/2009

Presentacin

metaconta@gmail.com

06/06/2009

Servidor Web

Este es un manual sencillo para crear un servidor Web casero para poder hacer pruebas con script para PHP, base de datos como MySQL, instalar tu propio foro muy popular phpBB e incluso una Web prefabricada muy famosa y conocida como Joomla, entre otras cosas. Est orientado a personas nveles y se explicar paso a paso, detalladamente y amena posible para su comprensin.

metaconta@gmail.com

06/06/2009

Servidor Web

Se anima al lector introducirse al manual del servidor Web de manera muy sencilla y amena. Notars que est diseado tambin como referencia rpida. Los programas que vamos a usar son completamente gratuitos, sin desembolsar ninguna cantidad de dinero por ello. Utilizaremos herramientas equivalentes sobre manejo de base de datos.

metaconta@gmail.com

06/06/2009

Servidor Web

Montars un servidor SMTP envo de correo electrnico y un servidor y cliente FTP para transmitir archivos. Como actualizar futuras actualizaciones de nuestro servidor. Sobre todo, trataremos temas de mnima seguridad y consejos. Espero que te lo pases bien a lo largo de este manual.

metaconta@gmail.com

06/06/2009

Servidor Web

Se trabajar en el entorno Windows XP SP3 desde que se cre este manual.

metaconta@gmail.com

06/06/2009

Servidor Web

NOTA: Este manual slo nos centraremos en un servidor casero para hacer pruebas. No vamos hacer ajustes fino de seguridad a cara al pblico. Cualquier configuracin que haga, mal funcionamiento e incluso prdidas de datos corre bajo tu responsabilidad. Si tienes dudas sobre este manual, olvdese de l. Ests avisado.

metaconta@gmail.com

06/06/2009

10

metaconta@gmail.com

06/06/2009

Versiones de Servidores
Apache 2.0 y Apache 2.2

11

metaconta@gmail.com

06/06/2009

Versiones de Servidores

En este manual vamos a explicar la instalacin y configuracin de Apache por separado. Elegirs que versin deseas usar. Si quieres configurar la versin Apache 2.0 vete a la pgina. Si quieres configurar la versin Apache 2.2 vete a la pgina. NOTA: Si vas a usar Apache 2.2 en versin Windows, tienes que usar el PHP 5.2.x o superior.

12

metaconta@gmail.com

06/06/2009

Apache 2.0

13

metaconta@gmail.com

06/06/2009

Apache 2.0

Vamos a utilizar el Apache 2.0.63 que es la ltima versin desde que se hizo este manual. Este servidor Web es el ms usado, ms estable y ms popular hasta la fecha. La ventaja de este servidor web es que es muy extendido, tanto en Windows como en Linux. Dejar claro que el Apache en Linux es mucho mejor, ms seguro y tiene funciones importantes que Windows es incapaz de poseer.

14

metaconta@gmail.com

06/06/2009

Apache 2.0

Entramos en la Web oficial del Apache 2.0 para descargarlo. www.apache.org Dentro de la Web nos iremos en el men HTTP Server, dentro de ella localizamos la versin que queremos para este caso y pulsamos Download. Dentro de ella, nos bajaremos con instalador que exactamente se llama apache_2.0.63-win32-x86no_ssl.msi.

15

metaconta@gmail.com

06/06/2009

Apache 2.0

16

metaconta@gmail.com

06/06/2009

Apache 2.0

Tambin puedes acceder a l en este enlace: http://httpd.apache.org/download.cgi Una vez que ya tengamos el archivo descargado lo ejecutamos. A partir de aqu, siga los pasos de las imgenes.

17

metaconta@gmail.com

06/06/2009

Apache 2.0

18

metaconta@gmail.com

06/06/2009

Apache 2.0

19

metaconta@gmail.com

06/06/2009

Apache 2.0

20

metaconta@gmail.com

06/06/2009

Apache 2.0

Deja estos valores de la imagen. Network Domain: 127.0.0.1 Server Name: 127.0.0.1 Administrator's Email Address: nuestro e-mail, no es necesario ponerlo. For All Users, on Port 80, as a Service: selecciona esta opcin.

21

metaconta@gmail.com

06/06/2009

Apache 2.0

22

metaconta@gmail.com

06/06/2009

Apache 2.0

23

metaconta@gmail.com

06/06/2009

Apache 2.0

Aqu puedes seleccionar la ubicacin de la instalacin del Apache 2.0. Por defecto en este caso lo dejamos como est que es: C:\Archivos de programa\Apache Group\.

24

metaconta@gmail.com

06/06/2009

Apache 2.0

25

metaconta@gmail.com

06/06/2009

Apache 2.0

26

metaconta@gmail.com

06/06/2009

Apache 2.0

27

metaconta@gmail.com

06/06/2009

28

metaconta@gmail.com

06/06/2009

PHP 5

29

metaconta@gmail.com

06/06/2009

PHP

Nos toca el turno a PHP, en este caso vamos a usar la versin PHP 5.2.9-2 que es la ltima desde que se hizo este manual. Su Web oficial es www.php.net. Pulsamos donwload.

30

metaconta@gmail.com

06/06/2009

PHP

Nos bajaremos la versin zip package sin instalador.

31

metaconta@gmail.com

06/06/2009

PHP

32

metaconta@gmail.com

06/06/2009

PHP

Una vez descargado el archivo zip, creamos en la unidad C:\ una carpeta llamada en este caso, Servidor. Dentro de ella crearemos otra carpeta llamada PHP. Si ya descomprimimos el archivo zip de php, metemos todos los archivos en la carpeta PHP del directorio C:\Servidor\PHP.
33 metaconta@gmail.com 06/06/2009

PHP

34

metaconta@gmail.com

06/06/2009

PHP

Cogemos todos los archivos dll en el directorio principal y lo colocamos en el directorio C:\Windows\System32 . Tambin vale para el Windows Server 2003/2008/Vista/7.

35

metaconta@gmail.com

06/06/2009

PHP

36

metaconta@gmail.com

06/06/2009

37

metaconta@gmail.com

06/06/2009

Configuracin del archivo INI


PHP

38

metaconta@gmail.com

06/06/2009

PHP Configuracin del archivo INI.

NOTA: Si no ves las extensiones de los archivos Vete a mi Mi PC Herramientas Opciones de Carpeta Ver. Comprueba la parte Ocultar las extensiones de archivo para tipo de archivo conocidos que est desmarcada.
39 metaconta@gmail.com 06/06/2009

PHP Configuracin del archivo INI.

Encuentra el archivo C:\Servidor\PHP\php.i ni-dist. Una vez encontrado, renmbralo php.ini-dist a php.ini. Abre el archivo php.ini, pulsa Control + B y escribe extenssion_dir. Una vez encontrado, escribe el directorio que muestra en la imagen.
40 metaconta@gmail.com 06/06/2009

PHP Configuracin del archivo INI.

Podemos activar las extensiones que queramos. Buscamos Windows Extensions para activar las extensiones. Entre ellas busca gd2.dll para manejar las funciones PHP relativas a imgenes. Cambia ;extension=php_gd2.dll por extension=php_gd2.dll, es decir, quita el punto y como (;) para activar esta extensin.

41

metaconta@gmail.com

06/06/2009

PHP Configuracin del archivo INI.

Activa las extensiones php_mbstring.dll y php_mcrypt.dll. Si quieres saber que es cada extensin, lo busca en su manual http://www.php.net/manual/e s/ No actives todas las extensiones, pueden ser innecesarias si realmente no lo vas a usar. Ahora, toca activar la ltima extensin php_mysql.dll ya que nos hace falta para el MySQL. Lo activas quitando el (;) delante.
42 metaconta@gmail.com 06/06/2009

PHP Configuracin del archivo INI.

Si queremos hacer pruebas con upload, indicamos la ruta pero antes creamos la carpeta upload en el directorio C:/Servidor/PHP/uploa ds/ Claro que antes, debemos encontrar en php.ini upload_tmp_dir.
43 metaconta@gmail.com 06/06/2009

PHP Configuracin del archivo INI.

Podemos cambiar el tamao de los archivos a subir por va HTTP. Buscamos upload_max_filesize y cambiamos por el valor que trae por defecto que es 2MB por otro. No se recomienda poner un valor alto.

44

metaconta@gmail.com

06/06/2009

PHP Configuracin del archivo INI.

Para trabajar con sesiones, vamos a indicar un directorio para que guarde los archivos temporales. Buscamos session.save_path y indicamos el directorio, pero antes crear la carpeta tmp en el directorio C:/Servidor/PHP/tmp/.
45 metaconta@gmail.com 06/06/2009

PHP Configuracin del archivo INI.


Copiamos el archivo php.ini y lo pegamos al directorio o carpeta C\:Windows. Si usas el Windows 2000, el directorio o carpeta sera C\:WinNT. Nos vamos a Apache para hacerle ver que ya PHP est preparado y lo podemos usar.

46

metaconta@gmail.com

06/06/2009

47

metaconta@gmail.com

06/06/2009

Apache 2.0.x
Configuracin del archivo httpd.conf

48

metaconta@gmail.com

06/06/2009

Apache 2.0.x Configuracin del archivo httpd.conf


Vamos a buscar el archivo de configuracin de Apache 2.0.x llamado httpd.conf. Vete a InicioApache HTTP Server 2.0Configure Apache ServerEdit the Apache httpd.conf Configuration File y abres el archivo httpd.conf bajo el bloc de notas.

49

metaconta@gmail.com

06/06/2009

Apache 2.0.x Configuracin del archivo httpd.conf

Tambin puedes acceder directamente al directorio C:\Archivos de programa\Apache Group\Apache2\conf como muestra la imagen.

50

metaconta@gmail.com

06/06/2009

Apache 2.0.x Configuracin del archivo httpd.conf

51

metaconta@gmail.com

06/06/2009

Apache 2.0.x Configuracin del archivo httpd.conf

Una vez abierto el archivo httpd.conf, buscamos Dynamic Shared Object (DSO) Support que es donde se cargan los mdulos. Como vez, aadimos justo debajo LoadModule php5_module C:/Servidor/PHP/php5apache2.dll.

52

metaconta@gmail.com

06/06/2009

Apache 2.0.x Configuracin del archivo httpd.conf

El directorio o carpeta predeterminado se guarda en C:\Archivos de programa\Apache Group\Apache\htdocs\ Antes que nada, buscamos DocumentRoot. Lo vamos a cambiar a C:/Servidor/WEB/ como muestra abajo, no olvides crear la carpeta web.

53

metaconta@gmail.com

06/06/2009

Apache 2.0.x Configuracin del archivo httpd.conf


Dentro de la carpeta o directorio web, colocaremos nuestra web principal, es el directorio raz principal. Buscamos DirectoryIndex y nos sale algo similar a la imagen.

54

metaconta@gmail.com

06/06/2009

Apache 2.0.x Configuracin del archivo httpd.conf

Modificamos la ltima lnea para que al entrar en un directorio tipo http://127.0.0.1/directorio/ nos autoejecute el index predeterminado (siempre que exista) y no salga un mensaje de error. Puedes usar ms nombres si lo prefieres. Se ejecutarn por orden: si no encuentra el primero, pasa al segundo, si no est el segundo, pasa al tercero, y as sucesivamente hasta que si no encuentra ninguno, entonces da error. En la siguiente lnea, si en nuestro directorio tenemos un index.htm y un index.php, por defecto se ejecutar el index.htm ya que est antes.
55 metaconta@gmail.com 06/06/2009

Apache 2.0.x Configuracin del archivo httpd.conf


DirectoryIndex index.html index.htm index.php index.php3 index.php4 index.phtml index.html.var Ahora le aadimos debajo estas lneas (en la primera de ellas, si estamos instalando PHP5 tambin podemos aadir la extensin .php5 adems de las que aparecen): AddType application/x-httpd-php .php .php3 .php4 .phtml AddType application/x-httpd-php-source .phps

56

metaconta@gmail.com

06/06/2009

Apache 2.0.x Configuracin del archivo httpd.conf

La primera indica las extensiones que sern interpretadas por el Apache. Por ejemplo podemos aadir la extensin .htm o .html para que el Apache ejecute el cdigo PHP contenido en esas pginas (es decir, el uso de cdigo PHP no est limitado exclusivamente a archivos *.PHP). La segunda sirve para que si entras en una pgina loquesea.phps entonces se muestra el cdigo PHP a color, muy til si queremos por ejemplo mostrar el cdigo fuente a color en una pgina. De tal forma que al final todo queda as que puedes ver en la pgina siguiente:
57 metaconta@gmail.com 06/06/2009

Apache 2.0.x Configuracin del archivo httpd.conf

Ya podemos guardar el archivo httpd.conf.

58

metaconta@gmail.com

06/06/2009

59

metaconta@gmail.com

06/06/2009

Probando el servidor Apache

60

metaconta@gmail.com

06/06/2009

Probando el servidor Apache

Para Apache 2.0.X accederemos desde los accesos directos que se crean en el men de inicio al acceso directo Monitor Apache Servers y aparecer un icono al lado del reloj. Pinchando en el icono, sale un men desde donde podremos iniciar, apagar y reiniciar el Apache. Como queremos encenderlo, si no lo hace automticamente le daremos a Start. Si ya estaba encendido le daremos a Restart til si cambiamos alguna configuracin de PHP "al vuelo") para que al reiniciarlo nos coja los cambios que hemos hecho.

61

metaconta@gmail.com

06/06/2009

Probando el servidor Apache

62

metaconta@gmail.com

06/06/2009

Probando el servidor Apache

63

metaconta@gmail.com

06/06/2009

Probando el servidor Apache

Ahora dentro de la carpeta C\:Servidor\Web creamos un archivo de texto con el bloc de notas (TXT) y cambiamos el nombre y la extensin por info.php.

64

metaconta@gmail.com

06/06/2009

Probando el servidor Apache

En el interior del info.php, introducimos este cdigo:

65

metaconta@gmail.com

06/06/2009

Probando el servidor Apache

Ahora, cogemos cualquier navegador e introducimos o bien http://127.0.0.1/info.php o bien http://localhost/info.php

66

metaconta@gmail.com

06/06/2009

Probando el servidor Apache

67

metaconta@gmail.com

06/06/2009

Probando el servidor Apache

Si no se muestra la imagen justo de la pgina anterior, revisa paso a paso otra vez lo que has hecho hasta ahora.

68

metaconta@gmail.com

06/06/2009

Probando el servidor Apache


Ahora ya puedes acceder cualquier archivo del Servidor. Es como ir a moverse al directorio de Windows a buscar un archivo dentro de su carpeta correspondiente, por ejemplo: http://localhost/CARPETA/ARCHIVO.EXT http://127.0.0.1/CARPETA/ARCHIVO.EXT Se incluye, cualquier archivo como jpg, zip, rar, gif, txt, html, php, etc.

69

metaconta@gmail.com

06/06/2009

70

metaconta@gmail.com

06/06/2009

MySQL 5.1
Instalacin

71

metaconta@gmail.com

06/06/2009

MySQL 5.1 - Instalacin


Ahora vamos a instalar una base de datos como MySQL de libre distribucin para almacenar datos. La versin utilizada es MySQL 5.1.34 desde que se hizo este manual. Su Web oficial es www.mysql.com Puedes descargarlo directamente en este enlace http://dev.mysql.com/downloads/mysql/5.1.html#win3 2

72

metaconta@gmail.com

06/06/2009

MySQL 5.1 - Instalacin


Llegamos hasta aqu si has pinchado el ltimo enlace de la pgina anterior. Vamos a descargar la versin con instalador. Pincha en Pick a mirror.

73

metaconta@gmail.com

06/06/2009

MySQL 5.1 - Instalacin

Como no nos vamos a registrar o introducir el usuario registrado, pinchamos directamente aqu No thanks, just take me to the downloads!

74

metaconta@gmail.com

06/06/2009

MySQL 5.1 - Instalacin

75

metaconta@gmail.com

06/06/2009

MySQL 5.1 - Instalacin

Pincha en HTTP o FTP, en nuestro caso pulsamos FTP.

76

metaconta@gmail.com

06/06/2009

MySQL 5.1 - Instalacin

Saldr una ventana de descarga del archivo y pulsamos el botn Guardar archivo.

77

metaconta@gmail.com

06/06/2009

MySQL 5.1 - Instalacin

Ejecutamos el archivo o MySQL descargado mysql-5.1.34win32.msi.

78

metaconta@gmail.com

06/06/2009

MySQL 5.1 - Instalacin


Aparecer la ventana de instalacin. Fjese paso a paso las prximas imgenes.

79

metaconta@gmail.com

06/06/2009

MySQL 5.1 - Instalacin

Elegimos Custom ya que es la nica opcin en elegir la direccin a instalar.


80 metaconta@gmail.com 06/06/2009

MySQL 5.1 - Instalacin

Puedes cambiar de direccin al instalar MySQL o le dejas como est.


81 metaconta@gmail.com 06/06/2009

MySQL 5.1 - Instalacin

82

metaconta@gmail.com

06/06/2009

MySQL 5.1 - Instalacin

83

metaconta@gmail.com

06/06/2009

MySQL 5.1 - Instalacin

84

metaconta@gmail.com

06/06/2009

MySQL 5.1 - Instalacin

85

metaconta@gmail.com

06/06/2009

MySQL 5.1 - Instalacin

Dejamos la opcin indicada y pulsamos el botn Finish.


86 metaconta@gmail.com 06/06/2009

MySQL 5.1 - Instalacin

87

metaconta@gmail.com

06/06/2009

MySQL 5.1 - Instalacin

Elegimos la opcin detallada.


88 metaconta@gmail.com 06/06/2009

MySQL 5.1 - Instalacin

Indicamos que ser una mquina para desarrollo. Puedes indicar cualquier opcin si lo deseas.
89 metaconta@gmail.com 06/06/2009

MySQL 5.1 - Instalacin

Elegimos que utilizamos bases de datos multifuncional. Estos nos permite diferentes tipos de bases de datos.
90 metaconta@gmail.com 06/06/2009

MySQL 5.1 - Instalacin

91

metaconta@gmail.com

06/06/2009

MySQL 5.1 - Instalacin

92

metaconta@gmail.com

06/06/2009

MySQL 5.1 - Instalacin

Si necesitamos acceso desde el exterior o Ineternet, dejamos las opciones Tal como aparece en el dibujo.
93 metaconta@gmail.com 06/06/2009

MySQL 5.1 - Instalacin

Lo dejamos como est.


94 metaconta@gmail.com 06/06/2009

MySQL 5.1 - Instalacin

Indicamos que deseamos MySQL como un servicio ms del windows. Si deseamos que nos aada el directorio bin del MySQL en el Path del sistema, marcamos la segunda opcin.
95 metaconta@gmail.com 06/06/2009

MySQL 5.1 - Instalacin

Nos pregunta si deseamos utilizar MySQL con el usuario "root" con contrasea, o si deseamos crear un usuario annimo. Lo dejamos en root sin contrasea, ms adelante la introducimos en otros medios.
96 metaconta@gmail.com 06/06/2009

MySQL 5.1 - Instalacin

97

metaconta@gmail.com

06/06/2009

MySQL 5.1 - Instalacin

Ya podemos usar la base de datos MySQL.


98 metaconta@gmail.com 06/06/2009

99

metaconta@gmail.com

06/06/2009

phpMyAdmin
Gestor de bases de datos va Web

100

metaconta@gmail.com

06/06/2009

phpMyAdmin instalacin

phpMyAdmin es un gestor gratuito por va Web muy usado en el mundo. Podemos gestionar nuestra base de datos muy fcilmente en cualquier punto que nos encontremos por Internet. Podemos crear base de datos, tablas, aadir datos, borrar, crear nuevos usuarios y un largo etc como ocurre con los gestores de escritorio. Funciona bajo Apache, PHP y MySQL, sin ellos no funcionara por eso lo instalamos primero. Vamos a la pgina oficial http://www.phpmyadmin.net
101 metaconta@gmail.com 06/06/2009

phpMyAdmin instalacin

Vamos a usar la versin phpMyAdmin 3.15 que es la hay desde que se hizo este manual. Vamos a descargar el archivo comprimido en .zip como muestra en la imagen con la flecha en rojo.

102

metaconta@gmail.com

06/06/2009

phpMyAdmin instalacin

Descargamos el archivo llamado phpMyAdmin3.1.5-all-languages.zip y lo descomprimimos. Al descomprimir, vamos a entrar en la carpeta lang para quedarnos con el idioma espaol o el que deseamos. Borramos todos los dems archivos para ahorrar peso y nos quedamos en este caso lo que muestra en la imagen.
103 metaconta@gmail.com 06/06/2009

phpMyAdmin instalacin

Vamos al directorio C:\Servidor\Web y creamos una carpeta o directorio llamado phpmyadmin en el cual nos queda as, C:\Servidor\Web\phpM yAdmin. Desde este directorio introducimos todos los archivos
104 metaconta@gmail.com 06/06/2009

phpMyAdmin instalacin

105

metaconta@gmail.com

06/06/2009

phpMyAdmin instalacin

Ahora vamos a configurar el phpMyAdmin. Vamos al directorio C:\Servidor\Web\phpmyadmin\libraries\config.def ault.php. Lo abrimos con cualquier editor de textos. Buscamos de arriba a abajo: $cfg['PmaAbsoluteUri'] = ''; Tenemos que dar la ruta absoluta que quedara as:
$cfg['PmaAbsoluteUri'] = 'http://localhost/phpmyadmin/';

106

metaconta@gmail.com

06/06/2009

phpMyAdmin instalacin

Recuerda que poner localhost es lo mismo que poner 127.0.0.1. Ahora buscamos: $cfg['blowfish_secret'] = ''; En ella pondremos cualquier carcter, que servir para la encriptacin de contraseas al usar la autentificacin con cookies. Por ejemplo:
$cfg['blowfish_secret'] = 'G%VWwethTVWE6hE%h66v674fdYbv95';

107

metaconta@gmail.com

06/06/2009

phpMyAdmin instalacin

Para entrar a phpMyAdmin por primera vez, debemos configurar el tipo de autentificacin para que pida usuario y contrasea, que es el mtodo recomendado existen varios. Para ello, buscamos $cfg['Servers'][$i]['auth_type'] y cambiamos su valor a cookie, de forma que quede as: $cfg['Servers'][$i]['auth_type'] = 'cookie';

108

metaconta@gmail.com

06/06/2009

phpMyAdmin instalacin

Para cambiar la duracin de las sesiones en phpMyAdmin, podemos buscar la siguiente variable y poner el valor de la duracin de la sesin, en segundos: $cfg['LoginCookieValidity'] = 1800;

109

metaconta@gmail.com

06/06/2009

phpMyAdmin instalacin

Si importamos y exportamos bases de datos muy grandes, puede llegar a ser necesario aumentar el tiempo mximo de ejecucin del script. ste se puede cambiar con la siguiente variable, cuyo valor viene dado en segundos: $cfg['ExecTimeLimit'] = 300;

110

metaconta@gmail.com

06/06/2009

phpMyAdmin instalacin

Guardamos el archivo pero no lo cerramos. Vamos a probar el phpMyAdmin introduciendo esta direccin en el navegador:
http://localhost/phpmyadmin

Debe aparecer igual que la imagen.

111

metaconta@gmail.com

06/06/2009

phpMyAdmin instalacin

112

metaconta@gmail.com

06/06/2009

113

metaconta@gmail.com

06/06/2009

Configurar usuarios de MySQL

114

metaconta@gmail.com

06/06/2009

Configurar usuarios de MySQL

A estas alturas, todo debera funcionar sin ningn problema. No olvidar que nuestro usuario es root o Root sin ninguna contrasea. Una vez claro, entra al phpMyAdmin.

115

metaconta@gmail.com

06/06/2009

Configurar usuarios de MySQL

116

metaconta@gmail.com

06/06/2009

Configurar usuarios de MySQL

Vamos entrar en http://localhost/phpmyadmin y hacemos lo siguiente. Crear nuestro propio usuario o usuarios. Borrar usuarios no deseados (como el usuario root). Aplicar los cambios realizados. Configurar phpMyAdmin y los scripts para el nuevo usuario.

117

metaconta@gmail.com

06/06/2009

118

metaconta@gmail.com

06/06/2009

Creacin de nuestro usuario para MySQL


Una vez dentro de la pgina principal de phpMyAdmin, debemos encontrar Privilegios. Si aparece la imagen de abajo, mejor crear la contrasea de root desde MySQL.

119

metaconta@gmail.com

06/06/2009

Creacin de nuestro usuario para MySQL

Vete a InicioTodos los programasMySQLM ySQL Server 5.1MySQl Server Instance Config Wizard. Sigue el proceso como hicimos pasos atrs. Como no tiene contrasea de root, djala en blanco y pon una nueva, en este ejemplo hemos puesto como contrasea 1234.
120 metaconta@gmail.com 06/06/2009

Creacin de nuestro usuario para MySQL

121

metaconta@gmail.com

06/06/2009

Creacin de nuestro usuario para MySQL

Ahora podemos entrar como usuario root y contrasea 1234.

122

metaconta@gmail.com

06/06/2009

Creacin de nuestro usuario para MySQL

Ya podemos hacer click en Privilegios y en la siguiente pgina pulsamos Agregar un nuevo usuario.

123

metaconta@gmail.com

06/06/2009

Creacin de nuestro usuario para MySQL

Vamos a agregar nuestro usuario y contrasea, que ser el que usemos luego en nuestros scripts que hagan uso de MySQL. Por ejemplo, podemos poner el mismo usuario y contrasea que tenemos en nuestro hosting, pues as tendremos menos cosas que recordar. Como ejemplo, pongamos el usuario Acaymo y la contrasea Metaconta2009.

124

metaconta@gmail.com

06/06/2009

Creacin de nuestro usuario para MySQL

Introduciremos el nombre de usuario y contrasea, le daremos acceso a Cualquier servidor (para que se pueda acceder a MySQL desde cualquier IP, incluidas las externas a nuestro ordenador) o a Local (si slo queremos que se acceda desde nuestro ordenador donde hemos instalado MySQL) y le daremos todos los permisos y privilegios (marcando todas las casillas que aparecen). Hacemos clic en Continuar. Ver imagen pgina siguiente.

125

metaconta@gmail.com

06/06/2009

Creacin de nuestro usuario para MySQL

126

metaconta@gmail.com

06/06/2009

Creacin de nuestro usuario para MySQL

127

metaconta@gmail.com

06/06/2009

Creacin de nuestro usuario para MySQL

Si has pulsado continuar, te aparecer esta imagen que significa que lo has hecho bien.

128

metaconta@gmail.com

06/06/2009

129

metaconta@gmail.com

06/06/2009

Borrado de usuarios no deseados

Una vez creado nuestro usuario o usuarios, vamos a borrar aqul que se crea por defecto y que conviene borrar para evitar brechas de seguridad, sobre todo si vamos a usar el PC como servidor hacia Internet y no slo para hacer pruebas desde nuestro hogar. Vamos a borrar el usuario root y dejaremos el que acabamos de crear. Lo hacemos de una forma rpida y sencilla desde el mismo link Privilegios de antes: seleccionar los usuarios que no queramos y presionar Continuar en el apartado que dice Eliminar a los usuarios seleccionados.

130

metaconta@gmail.com

06/06/2009

Borrado de usuarios no deseados

131

metaconta@gmail.com

06/06/2009

Borrado de usuarios no deseados

132

metaconta@gmail.com

06/06/2009

133

metaconta@gmail.com

06/06/2009

Recarga de privilegios

Una vez creado o eliminado algn usuario, veremos que phpMyAdmin tiene en la parte inferior de la pantalla un aviso en un cuadro rojo, que dice que debemos recargar los privilegios, y nos proporciona un link donde debemos hacer clic para que los cambios sean efectivos. Este paso es importante, pues si no recargamos los privilegios, ningn cambio anterior ser har efectivo hasta entonces.

134

metaconta@gmail.com

06/06/2009

Configurar los scripts para el nuevo usuario

Una vez borrado el usuario root y recargados los privilegios, phpMyAdmin deja de funcionar. El motivo es bien simple: al entrar antes a phpMyAdmin, usamos el usuario root con la contrasea 1234, y este usuario lo acabamos de eliminar. Entonces ahora tendremos que volver a entrar pero ya con nuestro usuario y contrasea elegidos: Acaymo y Metaconta2009.

135

metaconta@gmail.com

06/06/2009

Configurar los scripts para el nuevo usuario

Bien, ya casi est todo. Ahora vamos a ver las distintas formas que tenemos para entrar a phpMyAdmin. Como mencionamos hace unas lneas, una de las formas de autentificarse en esta aplicacin es usando el mtodo cookie, que lo que hace es pedirnos usuario y contrasea y guarda la sesin con una cookie. Una forma alternativa es usar http, que es muy parecida solo que el usuario y contrasea se introducen en un cuadro de dilogo, a travs de HTTP y no de cookies. El ltimo mtodo, config, consiste en que en el propio archivo config.default.php escribimos nuestro usuario y contrasea, de tal forma que nunca har falta introducirlos; es menos seguro, ya que cualquiera podra entrar, pero si somos el nico usuario del ordenador, quiz sea interesante para evitar tener que poner los datos cada vez que vamos a acceder.
136 metaconta@gmail.com 06/06/2009

Configurar los scripts para el nuevo usuario

Para configurar este tipo de acceso, volvemos al config.default.php del phpMyAdmin, que no habamos cerrado y localizamos estas variables: $cfg['Servers'][$i]['auth_type'] $cfg['Servers'][$i]['user'] $cfg['Servers'][$i]['password']

137

metaconta@gmail.com

06/06/2009

Configurar los scripts para el nuevo usuario

Y les cambiamos su valor. En la primera podemos poner config, http o cookie, segn hemos visto (si dudamos, lo mejor es usar cookie). Con el mtodo config, y slo en ese caso, a la segunda le damos el nombre de usuario y a la tercera la contrasea del usuario que acabamos de crear. Por ejemplo si hemos usado el mtodo cookie, quedara as (sin usuario ni contrasea):

$cfg['Servers'][$i]['auth_type'] = 'cookie'; $cfg['Servers'][$i]['user'] = ''; $cfg['Servers'][$i]['password'] = '';


138 metaconta@gmail.com 06/06/2009

Configurar los scripts para el nuevo usuario

Y si queremos usar el mtodo config con nuestro usuario Acaymo y contrasea Metaconta2009, quedara as: $cfg['Servers'][$i]['auth_type'] = 'cookie'; $cfg['Servers'][$i]['user'] = Acaymo'; $cfg['Servers'][$i]['password'] = Metaconta2009';

139

metaconta@gmail.com

06/06/2009

Configurar los scripts para el nuevo usuario

NOTA: phpMyAdmin puede tener un fallo (bug conocido) en esta zona. Al usar autentificacin HTTP, un usuario que acaba de abandonar la sesin no puede volver a entrar con el mismo nombre. Para solucionarlo, se deben cerrar todas las ventanas del navegador que estn abiertas, y a continuacin si abrimos una nueva ventana y volvemos a intentar entrar nos debera dejar sin problemas. Para evitarlo, y que al entrar siga pidiendo usuario y contrasea, de los dos mtodos recomendamos utilizar el cookie.

140

metaconta@gmail.com

06/06/2009

Configurar los scripts para el nuevo usuario

Si ahora desde el navegador, y con el Apache y MySQL activos, accedemos a la direccin http://localhost/phpmyadmin podemos empezar a utilizar phpMyAdmin con el nuevo usuario y contrasea. Si elegimos pedir usuario y contrasea, cuando accedamos a phpMyAdmin tendremos que introducirlos de nuevo: Acaymo como usuario y Metaconta2009 como contrasea, si hemos seguido el ejemplo. Por tanto, podemos empezar a usar phpMyAdmin, y quiz lo primero que interese hacer sea crear una nueva base de datos para meter ah lo que queramos.
141 metaconta@gmail.com 06/06/2009

Configurar los scripts para el nuevo usuario

De la misma forma, en nuestros archivos PHP que usen MySQL usaremos el usuario y contrasea que nos hemos creado, de tal forma que al hacer la conexin a MySQL quede algo como esto:
<?php // funciones mysql_connect("127.0.0.1",Acaymo",Metaconta2009"); // sigue con ms funciones ?>

142

metaconta@gmail.com

06/06/2009

Configurar los scripts para el nuevo usuario

Si estamos instalando un prefabricado como PHP Nuke, Joomla o un foro phpBB, o cualquier aplicacin en la que nos solicitan un host, usuario y contrasea, los datos que deberemos indicar son esos: 127.0.0.1 o localhost como servidor, Acaymo como usuario, Metaconta2009 como contrasea, y el nombre de la base de datos que hayamos creado con phpMyAdmin. No obstante, se recomienda tener unos conocimientos bsicos sobre MySQL en PHP para manejar correctamente estas funciones.

143

metaconta@gmail.com

06/06/2009

144

metaconta@gmail.com

06/06/2009

ArGoSoft Mail Server


Servidor SMTP

145

metaconta@gmail.com

06/06/2009

ArGoSoft Mail Server

Si vamos a hacer pruebas con envo de correos o bien vamos a usar nuestro PC como servidor de nuestra web, es posible que nos interese instalar un pequeo servidor de correo para poder usar la funcin mail() de PHP. Con uno de estos servidores podremos enviar correos desde PHP, pero obviamente no podremos recibir nada ya que se tratan de servidores SMTP (enviar) y no POP/IMAP (recibir). Lo que s hay que tener en cuenta es que para que estos servidores de correo funcionen, hay que tener conexin a Internet. Vamos entonces a ello. En principio no hay que cambiar nada en el php.ini ya que ste viene por defecto configurado para un servidor de correo instalado en local, que es de lo que trata este manual.
146 metaconta@gmail.com 06/06/2009

ArGoSoft Mail Server

Pero s podremos cambiar la variable sendmail_from, que ser el remitente que le aparecer a la persona que reciba el correo si no ponemos el campo From en las cabeceras del email mediante la funcin mail() [mail function] ; For Win32 only. SMTP = localhost ; For Win32 only. sendmail_from = me@localhost.com
147 metaconta@gmail.com 06/06/2009

ArGoSoft Mail Server

Una opcin de servidor sera el QK SMTP, pero hemos elegido el Argosoft Mail Server por su sencillez de uso. Este servidor tiene versin gratuita con pequeas limitaciones (no admite correos de ms de 5 MB, por ejemplo). Estar en la seccin de descargas de la web oficial http://www.argosoft.com, con el nombre Mail Server .NET Freeware. En la fecha de actualizacin de este manual, la ltima versin disponible era la 1.0.0.2. Una vez lo instalamos instalado, requiere una pequea configuracin.

148

metaconta@gmail.com

06/06/2009

ArGoSoft Mail Server

Vete a la pgina principal http://www.argosoft.com y pincha en el recuadro rojo de la imagen de abajo.

149

metaconta@gmail.com

06/06/2009

ArGoSoft Mail Server

Haz click en Download ArGoSoft Mail Server .NET Freeware como muestra en la imagen.

150

metaconta@gmail.com

06/06/2009

ArGoSoft Mail Server


Llegarn a un cuadro como este. No recomiendo que ingresen tu propio email porque lo que conseguirs es que te lleguen publicidad. Te lo inventas y pulsa Ok.

151

metaconta@gmail.com

06/06/2009

ArGoSoft Mail Server

Ejecutamos el archivo descargado que desde que se hizo este manual se llamaba MailServerFreeSetup. msi.

152

metaconta@gmail.com

06/06/2009

ArGoSoft Mail Server

153

metaconta@gmail.com

06/06/2009

ArGoSoft Mail Server

154

metaconta@gmail.com

06/06/2009

ArGoSoft Mail Server

155

metaconta@gmail.com

06/06/2009

ArGoSoft Mail Server

156

metaconta@gmail.com

06/06/2009

ArGoSoft Mail Server

157

metaconta@gmail.com

06/06/2009

ArGoSoft Mail Server


Vers un acceso directo en el escritorio. Haz doble click en l para ejecutarlo.

158

metaconta@gmail.com

06/06/2009

ArGoSoft Mail Server

Ahora ya puedes ver el programa principal.

159

metaconta@gmail.com

06/06/2009

ArGoSoft Mail Server

Pulsa

160

metaconta@gmail.com

06/06/2009

ArGoSoft Mail Server


Se abre una ventana Seleccionamos las casillas Automatically Start the Server y Allow Relay. En DNS Server tenemos que poner la direccin IP de algn servidor DNS. Si no sabemos ninguna, nada ms fcil que hacer una bsqueda en nuestro amigo Google usando trminos como listado servidores DNS. Por ejemplo, vamos a usar uno de los servidores OpenDNS, 208.67.222.222 208.67.220.220, en concreto el primero de ellos.
161 metaconta@gmail.com 06/06/2009

ArGoSoft Mail Server

162

metaconta@gmail.com

06/06/2009

ArGoSoft Mail Server

Para activar el servidor, pulsamos el botn Start (tringulo verde), y para pararlo el botn Stop (cuadrado rojo). Lo dejamos activo (quedar un icono al lado del reloj) y ya podemos usar scripts PHP que hagan uso de la funcin mail().

163

metaconta@gmail.com

06/06/2009

164

metaconta@gmail.com

06/06/2009

Realizar actualizaciones
Cmo realizar las actualizaciones a versiones superiores

165

metaconta@gmail.com

06/06/2009

Realizar actualizaciones

Normalmente es mejor ir a la ltima. Cuando desarrolladores de programa actualizan sus productos, es por algo. Sea por tener mejor rendimiento, nuevas funciones, seguridad, estabilidad, etc. Sigue los pasos siguientes para su actualizacin.

166

metaconta@gmail.com

06/06/2009

Realizar actualizaciones

Cmo actualizar Apache? Para actualizarlo, lo primero es desinstalar el programa desde el Panel de Control -> Agregar o Quitar Programas. A continuacin, borraremos manualmente aquellas carpetas del Apache que el desinstalador no haya borrado, que pueden ser aquellas que contienen los logs del servidor. Y finalmente, instalaremos la nueva versin de Apache y configuraremos el httpd.conf igual que se explica en los pasos anteriores, usando las mismas carpetas que usamos en la versin anterior de Apache para que nada cambie.
167 metaconta@gmail.com 06/06/2009

Realizar actualizaciones

Cmo actualizar PHP? Lo primero, paramos nuestro servidor Apache para evitar que los archivos de PHP estn en uso. A continuacin eliminaremos la carpeta que se encuentra en C:\Servidor\PHP\ Luego instalaremos la nueva versin de PHP como se dice ms arriba, configuraremos el nuevo php.ini, y en los pasos que se dice que copiemos ciertos archivos a los directorios de Windows, sobre escribiremos todos archivos existentes con los nuevos, incluido el nuevo php.ini Ya slo queda arrancar de nuevo el Apache y ver si todo ha ido bien.
168 metaconta@gmail.com 06/06/2009

Realizar actualizaciones

Cmo actualizar MySQL?

Antes de empezar, convendra apagar el Apache para evitar que haya archivos en uso. A continuacin, copiaremos el directorio data (que est dentro de la carpeta de MySQL y es el que contiene nuestras bases de datos, tablas, etc. que queremos conservar) a otro directorio cualquiera de forma temporal. Luego desinstalaremos MySQL desde el Agregrar o Quitar Programas de Windows. Finalmente, instalaremos la nueva versin de la misma forma que antes, tras lo cual copiaremos el directorio data de nuevo a la carpeta de MySQL sobreescribiendo el que haya, y de esta forma no se pierden los datos de nuestras bases de datos. Y finalmente slo queda iniciar el servicio MySQL, y comprobar si los scripts y phpMyAdmin siguen funcionando.
169 metaconta@gmail.com 06/06/2009

Realizar actualizaciones

Si estamos migrando de una versin MySQL 3.x 4.0 a una 4.1 superior (5.x), se origina el problema de que los usuarios de MySQL siguen usando el sistema antiguo de contraseas no encriptadas, as que hay que migrarlas al nuevo sistema, o bien como suelen recomendar, usar el sistema viejo de uso de contraseas. Ms informacin en este link: http://dev.mysql.com/doc/refman/5.0/en/old-client.html NOTA: Si usamos alguna versin antigua de MySQL (con la 5.X no sucede), cuando MySQL se instala, graba un fichero llamdo my.ini en la carpeta de Windows. All quedan los datos de usuario y contrasea. Si tenemos problemas al actualizar, borraremos ese fichero antes de instalar de nuevo MySQL.
170 metaconta@gmail.com 06/06/2009

Realizar actualizaciones

Cmo actualizar phpMyAdmin? ste es ms sencillo de actualizar, pues lo nico que hay que hacer es borrar el anterior y luego instalar y configurar el nuevo como se cita ms arriba. Adems, si usamos el mtodo config, nos aseguramos tambin de cambiar el usuario y contrasea para que luego funcione.

171

metaconta@gmail.com

06/06/2009

Realizar actualizaciones

Cmo actualizar ArGoSoft Mail Server? Simplemente se desinstala la versin anterior y se instala la nueva. Es posible que la configuracin se mantenga, pero conviene que la comprobemos, y si no se mantiene entonces la volvemos a realizar.

172

metaconta@gmail.com

06/06/2009

173

metaconta@gmail.com

06/06/2009

VirtualHosts
Manejo de ms de un sitio web

174

metaconta@gmail.com

06/06/2009

Manejo de ms de un sitio web: VirtualHosts

Con esto ya hemos terminado la instalacin de un servidor bsico para hacer pruebas en nuestro ordenador sin necesidad de conectarnos a Internet. Pero puede que seamos administradores de ms de un sitio web, y nos interese tener ms de un sitio web en nuestro servidor local. Si es as, seguimos leyendo, si no, podemos saltar este paso. Una forma de hacerlo sera crear distintas carpetas en nuestro DocumentRoot, y despus acceder tecleando algo como http://localhost/sitio_web_1/carpeta/archivo.php para entrar al sitio 1, o bien http://localhost/sitio_web_2/otra_carpeta/otro_archivo.ph p para entrar al sitio 2.
175 metaconta@gmail.com 06/06/2009

Manejo de ms de un sitio web: VirtualHosts

Pero es fcil ver que eso no es una forma elegante de hacerlo. Se podra evitar el uso de este tipo de URL? La respuesta es s, y para eso podemos usar los VirtualHost de Apache. Cada uno ser como un sitio web diferente, con su propio DocumentRoot. Veremos a travs de un ejemplo cmo hacer varios VirtualHost para alojar varios sitios web en nuestro servidor.

176

metaconta@gmail.com

06/06/2009

VirtualHosts en Apache 2.0.x

Si abrimos el archivo httpd.conf de Apache 1.3.X o 2.0.X y nos vamos al final, encontramos algo como esto: # # Use name-based virtual hosting. # #NameVirtualHost *:80

177

metaconta@gmail.com

06/06/2009

VirtualHosts en Apache 2.0.x

En la lnea NameVirtualHost debemos quitar el # de delante para activarla. Esta lnea indica que los VirtualHost que vamos a usar pueden escuchar en cualquier direccin IP por el puerto 80, as nos evitamos tener que definir una IP para los accesos locales y otra para los externos (en caso de que los hubiera, si usamos el servidor de cara a Internet). Si eres administrador de red y necesitas llevar un control ms exhaustivo de los accesos que se producen a tu red (internos y externos), puede que desees cambiar esta opcin, pero ello escapa de los objetivos de esta gua. Por tanto, debe quedar as: # # Use name-based virtual hosting. # NameVirtualHost *:80
178 metaconta@gmail.com 06/06/2009

VirtualHosts en Apache 2.0.x

Bien, si bajamos un poco ms, encontramos un ejemplo:

# VirtualHost example: # Almost any Apache directive may go into a VirtualHost container. # The first VirtualHost section is used for requests without a known # server name. # #<VirtualHost *:80> # ServerAdmin webmaster@dummy-host.example.com # DocumentRoot /www/docs/dummy-host.example.com # ServerName dummy-host.example.com # ErrorLog logs/dummy-host.example.com-error_log # CustomLog logs/dummy-host.example.com-access_log common #</VirtualHost>
179 metaconta@gmail.com 06/06/2009

VirtualHosts en Apache 2.0.x

Como hemos dicho, podemos aadir todos los que queramos, para eso simplemente vamos copiando y pegando las lneas del VirtualHost, quitando los # del principio (que sirven para comentar las lneas), y configurando los datos de cada VirtualHost. Como vamos a hacer VirtualHosts cuya resolucin sea por nombre y no por IP, en todos ellos colocaremos Virtualhost *:80 para indicar que pueden atender en cualquier IP por el puerto 80.

ServerAdmin: direccin email del administrador. DocumentRoot: ruta donde se encuentran los archivos del sitio web asociado a ese VirtualHost. ServerName: nombre del Virtualhost, que se usar para la resolucin por nombre. ErrorLog: archivo .log para almacenar los errores que se generen en el sitio web. CustomLog: archivo .log para almacenar los accesos a este sitio web.
180 metaconta@gmail.com 06/06/2009

VirtualHosts en Apache 2.0.x

Cuando hemos dicho que vamos a hacer resolucin por nombre, qu quiere decir esto? Bien, tratemos de explicarlo. En principio en esta gua asumimos que el servidor que estamos instalando posee una nica direccin IP, que en modo local es 127.0.0.1 y de cara a Internet es nuestra IP pblica (la que nos d nuestro proveedor de Internet). Cuando entramos a un sitio web a travs de un nombre de dominio (www.dominio.com), ste redireccionar a nuestra direccin IP, y es entonces cuando el servidor debe decidir a qu VirtualHost pertenece la peticin que se le est haciendo, ya que por la IP no lo puede saber (puede haber muchos VirtualHosts con una misma IP). Y cmo lo decide? Pues mirando cul es el nombre de dominio (el host) que se ha usado en la peticin. Por eso en ServerName debemos poner el nombre del host que se va a usar.
181 metaconta@gmail.com 06/06/2009

VirtualHosts en Apache 2.0.x

Hay un parmetro que no viene incluido en el ejemplo pero que sin embargo es interesante, y es ServerAlias. Funciona de manera similar a ServerName. Lo que hace es definir alias, nombres alternativos para nuestro VirtualHost. Y cundo se usa? Pues cuando deseemos que se pueda acceder a un sitio web usando diferentes nombres, por ejemplo que se pueda acceder poniendo http://dominio.com o bien http://www.dominio.com o bien http://cualquiercosa.dominio.com. Ahora veremos un ejemplo.

182

metaconta@gmail.com

06/06/2009

VirtualHosts en Apache 2.0.x

Vamos a hacer un caso prctico. Por ejemplo, vamos a crear tres sitios web: dos pginas web distintas, y un tercer sitio que contenga nicamente a phpMyAdmin (para tener esta aplicacin separada de los otros dos sitios web). Dentro de la carpeta C:/Servidor/Web/ nos creamos tantas subcarpetas como sitios web vayamos a aadir, y dentro de cada subcarpeta meteremos los archivos correspondientes a ese sitio. Tambin podramos elegir cualquier carpeta en cualquier sitio, ya que cada VirtualHost tendr su propio DocumentRoot independiente del resto. Para nuestro ejemplo, se han creado las subcarpetas SitioA, SitioB y phpMyAdmin, por lo que aadiramos los tres VirtualHosts al final del httpd.conf:
183 metaconta@gmail.com 06/06/2009

VirtualHosts en Apache 2.0.x

<VirtualHost *:80> ServerAdmin webmaster@sitioa.com DocumentRoot "C:/Servidor/Web/SitioA" ServerName sitioa ErrorLog logs/SitioA-error_log CustomLog logs/SitioA-access_log common </VirtualHost> <VirtualHost *:80> ServerAdmin webmaster@sitiob.com DocumentRoot "C:/Servidor/Web/SitioB" ServerName sitiob ErrorLog logs/SitioB-error_log CustomLog logs/SitioB-access_log common </VirtualHost>

184

metaconta@gmail.com

06/06/2009

VirtualHosts en Apache 2.0.x

<VirtualHost *:80> ServerAdmin webmaster@otrositio.com DocumentRoot "C:/Servidor/Web/phpMyAdmin" ServerName phpmyadmin ErrorLog logs/phpMyAdmin-error_log CustomLog logs/phpMyAdmin-access_log common </VirtualHost>

185

metaconta@gmail.com

06/06/2009

VirtualHosts en Apache 2.0.x

Fijmonos en que cada uno tiene su propio DocumentRoot, por eso podemos y debemos meter los archivos de cada sitio web en carpetas diferentes, las ah escritas. Tambin vemos el nombre que hemos asignado para entrar a los VirtualHost, definido en ServerName. Por ejemplo para el caso del sitio A deberamos entrar tecleando algo como http://sitioa/ Pero si tecleamos eso en el navegador, nos da error de que no se encuentra la pgina o no se puede resolver el nombre de dominio. Lgico, porque ese nombre de dominio no existe como tal y no tiene asignada ninguna direccin IP. Ahora vamos a ver cmo asignar una direccin IP a ese nombre.
186 metaconta@gmail.com 06/06/2009

VirtualHosts en Apache 2.0.x

Para ello, debemos abrir el fichero de Hosts de Windows, con un editor de texto como el bloc de notas. Este archivo puede estar localizado en C:\Windows\Hosts (Windows 95/98/Me), en C:\WINNT\System32\drivers\etc (Windows NT/2000) o en C:\WINDOWS\system32\drivers\etc (Windows XP/2003). Antes de abrirlo, debemos ir a sus propiedades y deshabilitar el modo Slo lectura en caso de que lo tenga, para que podamos modificarlo. Ahora aadimos los sitios web creados de la misma forma que podremos ver en el ejemplo que viene en el archivo. Como direccin IP, usamos la IP local 127.0.0.1, y como nombre de servidor usamos el mismo valor que usamos en el VirtualHost en ServerName. De tal forma que para nuestro ejemplo quedara algo as (la primera lnea ya viene por defecto incluida): # Por ejemplo:
187 metaconta@gmail.com 06/06/2009

VirtualHosts en Apache 2.0.x

# Por ejemplo: # # 102.54.94.97 rhino.acme.com # servidor origen # 38.25.63.10 x.acme.com # host cliente x

127.0.0.1 127.0.0.1 127.0.0.1 127.0.0.1

localhost sitioa sitiob phpmyadmin

188

metaconta@gmail.com

06/06/2009

VirtualHosts en Apache 2.0.x

Guardamos el archivo, y le asignamos el modo de Slo lectura por seguridad. As que cuando queramos entrar a uno de los sitios web, debemos teclear http://sitioa/ o http://sitiob/ y cuando queramos entrar a phpmyadmin, teclearemos http://phpmyadmin/ Ms sencillo de recordar, verdad? NOTA: si usamos VirtualHost, no debemos olvidar reconfigurar el phpMyAdmin: hay que editar el archivo config.default.php y cambiar el valor de la variable $cfg['PmaAbsoluteUri'], pues ahora deber tener http://phpmyadmin/ En general, debemos reconfigurar cualquier otro script que use direcciones URL absolutas y no relativas.
189 metaconta@gmail.com 06/06/2009

190

metaconta@gmail.com

06/06/2009

VirtualHosts en Apache 2.2.x

En la serie 2.2.x de Apache cambia ligeramente la configuracin de los VirtualHost. Exite un archivo en C:\Archivos de programa\Apache Group\Apache\conf\extra\httpd-vhosts.conf que es donde debemos introducir la informacin de los VirtualHost que acabamos de ver. Una vez hecho, dentro del httpd.conf debemos buscar esto: # Virtual hosts #Include conf/extra/httpd-vhosts.conf Y activamos la inclusin de ese archivo: # Virtual hosts Include conf/extra/httpd-vhosts.conf
191 metaconta@gmail.com 06/06/2009

192

metaconta@gmail.com

06/06/2009

Cara Internet
Servidor cara a Internet

193

metaconta@gmail.com

06/06/2009

Cara Internet

Bien, hasta aqu hemos hecho lo necesario para manejar ms de un sitio web en nuestro servidor local. Hemos asignado un nico ServerName a cada sitio web ya que slo accederemos desde nuestro ordenador tecleando un nico nombre. Si adems de acceder desde nuestro ordenador deseamos acceder desde Internet, vamos a aadir algunos alias y ver otros aspectos importantes a tener en cuenta.

194

metaconta@gmail.com

06/06/2009

Cara Internet

Como dijimos ms arriba, la resolucin del VirtualHost se hace por nombre. Esto quiere decir que desde local podemos acceder tecleando http://sitioa/ (como ejemplo para el primer sitio que creamos), pero cmo acceder desde Internet? Lo lgico es acceder usando una direccin tipo http://www.sitioa.com o http://sitioa.dnsalias.com, etc. Para que esto funcione, es necesario aadir alias a nuestros VirtualHosts.

195

metaconta@gmail.com

06/06/2009

Cara Internet

Vamos a hacer un ejemplo para el sitio A. Supongamos que tenemos contratado el nombre de dominio sitioa.com, en la configuracin DNS de dicho dominio debemos poner la direccin IP pblica de nuestro ordenador o router. Esta direccin IP puede ser esttica o dinmica. Lo ideal es que fuera esttica, ya que el nombre de dominio tiene que redireccionar a alguna IP y lo lgico es que la IP sea siempre la misma. Pero si fuera dinmica, existen servicios que dan nombres de dominio para IP dinmica de forma gratuita, como puede ser DynDNS.org Este servicio hace que, cuando cambie la IP pblica del servidor, la IP a la que resuelve dicho dominio tambin cambie.
196 metaconta@gmail.com 06/06/2009

Cara Internet

En el VirtualHost de nuestro sitio A, que ya habamos configurado para acceder localmente, aadiremos el ServerAlias, asignndole todos los posibles nombres que puede tomar nuestro host. Por ejemplo, supongamos que los usuarios pueden teclear http://sitioa.com o http://www.sitioa.com Entonces quedara algo as:

197

metaconta@gmail.com

06/06/2009

Cara Internet

<VirtualHost *:80> ServerAdmin webmaster@sitioa.com DocumentRoot "C:/Servidor/Web/SitioA" ServerName sitioa ServerAlias sitioa.com *.sitioa.com ErrorLog logs/SitioA-error_log CustomLog logs/SitioA-access_log common </VirtualHost>

198

metaconta@gmail.com

06/06/2009

Cara Internet

De esta forma, cuando estemos en local, podemos teclear http://sitioa/ y accederemos a nuestro sitio web. Cuando alguien acceda desde Internet (que puede ser cualquier usuario o incluso nosotros desde nuestro propio ordenador), puede teclear algo como http://www.sitioa.com o http://sitioa.com y tambin acceder al sitio web, ya que el nombre de host introducido en la peticin web coincide con el ServerName o el ServerAlias de nuestro VirtualHost. Y esto lo haramos con cada uno de los VirtualHost a los que deseemos dar acceso de cara a Internet.

199

metaconta@gmail.com

06/06/2009

Cara Internet

Aspecto importante 1: si damos acceso a nuestro servidor desde Internet, debemos tener en cuenta que si usamos algn firewall, habr que configurarlo para permitir a Apache que funcione como servidor, recibiendo conexiones desde Internet. Igualmente si estamos detrs de un router, habr que redireccionar el puerto 80 a nuestro PC (denominado habitualmente Port Range Forwarding o NAT en destino).

200

metaconta@gmail.com

06/06/2009

Cara Internet

Aspecto importante 2: si vamos a acceder a un sitio web tanto en local como desde Internet, debemos tener en cuenta que el nombre de host cambia, esto quiere decir que debemos evitar hacer referencias absolutas a nuestros archivos, por ejemplo evitar poner las imgenes como <img src="http://sitioa/imagen.gif"> ya que, en este ejemplo, slo funcionar cuando un usuario entre localmente y no cuando entre desde Internet (para entrar desde Internet sera <img src="http://sitioa.com/imagen.gif">). Existen dos posibles soluciones, una usar referencias relativas a nuestros archivos (<img src="/imagen.gif">) y otra usando variables de PHP que dan el nombre de host, como $_SERVER['SERVER_NAME'] (<img src="<?php echo $_SERVER['SERVER_NAME']; ?>/imagen.gif">), pero esto es un tema de programacin en s y no se hablar ms en esta gua.
201 metaconta@gmail.com 06/06/2009

202

metaconta@gmail.com

06/06/2009

Otros manuales

203

metaconta@gmail.com

06/06/2009

Otros manuales
DESCARGAS DE MANUALES

Puedes descargar otros manuales.


Manuales Manuales Manuales

204

metaconta@gmail.com

06/06/2009

Enlaces de inters
Enlaces de pginas Web donde podrs encontrar ms informacin.

205

metaconta@gmail.com

06/06/2009

Enlaces de inters

http://www.apache.org Servidor Apache ms popular, estable, seguro y usado hasta la fecha. http://www.php.net Potente programa para hacer script Web. http://www.mysql.com Base de datos ms robusto en varios sistemas operativos. Es uno de los ms estable, seguro y muy usado actualmente. http://www.phpmyadmin.net Administrador de bases de datos por va web ms famoso bajo php. http://www.phpbb.com Foro phpbb ms popular en esta comunidad. http://www.joomla.org Web prefabricada oficial bajo php y MySQL. http://www.joomlaspanish.org Igual que la anterior pero con el pack ya incluido todo en espaol.
206 metaconta@gmail.com 06/06/2009

Enlaces de inters

Este manual fue desarrollado gracias a la informacin desde: http://www.maestrosdelweb.com/editorial/phpmysqla p/ http://www.mundodivx.com/php

207

metaconta@gmail.com

06/06/2009

Versin del manual

Publicado por primera vez: 06/06/2009

Versin :1.00
208 metaconta@gmail.com 06/06/2009

Puedes publicar este tutorial o manual en tu Web, foros, blogs, CD, DVD o Blu-Raypara revistas oficiales, etc, libremente.

Contacto
Cualquier comentario, sugerencia o mejoras del manual, me lo envan por correo electrnico al metaconta@gmail.com metaconta@gmail.com

209

metaconta@gmail.com

06/06/2009

Autor:
ngel Acaymo M. G.

210

metaconta@gmail.com

06/06/2009

Vous aimerez peut-être aussi