You are on page 1of 24

Universidad Nacional

Facultad de Ciencias Exactas y Naturales


Escuela de Informática
Fundamentos de Programación Web

Manual de Instalación y configuración del Appserv

Integrantes:

Wilken Steinvorth Vallecillo


Wilbert Bolaños Bolaños
Ariana Alfaro Carballo
Andrés Víquez Víquez
Daniel León Monge

Año:
2007
Índice
..................................................................................................................................2
Instalación de AppServ......................................................................................................3
Configuración Específica de PHP:....................................................................................9
Opciones de lenguaje.................................................................................................9
Gestión y archivo de errores....................................................................................10
Gestión de datos.......................................................................................................11

.........................................................................................................................................12
Configuración de phpMyAdmin......................................................................................13
Especificaciones de la configuración:.............................................................................14
Configuración Específica de Apache:.............................................................................18
Configuración Específica de MySQL:............................................................................21
Configuración del Zend Optimizer..................................................................................24

2
Instalación de AppServ

A continuación se muestra como configurar un servidor AppServ en Windows. Dicho


paquete contiene las siguientes herramientas:
• Apache 2.2.4
• PHP 5.2.3
• MySQL 5.0.45
• phpMyAdmin-2.10.2

1. Double Click appserv-win32-x.x.x.exe para instalar AppServ.

3
2. Acuerdo de licencia: AppServ esta distribución bajo Licencia de GNU/GPL. Usted
debe leer el acuerdo de licencia antes de instalar. Si esta de acuerdo haga click en el
boton “I Agree”, de lo contrario de click en “Cancelar”.

3. Seleccione la ubicación de los archivos de instalación. Click “Next” para continuar.

4
4. Seleccione los paquetes que se desean instalar. Click “Next” para continuar.

5
5. Configuración de Apache:

Server Name: Se debe especificar el nombre del servidor.


Administrator’s Email Address: Especificación del correo del administrador.
HTTP Port: Se debe especificar el Puerto HTTP para Apache Web Server.

Click “Next” para continuar.

6
6. Configuración de MySql:

Root Password: Se debe ingresar un password para el usuario root de MySQL Database.
El password por defecto de dicho usuario es root.

Click “Next” para continuar.

7
7. Instalación completa: La instalación pregunta si desea iniciar Apache y MySQL
inmediatamente. Click “Finish” para finalizar.

8
Configuración Específica de PHP:

Una vez instalado appserv, automáticamente queda configurado PHP, sin embargo es
posible modificar sus parámetros manualmente abriendo el archivo de configuración
php.ini.

Opciones de lenguaje

- engine: activa la interpretación de scripts php (si php está cargado como
módulo de apache).

- short_open_tag: permite usar en los scripts etiquetas php abreviadas


<? ... ?>, y el atajo para imprimir variables <%= $valor %>. Si el valor es off,
deberas usar la forma <?php ... ?> o <script>.

- asp_tags: permite usar etiquetas estilo asp <% ... %>.

- precision: número máximo de decimales visualizados

- y2k_compliance: fuerza la compatibilidad con el año 2000.

- output_buffering: permite enviar cabeceras http desde puntos distintos


al inicio del script. Esta posibilidad esta penalizada por una disminución del
rendimiento.

- output_handler: permite redirigir toda la salida de los scripts a una


función PHP.

- zlib.output_compression: habilita la libreria zlib de forma que los datos


de salida del script se envian comprimidos.

- implicit_flush: intenta enviar al cliente el contenido de la memoria


intermedia de salida. Es desaconsejable su activación, siendo preferido usar la
función flush() cuando sea necesario.

- safe_mode: activa el modo seguro de PHP.

9
safe_mode_include_dir: los archivos que estén en este directorio podrán ser
utilizados con include/require en safe_mode On sin necesidad de chequeos
UID/GID

- safe_mode_exec_dir: si se utiliza en modo seguro, las funciones que


ejecutan programas del sistema solo actuarán sobre archivos ejecutables que estén
en el directorio indicado.

- open_basedir: limita los archivos que se pueden abrir por PHP al árbol
de directorios especificado.

disable_functions: permite deshabilitar con carácter general determinadas


funciones PHP.

- expose_php: permite controlar si PHP debe o no revelar su presencia en


el servidor.

Empleo de recursos

- max_execution_time: fija el tiempo máximo (en segundos) que se le


permite usar a un script antes de ser finalizado por el intérprete.

- max_input_time: tiempo máximo (en segundos) que el script puede


invertir en analizar datos recibidos

- memory_limit: establece el tamaño máximo de memoria (en bytes) que


se permite reclamar a un script.

Gestión y archivo de errores

- error_reporting: establece el nivel de detalle con el que PHP informa


errores. Lo recomendado es permitir mostrar errores, con el máximo detalle posible,
mientras desarrollas el script PHP; y cuando está terminado y en producción,
deshabilitar el mostrado de errores en pantalla y activar en su lugar el archivo de
errores.

- display_errors: determina si los errores se visualizan en pantalla como


parte de la salida en HTML o no.

- display_startup_errors: por defecto PHP no muestra los errores que


detecta en la secuencia de encendido, con esta directiva se puede mostrar estos
errores.

- log_errors: guarda los mensajes de error en un archivo.

- log_errors_max_len: especifica el tamaño del archivo error_log.

10
- ignore_repeated_errors: si está activado, no archiva mensajes
repetidos.

- ignore_repeated_source: si está activado, considera repetidos los


mensajes de error iguales, aunque provengan de distinta linea / script

- track_errors: si lo activamos, tendremos el último mensaje de error o


advertencia almacenado en la variable $php_errormsg

- error_prepend_string: cadena a añadir antes de cada mensaje de error.

- error_append_string: cadena a añadir después del mensaje de error.

- error_log: nombre del fichero para registrar los errores de un script.

Gestión de datos

- arg_separator.output: carácter que se empleará en las urls generadas por PHP para
separar argumentos (valores pasados vía url).

- arg_separator.input: separadores que usará PHP cuando analice una url


suministrada para almacenarla en variables

- variables_order: fija la precedencia en que PHP registrará e interpretará las


variables de entorno.

- register_globals: permite registrar automáticamente las variables EGPCS como


globales.
- post_max_size: tamaño máximo de los datos que PHP aceptará por el método
POST

- auto_prepend_file y auto_append_file: permiten indicar la ruta y nombre de un


archivo que se añadirán antes o después, respectivamente, de todos los archivos php
que se ejecuten.

- default_charset: código de caracteres indicado por PHP en la cabecera de salida.

- default_mimetype: el tipo mime de salida de datos.

- allow_webdav_methods: permite manejar las peticiones http propias de webdav.

Estas son tan solo unas cuantas de las muchas directivas que configuran a PHP. El
modelo que se propone por defecto debería ser modificado solo si las circunstancias lo
ameritan, por lo general es una buena política dejar estos con sus valores por defecto.

11
12
Configuración de phpMyAdmin
Antes de comenzar con la configuración de phpMyAdmin se deben tomar en cuenta
algunos puntos importantes:

phpMyAdmin corre inicialmente libraries/config.default.php y luego sobrescribe


aquellos valores encontrados en config.inc.php.

Las direcciones subministradas durante la configuración de phpMyAdmin contienen


una especificación de la dirección del servidor subministrado durante la instalación del
Appserv. Se advierte que los ejemplos son brindados con la dirección de localhost.

La documentación general de phpMyAdmin se encuentra en la dirección


http://localhost/phpMyAdmin/Documentation.html, la cual contiene una extensa
cantidad de información sobre configuración de phpMyAdmin.

Los pasos para la configuración de phpMyAdmin son los siguientes:

1. Crear una carpeta config en el directorio principal de


phpMyAdmin.

2. Si se desea editar un archivo config.ini.php existente se debe


copiar previamente en el directorio config que se creo en el paso 1 y presionar el
botón “load”.

3. Ingresar a http://localhost/phpMyAdmin/scripts/setup.php en su
explorador.

4. Realizar las configuraciones deseadas al archivo config.ini.php.


En la siguiente sección se trata el tema de configuración más detalladamente.

5. Una vez que el archivo config.ini.php esta configurado se debe


mover fuera de la carpeta config y regresarlo a su ubicación original.

6. Ahora el archivo esta listo para utilizarse. Usted puede escoger


su editor favorito si prefiere establecer opciones avanzadas que el setup script no
provee.

7. Abrir el directorio principal de phpMyAdmin


http://localhost/phpMyAdmin/ en un explorador. Este directorio puede solicitar una
autentificación de usuario.

8. Se debe denegar el acceso a el ./libraries en la configuración del


webserver. Por medio de Apache se puede utilizar .htaccess en el folder. Con el
objetivo de prevenir posibles direcciones expuestas y “cross side scripting
vulnerabilities” que pueden ser encontradas dentro del código.

13
Especificaciones de la configuración:

A continuación se presenta la página principal de configuración de phpMyAdmin


mencionada anteriormente.

Descripción del los paneles de control:

Configuración del servidor

Control de
cambios

14
Servers

Add: Agrega una configuración de un servidor.


List: Lista las configuraciones de servidores existentes.
Delete: Elimina una configuración de un servidor.
Edit: Edita una configuración de un servidor.

Configuration

Overview: Muestra la especificación general de la configuración actual.


Display: Muestra el contenido del archivo de configuración config.ini.php.
Download: Descarga un archivo de configuración config.ini.php al una ubicación
determinada.
Save: Guarda la configuración del archivo config.ini.php en la carpeta config del
directorio principal de phpMyAdmin.
Load: Obtiene una configuración del archivo config.ini.php de la carpeta config del
directorio principal de phpMyAdmin.
Clear: Limpia las configuraciones cargadas con el botón “Load”.

15
Para la creación o edición de servidores de phpMyAdmin se contemplan los siguientes
valores.

En la siguiente tabla ser describen brevemente cada uno de los campos del formulario
de phpMyAdmin para la configuración de servers.

Nombre del
Descripción Sentencia PHP
atributo
Server Nombre del host o IP del $i-th
$cfg['Servers'][$i]['host'] string
hostname MySQL-server
Número de puerto del $i-th MySQL-
Server port $cfg['Servers'][$i]['port'] string
server
$cfg['Servers'][$i]['socket']
Server socket Dirección del socket a utilizar
string
Tipo de conexión a usar (socket,
Connection tcp). TCP es la conexión por $cfg['Servers'][$i]
type defecto. La conexión por socket no ['connect_type'] string
es soportada en algunas plataformas
PHP extension Extensiones a usar para la conexión: $cfg['Servers'][$i]['extension']
to use string
mysql: La extensión clásica y
recomendad.

16
mysqli: La extensión mejorada de
mysql. Compatible con php 5 y la
manera recomendada para
conectarse con Mysql 4.1.x
Si hay que usar un protocolo
comprimido para la conexión de
Compress $cfg['Servers'][$i]['compress']
servidor MySQL o no.
connection boolean
Este rasgo requiere PHP 4.3.0 o
mayor
Tanto config, cookie, HTTP o
signon authentication pueden ser
utilizados en el server.
'config' authentication el nombre de
usuario y clave se almacenan en el
archive config.inc.php.

'cookie' authentication permite


usuarios validos de MySQL y la $cfg['Servers'][$i]['auth_type']
Authentication string
clave se almacena en cookies
type ['HTTP'|'http'|'cookie'|'
durante la sesion. config'|'signon']

'HTTP' authentication permite


usuarios validos de MySQL via
HTTP-Auth.

'signon' authentication permite que


usuarios se logeen a sesiones de
datos preparadas.
User for config Cuando se usa auth_type = 'config',
$cfg['Servers'][$i]['user'] string
auth este es el user/password el cual
phpMyAdmin usa para conectarse a
Password for MySQL server. Este user/password $cfg['Servers'][$i]['password']
config auth no se necesita en la autentificación string
por HTTP o cookie
Es un conjunto de nombres de base
Only database de datos. Este conjunto de nombres $cfg['Servers'][$i]['only_db']
to show van a ser las únicas bases de datos string or array
mostradas al usuario
Es útil al usar phpMyAdmin con
múltiples entradas de servidor. Este
campo se mostrara en lugar del
Verbose name $cfg['Servers'][$i]['verbose']
hostname en el menú desplegable en
of this server string
la página principal. Esto puede ser
útil si se quiere mostrar sólo ciertas
bases de datos a su sistema
phpMyAdmin Esta cuenta especial es usada para 2 $cfg['Servers'][$i]
control user objetivos distintos: para hacer ['controluser'] string
phpMyAdmin posible todos los rasgos $cfg['Servers'][$i]
control emparentados y para un servidor ['controlpass'] string
password MySQL más anterior al 4.1.2

17
Permite una instalación multiusuario
Nombre de la sesión la cual va a ser
Session name $cfg['Servers'][$i]
usada por el método de
for signon auth ['SignonSession'] string
autenticación signon
Es el url usado para redireccionar a
Login url $cfg['Servers'][$i]
los usuarios logeados por el método
signon auth ['SignonURL'] string
de autenticación signon
Es el url usado para redireccionar
$cfg['Servers'][$i]
Logout url después de deslogear los usuarios
['LogoutURL'] string
del método de autenticación signon

Configuración Específica de Apache:

En la instalación del appserv, viene incluida la configuración de Apache, con esta


rápida opción se puede definir el Nombre del servidor, este puede ser un dominio, si
se tiene uno registrado y redireccionado a la IP donde se este instalando el Servidor
Web , o también se puede poner la IP donde se este instalando el servidor (localhost).
También se puede indicar la dirección de correo electrónico del administrador y el
puerto que utilizará el Apache, este por defecto es el 80.

18
Después de haber instalado el appserv, quedará automáticamente configurado el
servidor Apache, sin embargo se puede modificar sus parámetros manualmente
abriendo el archivo de configuración llamado httpd.conf.

Los parámetros más importantes de este fichero son:

"DocumentRoot": Con este parámetro se especifica la dirección donde se encuentran


los ficheros html, php, etc para el sitio web. Si se desea que el Servidor Web contenga
un sitio web este parámetro especificará la ubicación de los archivos del sitio,
incluyendo el index.php ó index.html que será el primero que aparezca.

Ejemplo:

#
# 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:/AppServ/www "  Ruta a cambiar

"ServerRoot": Este parámetro da la ruta de los archivos de configuración y ejecución


de Apache, por defecto tendrá la ruta de instalación.

Ejemplo:

#
# ServerRoot: The top of the directory tree under which the server's
# configuration, error, and log files are kept.
#
# Do not add a slash at the end of the directory path. If you point
# ServerRoot at a non-local disk, be sure to point the LockFile directive
# at a local disk. If you wish to share the same ServerRoot for multiple
# httpd daemons, you will need to change at least LockFile and PidFile.
#
ServerRoot "C:/AppServ/Apache2.2"  Ruta a cambiar

"DirectoryIndex": Estos serán los archivos que admitirá el Servidor Web como
archivos de inicio del Sitio Web.

19
#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
<IfModule dir_module>
DirectoryIndex index.php index.html index.htm  tipos de Archivos
</IfModule>yt.

"ErrorLog": Especifica la ubicación del fichero de log de errores:

#
# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a
# container, error messages relating to that virtual host will be
# logged here. If you *do* define an error logfile for a
# container, that host's errors will be logged there and not here.
#
ErrorLog logs/error.log

"LogLevel": Especifica los tipos de errores que queramos almacenar en el archivo


"error.log", los posibles valores son: debug, info, notice, warn, error, crit, alert, emerg.
Hay que tener precaución con este parámetro pues una mala configuración puede
originar que el fichero de error "error.log" crezca hasta ocupar varias gigas de espacio:

#
# LogLevel: Control the number of messages logged to the error.log.
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
#
LogLevel warn

Cada vez que se algún parámetro en el fichero "httpd.conf" y queramos que se apliquen
los cambios tendremos que detener el servicio de Apache y volver a iniciarlo.

20
Si queremos instalar permanentemente el servicio que inicia Apache (para que cuando
se reinicie el Servidor se inicie el servicio de Apache automáticamente) podemos
hacerlo ejecutando el archivo: "apache_serviceinstall.bat" ubicado en "...apache". Para
desinstalarlo ejecutaremos "apache_serviceuninstall.bat".

Configuración Específica de MySQL:

Durante la instalación se nos pide indicar la contraseña para el usuario root de MySql.

21
Algunas configuraciones en el servidor relacionadas con MySql:

El directorio para la configuración de phpMyAdmin se encuentra en: carpeta de


instalacion\www\phpMyAdmin\ y ahí encontraremos el archivo: “config.ini.php”.
En este archivo podemos establecer muchos parámetros de phpMyAdmin. En
cuanto a MySql uno de ellos puede ser el nombre de usuario y contraseña para
conectarnos a MySql. Si tenemos configurado un usuario y contraseña en mysql,
podemos modificar las siguientes líneas para tener acceso desde phpMyAdmin:

$cfg['Servers'][$i]['controluser'] = ''; // MySQL control user settings


// (this user must have read-only
$cfg['Servers'][$i]['controlpass'] = ''; // access to the "mysql/user"
// and "mysql/db" tables).
// The controluser is also
// used for all relational
// features (pmadb)
$cfg['Servers'][$i]['auth_type'] = 'http'; // Authentication method (config, http or cookie based)?
$cfg['Servers'][$i]['user'] = 'root'; // MySQL user
$cfg['Servers'][$i]['password'] = ''; // MySQL password (only needed
// with 'config' auth_type)

Modificándolas de la siguiente forma:

$cfg['Servers'][$i]['controluser'] = 'NombreUsuraio'; // MySQL control user settings


// (this user must have read-only
$cfg['Servers'][$i]['controlpass'] = 'Contraseña'; // access to the "mysql/user"
// and "mysql/db" tables).
// The controluser is also
// used for all relational
// features (pmadb)
$cfg['Servers'][$i]['auth_type'] = 'config'; // Authentication method (config, http or cookie based)?
$cfg['Servers'][$i]['user'] = 'NombreUsuario'; // MySQL user
$cfg['Servers'][$i]['password'] = 'Contraseña'; // MySQL password (only needed
// with 'config' auth_type)

Ahora, de esta forma cualquier persona que sepa nuestra IP publica podría
acceder y administrar MySql, por lo tanto podemos modificar el archivo
“config.ini.php” para pedir a cualquier persona que acceda a mySql por medio de
phpMyAdmin el nombre de usuario y contraseña. Lo que hacemos es modificar la línea:
$cfg['Servers'][$i]['auth_type'] colocando el valor ‘http’, la siguiente línea es un ejemplo de
cómo deben quedar las líneas en el archivo config.ini.php:

$cfg['Servers'][$i]['auth_type'] = 'http'; // Authentication method (config, http or cookie based)?


$cfg['Servers'][$i]['user'] = ''; // MySQL user
$cfg['Servers'][$i]['password'] = ''; // MySQL password (only needed
// with 'config' auth_type)

22
Al ingresar a la opción “phpMyAdmin Database Manager...” nos aparecerá una pantalla
donde se pedirá el nombre de usuario y contraseña:

El archivo config.ini.php contiene varias líneas importantes en la configuración


de phpMyAdmin y MySql, esta documentado y podremos encontrar configuraciones
para amoldar el servidor a nuestro gusto.

23
Configuración del Zend Optimizer
El Zend Optimizer es una aplicación libre que nos permite correr archivos codificados
por el Zend Guard al mismo tiempo que mejora la interpretación de aplicaciones en
PHP.

Antes de nada, como siempre, es necesario descargar el software correspondiente desde


su página web. Para llevar a cabo la descarga Zend Optimizer tendremos que
registrarnos antes en la web de Zend Technologies.

Durante la instalación se nos preguntará por el servidor web utilizado (Apache 2.x), la
localización del archivo de configuración de PHP, php.ini (c:\php en nuestro ejemplo),
el directorio en el que está instalado Apache (por defecto C:\Archivos de
programa\Apache Group\Apache2) y el directorio en el que se almacenan las webs que
servirá de Apache (DocumentRoot, cuyo valor es, si no lo hemos cambiado,
C:\Archivos de programa\Apache Group\Apache2\htdocs).

Una vez terminado el proceso, si cargamos al archivo info.php que creamos para
comprobar la instalación de PHP, deberá aparecer algo así:

24

You might also like