|
A través de este tutorial instalaremos un servidor de páginas web con base de datos MySQL, administrada desde un entorno web ( phpMyAdmin ) y finalizaremos con la instación opcional de un servidor de correo saliente ( SMTP ) Todo ello para un sistema operativo Windows XP Home.
Apache 1.3Instalación de Apache 1.3 Descargaremos el Apache en su versión para Windows, para ello entramos en esta página: http://httpd.apache.org/dist/httpd/binaries/win32/. En la cual buscamos la descarga apache_1.3.28-win32-x86-no_src.msi, descargamos y ejecutamos el instalador. En una pantalla se nos piden:
Network Domain, ponemos: 127.0.0.1 Server name, ponemos: 127.0.0.1 Administrator´s Email Address, se refiere al Correo-e del administrador, puedes poner el que quieras. Seleccionamos la opción: Run when started manually, only for me y pulsamos Next... Por defecto el Apache se instala en: C:\Archivos de programa\Apache Group\Apache\. Para arrancar el Apache debes entrar en Inicio - Todos los programas - Apache HTTP Server - Start Apache in Console. Una vez arrancado podrás ver una ventana de MSDOS, para cerrar el Apache cierra esta ventana. PHP4Instalación de PHP4 Antes de nada asegúrate de que el Apache está cerrado. Instalaremos la versión 4.3.3, el archivo en cuestión: php-4.3.3-Win32.zip, localizado en: http://www.php.net/get/php-4.3.3-Win32.zip/from/a/mirror. Iniciamos la dercarga y guardamos en el escritorio para posteriormente descomprimirlo y copiar los archivos a la carpeta que especificamos a continuación. Una vez descargado, creamos en el disco local C:\ la carpeta php, que quedaría C:\php\, ahí copiamos los archivos. Entramos en C:\php\ y copiamos el archivo php4ts.dll a la carpeta C:\WINDOWS\System32\, igualmente cogemos los archivos de la carpeta C:\php\dlls\ y los copiamos a C:\WINDOWS\System32\. Configuración del archivo php.ini El siguiente paso es configurar el archivo php.ini. Entramos en C:\php\ y buscamos el archivo php.ini-dist el cual lo renombramos a php.ini. Editamos este archivo con el mismo Bloc de notas o para una mejor búsqueda con el WordPad, si dispones de el. Búscamos la linea register_globals = Off, ahí sustituimos Off por On. Indicamos a PHP dónde se guardan las extensiones. Buscamos extension_dir y le ponemos la carpeta que contiene los archivos php_xxx.dll, que por defecto es la carpeta C:\php\extensions\.
Debe quedar extension_dir = c:/php/extensions/, fíjate en la inclinación de las barras. Vamos a activar las extensiones, para lo cual buscamos Windows Extensions para ello les quitamos el ; de delante. Debe quedar:
extension=php_bz2.dll extension=php_cpdf.dll extension=php_crack.dll extension=php_curl.dll extension=php_db.dll extension=php_dba.dll extension=php_dbase.dll extension=php_dbx.dll extension=php_domxml.dll extension=php_exif.dll extension=php_fdf.dll extension=php_filepro.dll extension=php_gd2.dll extension=php_gettext.dll extension=php_hyperwave.dll extension=php_iconv.dll ;extension=php_ifx.dll extension=php_iisfunc.dll extension=php_imap.dll extension=php_interbase.dll extension=php_java.dll extension=php_ldap.dll extension=php_mbstring.dll ;extension=php_mcrypt.dll extension=php_mhash.dll extension=php_mime_magic.dll extension=php_ming.dll extension=php_mssql.dll extension=php_msql.dll ;extension=php_oci8.dll extension=php_openssl.dll ;extension=php_oracle.dll extension=php_pdf.dll extension=php_pgsql.dll extension=php_printer.dll extension=php_shmop.dll ;extension=php_snmp.dll extension=php_sockets.dll ;extension=php_sybase_ct.dll extension=php_w32api.dll extension=php_xmlrpc.dll extension=php_xslt.dll extension=php_yaz.dll extension=php_zip.dll
Si te fijas algunas tienen el ; delante, ya que algunas extensiones requieren de librerias que no estan disponibles en esta distribución de PHP. Por lo que no las activamos. Para hacer pruebas con Upload de archivos via HTTP, vamos a indicar el directorio donde los archivos se almacenarán temporalmente. Primero creamos en C:\php\ una carpeta llamada uploads, que quedaría C:\php\uploads\. En segundo lugar buscamos upload_tmp_dir y le damos la ruta de esta carpeta que hemos creado.
La linea quedaría: upload_tmp_dir = c:/php/uploads/. Ahora para trabajar con sesiones creamos dentro de C:\php\ otra carpeta llamada sessions, que quedaría C:\php\sessions\. Buscamos session.save_path, y editamos la linea de tal forma que quede: session.save_path = c:/php/sessions/. Cerramos el archivo php.ini y guardamos los cambios, posteriormente lo copiamos a la carpeta C:\WINDOWS\. Configuración del archivo httpd.conf de Apache El siguiente paso es decirle a Apache que tenemos el PHP. Entramos en C:\Archivos de programa\Apache Group\Apache\conf\ y localizamos el archivo httpd.config, lo abrimos con el Bloc de notas o con el WordPad, para editarlo. Buscamos Dynamic Shared Object (DSO) Support, que es donde se cargan los módulos, hasta llegar a unas lineas similares a estas:
# Example: # LoadModule foo_module modules/mod_foo.so #
Debajo de # añadimos esta linea: LoadModule php4_module c:/php/sapi/php4apache.dll.
Tiene que quedar asi:
# Example: # LoadModule foo_module modules/mod_foo.so # LoadModule php4_module c:/php/sapi/php4apache.dll Ahora buscamos ClearModuleList y nos aparece:
ClearModuleList #AddModule mod_vhost_alias_c
Lo editamos de tal forma que quede:
ClearModuleList AddModule mod_php4.c #AddModule mod_vhost_alias.c El siguiente paso es para que al entrar en un directorio de nuestro servidor nos ejecute el archivo predeterminado. Se ejecutarán 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.
Buscamos IfModule mod_dir.c, y nos aparece estas lineas:
<IfModule mod_dir.c> DirectoryIndex index.html </IfModule>
La linea central la sustituimos por:
DirectoryIndex index.html index.htm index.php index.php3 index.phtml
De esta forma le decimos que busque primero, como puedes ver, el index.html si no se encuentra pasa a buscar index.htm, index.php...
Ahora a continuación de la linea central colocamos:
AddType application/x-httpd-php .php .php3 .phtml AddType application/x-httpd-php-source .phps
Estas hacen que si queremos mostrar el código fuente, se mostrara en color el código PHP.
Todo quedaría de esta forma:
<IfModule mod_dir.c> DirectoryIndex index.html index.htm index.php index.php3 index.phtml AddType application/x-httpd-php .php .php3 .phtml AddType application/x-httpd-php-source .phps </IfModule>
Ahora en C:\ creamos una carpeta llamada Apache donde dentro de esta crearemos otra www, de tal forma que quede; C:\Apache\www\, donde en la carpeta www colocaremos las páginas webs que creemos.
Posteriormente de nuevo en httpd.config, buscamos DocumentRoot y nos aparece:
DocumentRoot "C:/Archivos de programa/Apache Group/Apache/htdocs"
Por lo que le vamos a decir a Apache dónde guardamos nuestras páginas webs, que será en la carpeta www del directorio Apache de C:\, como hemos dicho.
Para ello, lo escribimos en la linea que nos apareció en la búsqueda de DocumentRoot:
DocumentRoot "C:/Apache/www/"
Ya podemos cerrar httpd.config guardando los cambios. El archivo info.php Abrimos el Bloc de notas y escribimos:
<? phpinfo(); ?>
Pulsamos en Archivo - Guardar como..., en Nombre ponemos info.php y en Tipo seleccionamos Todos los archivos. Lo guardamos dentro de la carpeta que anteriormente hemos creado www, localizada en C:\Apache\www\. Ahora arrancamos el Apache, para ello entramos en Inicio - Todos los programas - Apache HTTP Server - Start Apache in Console, y nos aparece la ventana de MSDOS, la dejamos abierta. Posteriormente en la barra de direcciones del navegador escribes: http://localhost/info.php o http://127.0.0.1/info.php
A través de esto visualizamos una página de información de php, con el logo. Esta página nos informa del PHP que tenemos instalado.
Si sale esta página es que todo está bien. MySQLInstalación de MySQL Vamos a hacer la instalación de la versión 4.0.16 o posterior, entramos en http://www.mysql.com/, posteriormente entramos en el apartado Downloads y buscamo MySQL 4.0. Una vez dentro de esta página vamos bajando hasta llegar a Windows downloads, ahí podemos ver Windows 95/98/NT/2000/XP/2003, pulsamos en Pick a mirror. Dentro de esta página seleccionamos el servidor HTTP que nos interese y pulsamos en HTTP, e iniciamos la descarga. Le damos a guardar y lo ubicamos en el escritorio. Mientras se descarga vamos a crear una nueva carpeta llamada mysql dentro del directorio php de C:\, osea debe quedar: C:\php\mysql\. Una vez finalizada la descarga, lo descomprimimos. Posteriormente abrimos la carpeta que hemos descomprimido y buscamos el Setup, e iniciamos la instalación. Cuando se pregunte la ruta de la instalación, aparece por defecto: C:\mysql, esto lo sustituimos por C:\php\mysql para realizar la instalación en la carpeta que hemos creado. Finalizada la instalación, entramos en C:\php\mysql\bin\, y localizamos el archivo winmysqladmin.exe lo ejecutamos, doble click. Una vez ejecutado nos pide un nombre de usuario y contraseña, introducimos, por ejemplo: usuario y clave. Ahora cerramos todo y reiniciamos WINDOWS, para tenerlo todo un poco más claro. Una vez reiniciado fíjate que durante unos segundos aparece la pantalla de MySQL, esto es debido a que por defecto dentro de Inicio - Todos los programas - Inicio, se ha creado el acceso directo WinMySQLadmin, lo dejamos ahí, ya sabes que cuando enciendas el ordenador se arranca automáticamente MySQL. phpMyAdminInstalación de phpMyAdmin phpMyAdmin es una utilidad que nos sirve para interactuar con una base de datos, en este caso MySQL, desde un entorno web. Está escrita en PHP, por lo que necesitamos tener instalado y arrancado Apache y MySQL para poder trabajar con ella. En primer lugar vamos a crear una nueva carpeta en www del directorio Apache del disco local C:\ la llamaremos phpmyadmin por lo que la ruta sería: C:\Apache\www\phpmyadmin\. En esta carpeta recién creada vamos a copiar los archivos que descargaremos a continuación. Para la descarga de archivos entramos en: http://www.phpmyadmin.net/ y accedemos a Downloads, aquí localizamos la descarga phpMyAdmin-2.5.4-php.zip. Seleccionamos el servidor para la descarga y guardamos en el escritorio. Una vez finalizada la descarga descomprimimos los archivos y los copiamos en la carpeta phpmyadmin que anteriormente hemos creado, C:\Apache\www\phpmyadmin\. Configuración del archivo config.inc.php Entramos en C:\Apache\www\phpmyadmin\ y localizamos en archivo config.inc.php lo abrimos con nuestro editor de texto para editar lo siguiente: Buscamos la linea $cfg['PmaAbsoluteUri'] = ''; y escribimos de tal forma de que esta linea quede así:
$cfg['PmaAbsoluteUri'] = 'http://localhost/phpmyadmin/'; Ahora buscamos la linea $cfg['blowfish_secret'] = ''; y ponemos, una cadena de caracteres cualquiera, que servirá de semilla para la encriptación de contraseñas al usar la autentificación con cookies:
$cfg['blowfish_secret'] = 'puedes poner lo que quieras'; Cerramos y guardamos los cambios. Configurando los usuarios del servidor MySQL Nuestro usuario de MySQL por defecto es root sin password. Con esto podría valernos para hacer pruebas utilizando MySQL en nuestro host local, pero vamos a crear un usuario y borrar aquellos que no nos interese, para de esta forma disponer de un nivel de seguridad aceptable.
Antes de nada arrancamos Apache y MySQL. Escribimos en la barra de direcciones de nuestro navegador: http://localhost/phpmyadmin/ y seguimos los siguientes pasos: Pinchamos en el enlace Privilegios y en la siguiente pantalla le damos a Agregar nuevo usuario.
En la pantalla que entramos se nos pide:
Nombre de usuario: aquí escribimos usuario.
Servidor: Podemos seleccionar el campo Cualquier servidor ( Si seleccionamos esta opción el campo de texto queda vacio, no se pone nada ) para entrar desde cualquier ordenador ó seleccionamos Local ( En este caso ponemos en el campo de texto localhost, si no aparece automáticamente ) para entrar únicamente desde nuestro ordenador, donde tenemos instalado MySQL.
Contraseña: aquí escribimos clave.
Re-escriba: aquí re-escribimos clave.
Privilegios globales: Le damos todos los permisos y privilegios, marcando todas las casillas que aparecen.
Pulsamos Continúe.
Ahora, en la pantalla que entramos, pulsamos en Privilegios de nuevo, y en la página que nos dirige marcamos aquellos usuarios que queremos eliminar. En la opción Retire a los usuarios seleccionados marcamos la casilla Borre a los usuarios y vueva a cargar los privilegios posteriormente. A continuación pulsamos Continúe
Por último en la pantalla que entramos, al final de la página, abajo del todo aparece una Nota, leela y pulsa el enlace que contiene la nota: Cargar la página de privilegios nuevamente. Nos dirige a una página que nos dara un error, esto es debido a que tenemos que editar de nuevo el archivo config.inc.php, cierra el navegador, y apaga el servidor Apache. Entramos otra vez en C:\Apache\www\phpmyadmin\ y localizamos en archivo config.inc.php lo abrimos con nuestro editor de texto para editarlo de nuevo. Buscamos las lineas:
$cfg['Servers'][$i]['auth_type'] $cfg['Servers'][$i]['user'] $cfg['Servers'][$i]['password'] En la primera linea podemos poner config para que no nos pida contraseña al entrar ( Sólo si somos el único usuario que va a disponer de este phpMyAdmin ), o si queremos que nos la pida ponemos http para autentificación HTTP o cookie para autentificación y navegación con cookies. Esta última, cookie, es la más recomendada.
En la segunda linea ponemos el nombre de usuario que hemos creado: usuario.
Por último en la tercera linea colocamos la contraseña creada: clave.
De tal forma que quede: $cfg['Servers'][$i]['auth_type'] = 'cookie'; $cfg['Servers'][$i]['user'] = 'usuario'; $cfg['Servers'][$i]['password'] = 'clave'; Cerramos y guardamos los cambios. Arrancamos Apache y MySQL, accedes a la dirección http://localhost/phpmyadmin/, si pusistes config, entraras diréctamente al panel de administración. En cambio si pusistes http o cookie se te pedirá el usuario y contraseña, posteriormente te redirige al panel de administración. El usuario y contraseña serán las que pusiste al crear el usuario: usuario y clave.
En nuestros script que usen MySQL usaremos el usuario y contraseña que hemos creado, de tal forma que al hacer la conexión a MySQL debe quedar algo similar a esto:
<?php mysql_connect("127.0.0.1","usuario","clave"); ?> Si nos decidimos por instalar un portal prefablicado como PHP Nuke o un foro, o cualquier aplicación en la que nos solicitan un host, usuario y contraseña, los datos que deberemos indicar son esos tres: 127.0.0.1 o localhost como host, usuario como usuario y clave como contraseña. Hasta aquí si todo lo hemos realizado corréctamente, ya tenemos en nuestra máquina un completo servidor de páginas webs, con bases de datos MySQL, administrada desde un entorno web, phpMyAdmin. Osea un todopoderoso conjunto de herramientas para la programación de aplicaciones webs. SMTPInstalación opcional Si queremos que nuestras páginas PHP envien correos electrónicos, utilizando la función mail() para sistemas de recomendaciones, contacto u otras aplicaciones de correo saliente. Podemos instalar un servidor SMTP, con estos servidores podremos enviar correos desde PHP, pero no podremos recibir ya que se tratan de servidores SMTP ( Enviar ) y no POP/IMAP ( Recibir ). Configuración del archivo php.ini Vamos a abrir con nuestro editor de texto el archivo php.ini localizado en C:\php\, éste viene por defecto configurado para un servidor de correo instalado en el localhost, pero se le puede cambiar la variable sendmail_from, que se encarga de poner el remitente que le aparecerá a la persona que recibe el correo si no lo especificamos en las cabeceras, en el campo FROM, de la función mail() de nuestras páginas PHP. Buscamos las lineas:
[mail function] ; For Win32 only. SMTP = localhost
; For Win32 only. sendmail_from = me@localhost.com
Podemos cambiar sendmail_from colocando el remitente que quieras, por ejemplo: usuario@micorreo.com De tal forma que quede:
[mail function] ; For Win32 only. SMTP = localhost
; For Win32 only. sendmail_from = usuario@micorreo.com Cerramos, guardamos los cambios y copiamos el archivo, php.ini, a C:\WINDOWS\ de nuevo, lo sobreescribimos. Instalación de un servidor de correo saliente SMTP Un buen servidor sería el QK SMTP Server lo encontramos en http://www.qksoft.com/, descargar en Download now y empezar la instalación. No hay que modificar nada en este programa, sólo hay que tenerlo abierto y el Apache arrancado y ya podemos enviar correos mediante PHP. Probando el servidor SMTP Abrimos el Bloc de notas y escribimos:
<?php $sfrom="remitente@correo.com"; //Remitente $sdestinatario="destinatario@correo.com"; //Destinatario $ssubject="Test SMTP"; //Asunto $shtml="El servidor de correo SMTP funciona correctamente."; //Mensaje $sheader="From:".$sfrom."\nReply-To:".$sfrom."\n"; $sheader=$sheader."X-Mailer:PHP/".phpversion()."\n"; $sheader=$sheader."Mime-Version: 1.0\n"; $sheader=$sheader."Content-Type: text/html"; mail($sdestinatario,$ssubject,$shtml,$sheader); ?>
Cambias remitente@correo.com que será el que aparece como remitente del correo y destinatario@correo.com que será el buzón de correo donde llegara este Test SMTP.
Pulsamos en Archivo - Guardar como..., en Nombre ponemos TestSMTP.php y en Tipo seleccionamos Todos los archivos. Lo guardamos dentro de la carpeta www, localizada en C:\Apache\www\.
Arranca el Apache y abre el programa SMTP que hemos instalado, en este caso QK SMTP Server, entra en Inicio - Todos los programas - QK SMTP Server - QK SMTP Server...
En la barra de direcciones del navegador escribes: http://localhost/TestSMTP.php o http://127.0.0.1/TestSMTP.php nada más entrar en esta página se ejecuta el script y se envia el correo. Posteriormente dirigete al buzón de correo que pusiste en $sdestinatario, para ver si a llegado el correo con éxito. Si actualizas la página se envia de nuevo el correo.
|