Instalación de Apache

Informática. Internet. Web. Dominio. Servidor Apache. Instalacion PHP y SQL (Structured Query Language)

  • Enviado por: El remitente no desea revelar su nombre
  • Idioma: castellano
  • País: España España
  • 7 páginas
publicidad
publicidad

APACHE

INSTALANDO APACHE.

Durante el proceso nos preguntará el nombre del dominio y del servidor, que podemos rellenar con "localhost". Nos pedirá también una dirección de correo, que podemos rellenar con cualquiera que deseemos. También nos pregunta si deseamos que el servidor responda en el puerto 80 para todos los usuarios o si deseamos que sólo se active para el usuario actual en el puerto 8080, cuando se inicie manualmente. Lo normal es que lo activemos para todos los usuarios.



Con estos datos queda configurado el Apache inicialmente. En cualquier momento podemos editarlos a nuestro gusto o necesidades. Para ello deberemos editar el fichero httpd.conf, que se encuentra en el directorio de instalación de Apache, que hemos indicado durante el proceso de instalación, más concretamente, en el subdirectorio conf.

Para ver que apache se ha instalado correctamente, vamos a los servicios (services.msc) o también podemos observar en la barra de herramientas que está Start o ejecutar Internet Explorer y poner en la barra https://localhost

INSTALAR MÓDULO PHP.

Existen dos formas de configurar PHP para trabajar con Apache, instalar como un módulo SAPI o instalar como un CGI. En nuestro caso instalaremos PHP como un módulo de Apache, ya que PHP instalado como módulo de Apache resulta mucho más rápido que como CGI.

Una vez descargado el paquete de PHP lo descomprimirlo en nuestro disco duro, en una carpeta llamada por ejemplo c:\php.

Posteriormente deberemos editar nuestro archivo de configuración de Apache (httpd.conf) que está en el directorio C:\Archivos de programa\Apache Group\Apache2\conf, he incluir las siguientes líneas donde corresponda.

LoadModule php5_module "C:/php/php5apache2.dll"

AddType application/x-httpd-php .php .phtml

AddType application/x-httpd-php-source .phps

Una vez configurado el httpd.conf nos vamos a la carpeta c:\php, hacemos una copia del fichero php.ini-dis, creamos una copia del misma y la renombramos como php.ini.

El ultimo paso es cambiar las opciones de la vista de las carpetas: PANEL DE CONTROL/OPCIONES DE CARPETAS en la pestaña VER deseleccionamos la opción OCULTAR LAS EXTENSIONES DE ARCHIVO PARA TIPO DE ARCHIVOS CONOCIDOS.

Para comprobar que lo hemos instalado bien, dentro de la carpeta htdocs, creamos un documento con extensión .php con el siguiente código:

<?

phpinfo()

?>

Muestra correctamente es que todo ha ido bien y que tenemos perfectamente instalado PHP en nuestro servidor Apache.

<HTML>

<HEAD> <TITLE> Primer programa PHP

</TITLE></HEDAD>

<BODY>

Esto de una instrucción PHP</BODY>

</HTML>

Ejemplo de página con php y html

<?php

$a = 1254;

$b = 2000;

echo "Sumando valores: $a + $b =";

$suma = $a+$b;

print ("$suma");

if ($suma > 0)

{

echo "Numero positivo";

}

else

{

echo "Numero negativo";

}

?>

El ejemplo anterior es un ejemplo bastante básico de php, en éste tenemos dos numeros los cuales los sumamos y si el resultado es positivo nos lo dice, por el contrario si no nos muestra que el número es negativo.

INSTALAR MÓDULO MySQL.

Para instalar MySQL descomprimimos el archivo zip en el disco duro e instalamos con el instalador SETUP.EXE, una vez instalado nos vamos a la carpeta que ha creado en el HDD mysql/bin y ejecutamos winmysqladmin.exe para la herramienta gráfica de administración de MySql, la primera vez que lo ejecutamos nos aparecerá la siguiente pantalla.

Introducimos lo que queramos y listo., para asegurarnos que SQL esta funcionando nos fijaremos que en la barra de herramientas nos aparezca un semáforo en verde. El usuario que crea por defecto es “root” sin contraseña.

En una consola de MS-DOS podemos ejecutar el cliente de MySql, nos posicionamos en el directorio c:\mysql\bin y ejecutamos mysqlc.

Como podemos observar únicamente tenemos creada la tabla test para crear una nueva tabla create database prueba_bbdd; para hacer esta operación tenemos que ser administradores si no mostrará el error 1044 Access denied for '@localhost' user..., esto pasa porque hemos ingresando como un usuario anonimo, sin permisos a la base de datos mysql, por tanto cuando lanzemos el cliente lo haremos de la siguiente manera mysql mysql -u root, para entrar como administrador, el modificador -p no haría falta porque dicha cuenta carece de contraseña. Como podemos observar nuestra bbdd ya existe:

CONVIVENCIA DE PHP Y MSQL.

Para poder atacar bbdd mysql desde un programa escrito en código PHP (como por ejemplo mediante un formulario de una página WEB), es necesario configurar el fichero php.ini. Para configurar el php.ini, indicaremos a la ruta donde están todas las librerías dinámicas en la carpeta con el fin de ofrecer funcionalidades adicionales:

extension_dir = "c:/php/ext/"

extension=php_mysqli.dll

Una vez realizados dichos cambios, copiamos la librería libmysqli.dll de la carpeta php al directorio c:\windows\system32.

PROBEMOS.

Ejecutamos MYSQL, y creamos la bbdd visitas (CREATE TABLE VISITAS;), nos metemos dentro de dicha bbdd (USE VISITAS;), y dentro creamos la siguiente tabla:

CREATE TABLE librovisitas_php (
    id_librovisitas_php int(11) unsigned NOT NULL auto_increment,
    nombre varchar(150) NOT NULL,
     valoracion tinyint(4),
     PRIMARY KEY (id_librovisitas_php)
);

Metemos datos en la tabla:

INSERT INTO librovisitas_php

(`id_librovisitas_php,`nombre`,`valoración`)

VALUES

(1,'raquel',12);

Para probar la perfecta convivencia de PHP y mysql se ha ideado un ejemplo: tenemos la página comentario.php en la que nos pedirá el nombre de la persona y una valoración, mostrando un botón de grabar para grabar dichos datos en la base de datos. Cuando pulsemos sobre el botón grabar nos indicará que la base de datos se ha actualizado correctamente.

1. Creemos una página llamada comentario.php:

<form action="procesar.php">

<table width="421" border="0" cellspacing="2" cellpadding="0"><tr>

<td width="95" height="32">Nombre</td>

<td><input type="text" name="nombre" size="32" maxlength="50" border="0"></td>

</tr>

<tr>

<td width="95">Valoracion</td>

<td><input type="text" name="valor" size="32" maxlength="50" border="0"></td>

</tr>

<td width="95"><input type="submit" name="accion" value="Grabar"></td> <td></td>

</tr>

</table>

</form>

2. Creemos la página procesar.php:

<html>

<body>

<?php

mysql_connect("localhost","root","");

mysql_select_db("visitas");

$sql="INSERT INTO librovisitas_php (id_librovisitas_php,nombre,valoracion) VALUES ('','$nombre',$valor)";

$result = mysql_query($sql) or die(mysql_error());

if(!$result)

echo "Error al actualizar la base de datos";

else

echo "Base de datos actualizada correctamente";

?>

</body>

</head>

Bien cada vez que iniciemos la página comentario.php nos pedirá unos datos, al pulsar sobre grabar, estos datos son grabados en la base de datos de libro de visitas. Mostrando pantallazas:

Contenido de nuestra bbdd Datos introducidos

Los datos se han introducido

El único problema encontrado es que no introduce el valor introducido para la valoración.

ACLARANDO CONCEPTOS

SAPI (Software Application programe interface): Si instalamos PHP en modo SAPI, estamos configurando como si el intérprete fuese un módulo software de los que tiene instalados APACHE, es decir, el proceso se ejecuta en el espacio de memoria que el sistema tiene reservado para ejecutar APACHE.

CGI (Common Gateway Interface): El intérprete es un software pero no es un módulo de APACHE, se ejecuta como una entidad aparte del servidor, es decir, el proceso no se ejecuta en el espacio de memoria que el sistema tiene reservado para ejecutar APACHE.

CREATE TABLE datos_alumnos(

id int(2) NOT NULL,

nombre varchar(20) NOT NULL,

apelllido varchar(60) NOT NULL,

edad int(2),

KEY (id)

);

INSERT INTO datos_alumnos(`id`,`nombre`,`apelllido`,`edad`) VALUES (1,'raquel','villanueva',25);

INSERT INTO datos_alumnos(`id`,`nombre`,`apelllido`,`edad`) VALUES (2,'antonia','de la fuente',45);