Ya tenemos PHP funcionando con Apache, solo resta poner a funcionar la coneccion con la base de datos, para esto revisaremos una vez mas el archivo "php.ini", buscamos la seccion "paths and directories" y actualizamos la carpeta donde estan las extensiones:
extension_dir = "C:\PHP\ext\"
Mas abajo encontramos la lista de extensiones de PHP, seleccionamos las que vamos a usar, quitando el punto y coma al principio de la linea:
Y listo, ya tenemos PHP configurado para trabajar con MySQL, ahora solo falta instalar MySQL, de la manera mas sencilla, siguiente>siguiente>finish.
Si por cualquier motivo les da un error del tipo:
"to undefined function mysql_connect()..."
es que PHP no esta leyendo correctamente las extensiones, verificar la carpeta de extensiones (extension_dir), si el problema persiste copiar las extensiones (.dll) a la carpeta Windows/System32, y si el problema persiste, copiar el archivo "php.ini" a la carpeta de Windows/, con esto deberia de funcionar.
He decidido empezar un pequeño mini-tutorial, en donde vamos aprender a configurar Apache para trabajar con PHP con conexión a MySQL. En esta primera parte, expondremos como configurar Apache para trabajar con PHP, para después en una segunda parte exponer la conexión con MySQL. Las pruebas han sido realizadas sobre Windows Vista Ultimate de 64 bits, aunque no debería de haber ningún problema con otra versión.
·Descargar PHP en archivo “Zip” para descomprimir.
CONFIGURANDO PHP.INI
Empezaremos descomprimiendo el archivo “php-5.2.6-Win32.zip” en una carpeta en el disco duro “C:\PHP”, para configurar PHP podemos tomar como base los archivos PHP.ini-dist o PHP.ini-recommended, usaremos este último, php.ini-recommended y lo renombraremos a php.ini. Primero debemos ubicar la carpeta donde esta nuestro sitio, en mi caso he puesto esta carpeta dentro de la carpeta de PHP (pero la pueden poner el cualquier lugar), esta carpeta contiene la paginas que formaran nuestro sitio, yo la he puesto en “C:\PHP\Site”, debemos de cambiar la dirección default en el “php.ini”, ubicamos la siguiente sección:
·; cgi.force_redirect configuration below
doc_root =
y la modificamos con nuestra carpeta:
·; cgi.force_redirect configuration below
doc_root = "C:\PHP\Site"
Ahora vamos a configurar las extensiones que va a usar PHP, estas se encuentran en la carpeta “/ext”, por ejemplo las librerías para la conexión con MySQL, para ellos ubicamos la sección de extensiones:
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
Y habilitamos las extensiones de MySQL quitando los puntos y comas “;”al principio de cada línea.
extension=php_mysql.dll
extension=php_mysqli.dll
Nota: Algunas veces estas extensiones presentan problemas, debido a que no son encontradas por lo general en Windows XP, si esto sucede copie estas extensiones que vaya a usar a la carpeta principal, en este caso seria “C:\PHP”, si el problema persiste, copia también a las carpetas de /Windows y /Windows/System32 y el problema debería quedar solucionado.
CONFIGURANDO HTTPD.CONF
Empezaremos instalando Apache, de la manera más sencilla (siguiente>siguiente>finish). Una vez instalado Apache, debemos de configurarlo para soportar PHP, para ellos encontramos el archivo de configuración “httpd.conf” en “C:\Program Files (x86)\Apache Group\Apache2\conf” y lo editamos de la siguiente manera:
Debemos de añadir los módulos de PHP, buscamos la sección de carga de módulos y añadimos:
LoadModule php5_module C:\PHP\php5apache2.dll
AddType application/x-httpd-php .php
También debemos cambiar la carpeta donde esta nuestro sitio, para ellos buscamos y modificamos:
#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "C:/PHP/Site"
...
...
#
# This should be changed to whatever you set DocumentRoot to.
#
...
...
#
# UserDir: The name of the directory that is appended onto a user's home
# directory if a ~user request is received.Be especially careful to use
# proper, forward slashes here.On Windows NT, "Personal/My Website"
# is a more appropriate choice.
#
UserDir "C:/PHP/Site"
El siguiente cambio es importante, debemos prestar atención, la pagina por defecto que abrirá el servidor es “index.html”, nos dará error si no existe, pero debido a que estamos usando PHP lo más probable es que nuestra página principal sea “index.php”, de ser así, debemos modificar el archivo, en la sección “Directory Index”
DirectoryIndex index.html index.html.var
Una vez cambiado nos quedara así:
#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
# The index.html.var file (a type-map) is used to deliver content-
# negotiated documents.The MultiViews Option can be used for the
# same purpose, but it is much slower.
#
DirectoryIndex index.php index.html.var
Y listo!, hemos configurado Apache para poder desarrollar con PHP. Para probar que lo hemos hecho correctamente, vamos a probar una página sencilla:
Para instalar Oracle lo mas practico es descargarnos el paquete oracle-xe...i386.deb puesto que como es un archivo Debian es sumamente sencillo instalarlo. El archivo lo puedes encontrar aqui:
recuerda que para tener derecho a descargarlo debes tener una cuenta registrada, si no la tienes creala, es muy facil y gratuito.
Una vez termines de descargar el paquete, dale clic derecho y escoje la opcion para instalar paquetes Debian te pedira tu clave root, la ingresas, seguido de "Instalar paquete" y al finalizar ya tendras instalado Oracle 10g Xe.
Ahora vamos a configurarlo: Para ello ejecutamos el siguiente comando:
sudo /etc/init.d/oracle-xe configure
Despues debemos de ingresar la configuracion, de antemano oracle nos presenta los valores por defecto, asi que escojemos esos:
Oracle Database 10g Express Edition Configuration ————————————————- This will configure on-boot properties of Oracle Database 10g Express Edition. The following questions will determine whether the database should be starting upon system boot, the ports it will use, and the passwords that will be used for database accounts. Press to accept the defaults. Ctrl-C will abort. Specify the HTTP port that will be used for Oracle Application Express [8080]:8080 Specify a port that will be used for the database listener [1521]:1521 Specify a password to be used for database accounts. Note that the same password will be used for SYS and SYSTEM. Oracle recommends the use of different passwords for each database account. This can be done after initial configuration: Confirm the password: Do you want Oracle Database 10g Express Edition to be started on boot (y/n) [y]:y Starting Oracle Net Listener…Done Configuring Database…Done Starting Oracle Database 10g Express Edition Instance…Done Installation Completed Successfully. To access the Database Home Page go to “http://127.0.0.1:8080/apex”
Para acceder a la pagina principal de la base de datos como dice la ultima linea ingresamos en nuestro navegador:
http://127.0.0.1:8080/apex
Cuando ingresamos a la pagina, ingresamos nuestro usuario, este puede ser SYS o SYSTEM, y la contrasena es la que definimos cuando configuramos oracle. Una vez ingresado podemos administrar la base de datos, agregar usuarios, tablas, table spaces, etc.
Para ejecutar sentencias SQL, tenemos la opcion "SQL", si queremos ejecutar estas sentencias en consola tecleamos en consola:
sqlplus
Si hubieramos puesto que la base de datos no inicie al encender la Pc, debemos de levantar la base de datos, o si por alguna razon quisieramos detener la base de datos, debemos de hacerlo como DBA de la base de datos, nos logeamos asi:
sqlplus sys as sysba
Levantar:
startup
Cerrar:
shutdown immediate
Ahora vamos a configurar las variables de entorno: Limpiamos la consola mediante:
clear
Y nos situamos en el directorio home y editamos el archivo .bashrc
Si escogimos la opcion no iniciar al encender el Pc, debemos de iniciar el Listener sino queremos usar la consola, para ello:
cd $ORACLE_HOME
lsnrctl
ces@debian:/usr/lib/oracle/xe/app/oracle/product/10.2.0/server$ lsnrctl LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 11-MAY-2008 20:50:50 Copyright (c) 1991, 2005, Oracle. All rights reserved. Welcome to LSNRCTL, type “help” for information. LSNRCTL> status Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE))) STATUS of the LISTENER ———————— Alias LISTENER Version TNSLSNR for Linux: Version 10.2.0.1.0 - Production Start Date 11-MAY-2008 18:47:25 Uptime 0 days 2 hr. 3 min. 27 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Default Service XE Listener Parameter File /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/network/admin/listener.ora Listener Log File /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/network/log/listener.log Listening Endpoints Summary… (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_FOR_XE))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=soledad)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=8080))(Presentation=HTTP)(Session=RAW)) Services Summary… Service “PLSExtProc” has 1 instance(s). Instance “PLSExtProc”, status UNKNOWN, has 1 handler(s) for this service… Service “XE” has 1 instance(s). Instance “XE”, status READY, has 1 handler(s) for this service… Service “XEXDB” has 1 instance(s). Instance “XE”, status READY, has 1 handler(s) for this service… Service “XE_XPT” has 1 instance(s). Instance “XE”, status READY, has 1 handler(s) for this service… The command completed successfully LSNRCTL>
Ahora levantamos/detenemos el listener
stop / start
Esto debemos ejecutarlo como el usuario oracle, aunque lo mas sencillo es agregar tu usuario al grupo DBA. Para ello vamos a Sistema/Administracion/Usuarios y grupos clic en "gestionar grupos", buscamos y seleccionamos el grupo DBA y agregamos nuestro usuario.