Bien, el presente manualcillo está destinado sobre como montar un servidor web, para ello vamos a empezar con un poco de teoría para familiarizarnos con el tema, y para ello, algunas conceptos esenciales que debemos de tener claros:
Servidor Web: Un servidor web es un programa que implementa el protocolo HTTP (hypertext transfer protocol). Este protocolo está diseñado para transferir lo que llamamos hipertextos, páginas web o páginas HTML (hypertext markup language): textos complejos con enlaces, figuras, formularios, botones y objetos incrustados como animaciones o reproductores de sonidos.
Bien, visto esto, en los siguientes post usaré como ejemplo los servidores web más conocidos, que son IIS y Apache, ambos totalmente gratuitos..
IIS: Internet Information Services (o Server), IIS, es una serie de servicios para los ordenadores que funcionan con Windows. Originalmente era parte del Option Pack para Windows NT. Luego fue integrado en otros sistemas operativos de Microsoft destinados a ofrecer servicios, como Windows 2000 o Windows Server 2003. Windows XP Profesional incluye una versión limitada de IIS. Los servicios que ofrece son: FTP, SMTP, NNTP y HTTP/HTTPS.
Apache: El servidor HTTP Apache es un servidor HTTP de código abierto para plataformas Unix (BSD, GNU/Linux, etcétera), Windows y otras, que implementa el protocolo HTTP/1.1 (RFC 2616) y la noción de sitio virtual. En la actualidad (2005), Apache es el servidor HTTP más usado, siendo el servidor HTTP del 70% de los sitios web en el mundo y creciendo aún su cuota de mercado (estadísticas históricas y de uso diario proporcionadas por Netcraft).
También deberemos tener un breve concepto de palabras usadas comunmente, pero que nunca nos paramos a pensar que son o para que pueden servir en relación a un servidor web:
IP: Una dirección IP es un número que identifica a una interfaz de un dispositivo (habitualmente un ordenador) dentro de una red que utilice el protocolo IP. La IP mas común, la ipV4 se representa mediante un número binario de 32 bits. Las direcciones IP se expresan como números de notación decimal: se dividen los 32 bits de la dirección en cuatro octetos. El valor decimal máximo de cada octeto es 255 (el número binario de 8 bits más alto es 11111111, y esos bits, de derecha a izquierda, tienen valores decimales de 1, 2, 4, 8, 16, 32, 64 y 128, lo que suma 255 en total).
Servicios DNS: El Domain Name System (DNS) es una base de datos distribuida y jerárquica que almacena información asociada a nombres de dominio en redes como Internet. Aunque como base de datos el DNS es capaz de asociar distintos tipos de información a cada nombre, los usos más comunes son la asignación de nombres de dominio a direcciones IP y la localización de los servidores de correo electrónico de cada dominio.
Como un servidor web básico que va a ser, solamente se va a plantear el servir documentos html, de momento sin bases de datos ni php, ni cgis, ni nada de nada, eso lo básico para tener nuestra web alojada en nuestro PC.
Voy a realizar la explicación para el caso de Windows 2000 Server, el XP Home Edition no posee capacidad para servidor web, aunque los pasos son igual de válidos en XP Pro o w2003 Server.
Por defecto en los Windows 2000 y 2003 el IIS viene instalado, si es el caso, iros al final del post Sino, en caso del XP normalmente no vendrá instalado, así que para ello nos tendremos que ir a:
>> Mi PC > Panel de Control > Agregar o Quitar Programas > Agregar o Quitar Componentes de Windows
De la lista de componentes que aparece buscando la que se llame Servicio de Internet Information Server (IIS) y pulsamos siguiente para que la instalación del componente se haga efectiva. Si te pide la inserción del disco de Windows para copiar archivos, pues habrá que meterlo para
Una vez instalado, pues finalizamos para cerrar la ventana y vamos a ver las cosas nuevas que se nos ha instalado, para ello vamos:
>> Mi PC > Panel de Control > Herramientas Administrativas
Y si algún vez habéis entrado aquí dentro veréis que tenéis 3 nuevos iconos, y para los que no hayáis entrado nunca, pues os lo dejo señalados los nuevos en cuestión. Aparte de esto, se os ha creado un nuevo "Servicio" llamado "World Wide Web Pusblishing Service" el cual lo podréis ver corriendo dentro de la opción de Servicios de la carpeta donde actualmente estamos, y veremos que está puesto como automático para que cada vez que arranquemos el PC este servicio y la configuración activa se inicie y se aplique sin tener que hacerlo nosotros manualmente.
Podemos probar si nuestro servidor web funciona simplemente poniendo en nuestro navegador "http://localhost" y se nos deberá abrir una página de Windows stándard que nos indica sobre el correcto funcionamiento del mismo, si aparece que "No se Puede Mostrar Página" seguramente es debido a que el servicio no se ha iniciado.
Para configurar nuestro IIS podemos ir a la opción "Personal Web Manager" que es para configurarlo básicamente, pero para no hacer mil pasos ni andar por mil sitios vamos a ir a "Servicios de Internet Information" ya que trae toda la configuración posible, incluyendo la del "Personal Web Manager", así pues ejecutamos y nos aparecerá una pantalla como la siguiente:
Bueno, dentro de aquí nos vamos a donde pone "Sitio Web Predeterminado" y pulsamos botón derecho, y puslsamos la opción de Propiedades.
Aquí hay 3 pestañas fundamentales, y aunque más, no profundizaré en ello, ya que sería algo más que "básico", a destacar....
* Sitio Web: Configuración básica del nuestro servidor, tenemos:
Descripcion: Ponemos una breve descripcion de nuestro sitio web.
Direccion IP: Aqui colocaremos la direccion IP de nuestro servidor WEB, si estamos en una intranet ( red local ) la IP asignada al ordenador dentro de la red, si tenemos una conexion a internet con una direccion IP Publica ( ADSL, etc ) aqui la colocaremos.
Puerto TCP: Puerto que queremos que sea el que responda a las peticiones de los visitantes, por norma el puerto a usar para paginas web es el 80, se puede poner el que queramos, pero después previamente configurándolo en el router.
Conexiones: Para poder controlar la capacidad de nuestro servidor, respondiendo al tipo de software/hardware y servicio que estemos ofreciendo.
Registro: Es bueno siempre tener un control de todos los eventos que va aconteciendo nuestro servidor web para luego poder leerlos y poder ver posibles fallos que a simple vista no nos enteraríamos.
* Directorio Particular: Configuración básica de nuestro directorio de ficheros:
En las 3 primeras opciones, elegimos la primera, ya que por norma general, lo que servimos, lo hacemos bajo un directorio que tenemos en nuestro propio PC, no obstante, tenemos la opción de red, para poder servir páginas que no estén alojadas en nuestro equipo.
Ruta de Acceso Local: El directorio raíz de nuestra web.
Permisos de los Ficheros: Aquí como más nos guste, podemos definir los permisos que tendrán los visitantes sobre nuestra web, para la mayoría de los casos, lo mejor es tener marcado únicamente de "Lectura", y marcar la de "Registrar Visitas".
Las 3 últimas opciones las dejamos por defecto, sirve para la configuración de la aplicación genericamente hablando, sobre permisos de ejecución y seguridad, que por el momento es mejor dejar así.
* Documentos: Básicamente, los documentos permitidos en nuestro servidor web, aquí pondremos todas las extensiones que queramos que sean reconocidas en nuestro entorno, vale cualquier tipo de fichero, pero ojo, no pongais extensiones de ficheros por ejemplo ASP o PHP si no tenéis instaladas las correspondientes aplicaciones. Otra cosa a tener en cuenta es la prioridad de la búsqueda de las extensiones, es decir, si ponemos primero un index.crc y abajo tenemos el index.htm primero buscará el *.crc y si no encuentra parasará al segundo y así sucesivamente, hastsa que se acabe la lista, y si no encuentra ninguno, pues saldrá el feo error de que la "Página no puede ser mostrada"....
* Errores Personalizados: Aquí podremos ver todos un listado con los documentos de error que vienen predeterminados con Windows, por suerte, estos ficheros se pueden modificar y ponerlos a nuestro antojo, ya que son ficheros HTM y podemos poner imágenes, formularios, enlaces, de todo tipo... los errores comunes aparte del 404, es el 401, 403, 500 o 501, adapta dichos errores a tu gusto, aunque de momento únicamente el posible error de los visitantes que les aparezca será el 404...
El resto de pestañas las dejaremos como estan, y ya tendríamos configurado un servidor web muy básico, pero funcionalmente correcto y listo para servir una página web.
Ahora dile a algún amigo tuyo de hacer la prueba y que ponga http://tuippublica y de esta forma debería acceder a tu web dentro de tu pc, pero sin ningún peligro de seguridad (Aparantemente)
En un principio he ignorado opciones del IIS que por lo que he dicho, porque esto es algo básico, y de lo básico que es, me está ocupando un huevo y parte del otro.... pero si la gente quiere, puedo editar el post y completar el resto de las opciones....
Instalación Servidor Web "Medio" bajo Apache con PHP y BBDD
Vamos ha hacer ya un servidor algo decente, y que casi todo el mundo es el que usa y que incluye un servidor web más competente que el IIS, y además varias tecnologías de servidor como PHP para ser conjuntamente usada con una Base de Datos, como puede ser SQL Server, Access, Oracle, DB2...
Aunque actualmente lo estamos haciendo bajo Windows, en Linux es igual que en Unix, y es igual que Windows, solo que deberemos hacerlo con fichero tar, pero los pasos a seguir son idénticos.
A. INSTALACIÓN DE APACHE.
Sencillo, instalamos el ejecutable, cuando nos pida unos datos, ponemos:
Networkd Domain: Deberemos poner o bien "localhost" o bien "127.0.0.1", o bien cualquier alias que tengamos definido en el fichero HOST de la carpeta Windows c:\windows\system32\drivers\etc
Server Name: Nombre del servidor, el que queramos, aunque por comodidad y evitar líos, se aconseja poner lo mismo que en Network Domain.
Administrators Email´s: Un mail de contacto de administrador, el que queramos.
Instalamos, y listo, no tiene más misterio instalar Apache, para comprobar que funcione podemos poner en el explorador http://localhost y si todo ha ido bien debe aparecer algo como:
B. INSTALACIÓN Y CONFIGURACIÓN DE PHP
La instalación es tan sencilla como descomprimir el fichero conteniendo PHP a la ruta que queremos, para mayor comodida una sencilla como C:\PHP
En la carpeta creada tendremos un fichero llamado php.ini-dist al cual le quitamos el "-dist" quedando un fichero *.ini el cual editaremos con el notepad, Ultraedit, wordpad.... y empecemos a configurarlo, todo lo que diga será pasando desde el principio del documento hasta el final para facilitar las cosas. La configuración que he aplicado en el php.ini es algo amplia en cuanto a datos, pero siempre nos viene bien si instalamos por ejemplo algun tipo de Upload para no tener a los usuarios restringidos al límite preestablecido en PHP.
max_execution_time = 60 ; Ejecución máxima de carga de nuestros scrips, en segundos
max_input_time = 60 ; Cantidad de tiempo para permitir el paso de parámetros
memory_limit = 8M ; Cantidad máxima de memoria que el script puede usar, en megas
Código:
;;;;;;;;;;;;;;;;;
; Data Handling ;
;;;;;;;;;;;;;;;;;
; Busca las siguientes ocurrencias:
register_globals = Off ; Desactivación de variables globales, aseguraos que está OFF
post_max_size = 8M ; Cantidad de datos máximo que se pueden enviar mediante POST
file_uploads = On ; Lo ponemos a ON si queremos permitir Uploads de usuarios.
upload_tmp_dir = c:\php\tmp ; Directorio temporal de Uploads
upload_max_filesize = 8M ; Tamaño máximo del fichero que se va a subir.
; Aqui descomentamos la línea que indica la base de datos que hemos instalado para
; usar conjuntamente con PHP, en caso de MySQL descomenta ;extension=php_mysql.dll
; en mi caso, con Oracle, descomento:
extension=php_oracle.dll
Para el tema de las sesiones descomenta la siguiente línea y asigna directorio
session.save_path = "/ses"
Por último, para que posteriormente funcione cuando lo enlacemos con Apache, hay que copiar php.ini dentro de c:\Windows
C. CONFIGURACIÓN DE APACHE Y EMPAREJAMIENTO CON PHP
Empecemos con la parte de Apache, para ello vamos a Inicio/Programas/Apache HTTP Server 2.2.0/Configura Apache Server/Edit the Apache httpd.conf o bien pulsamos Inicio/Ejecutar y ponemos C:\Archivos de programa\Apache Group\Apache2\conf\httpd.conf y dentro del fichero:
Buscamos la primera aparición de la línea "# LoadModule foo_module modules/mod_foo.so" y debajo de esa línea ponemos la siguiente: LoadModule php5_module C:/Servidor/PHP/php5apache2.dll que es la ruta de la librería dinámica que sirve para enlazar ambos componentes.
Aproximadamente por la línea 200 busca la ocurrencia "ServerName y fíjate que tengas puesto "localhost" y que el puerto sea el 80!! Muy importante esto...
Un par de párrafos más abajo buscamos DocumentRoot y aquí ponemos el directorio donde está alojada nuestra página web, en mi caso "DocumentRoot "C:/inetpub/Circulo"
Ahora busca la ocurrencia "<Directory "C:/Archivos de programa/Apache Group/Apache2/htdocs">" y cambia el directorio por el que pusimos en el anterior paso
Buscamos la ocurrencia "DirectoryIndex" y hay una línea que pone "DirectoryIndex index.html", en la que agregamos más extensiones de archivo por ejemplo "DirectoryIndex index.html index.htm index.php index.php5 index.jsp" para que cuando pongamos http://localhost/directorio nos cargue por defecto la primera extensión escrita, y si no existe la segunda... y así sucesivamente, y si no encuentra ninguna extensión saldrá el error 404 y debajo de esa línea ponemos los tipos MIME tal que "AddType application/x-httpd-php .php .php3 .php4 .phtml" para que los reconozca y pueda interpretarlos el servidor.
Buscamos ahora la ocurrencia "ErrorDocument", saldrán varios resultados, pero habrá uno, donde aparecerán unas 18 líneas con los típicos errores que devuelve las webs, aquí podremos definiir nuestros propios errores personalizados, para ello descomentamos la línea, y hacemos referencia al documento de nuestro servidor, o bien url, o sitio de red con dicho error. Los errores más típicos son:
200 OK
206 Partial content
301 Document moved permanently
302 Document found elsewhere
304 Not modified since last retrieval
400 Bad request
403 Access forbidden
404 Document not found
408 Request timeout
500 Internal server error
501 Request type not supported
Bueno, pues ya está, ahora en el icono del SystemTray de Apache abrimos el monitor, y reiniciamos el servicio, previamente habiendo salvado el fichero, y abrimos el notepad y escribimos <? phpinfo(); ?> y lo guardamos como index.php dentro del directorio raíz de nuestro servidor donde especificamos el DocumentRoot, de tal forma que abrimos un explorador y ponemos http://localhost/index.php y si todo se ha hecho bien deberá salir un página de este tipo:
D. INSTALACIÓN DE LA BASE DE DATOS
Bueno, vamos progresando, ya tenemos servidor web sirviendo página web, y ya podemos usar las extensiones de PHP, pero dado que PHP es un lenguaje de servidor, la potencia de éste radica en su capacidad de embedirse dentro de HTML para ser usado por ejemplo para la inserción, recuperación, borrado... de datos, y para ello necesitamos una base de datos a la cual pueda acceder.
La elección es vuestra, pero siempre que esté soportado por las extensiones que vimos anteriormente en el php.ini.
Por ejemplo, con Oracle, una vez que está instalado, si el nombre de mi servidor es RUBEN y he puesto un login para acceder que se llama usuario1 y de contraseña password1 para hacer una conexión a esta base de datos, aparte de haber previamente descomentado la linea correspondiente a la librería de Oracle, en el comando de conectarse a la base de datos desde PHP, habrá que especificar estos 3 parámetros, más el nombre de la base de datos, si es que tenemos más de una.
Por qué todo el mundo usa MySQL? Bien, en cuanto a instalación es muy sencilla, como con Oracle o SQL Server, la diferencia radica en que hay una herramienta llamada PHPMyAdmin que te permite gestionar con MySQL las tablas de forma muy muy sencilla, y aunque a mi personalmente no me gusta, lo explicaré... así que descomprimid el fichero que os dije y ejecutad el Setup.exe que hay al descomprimir, y lo instalamos con opción "Typical" y cuando hayamos finalizado ejecutamos C:\MySQL\bin\winmysqladmin.exe
La primera vez que lo ejecutemos nos pedirá un usuario y contraseña de administrador, en la que pondremos lo que queramos, para que nos cree ese usuario, aparte del stándard "root" que es otro administrador de MySQL pero que no tiene contraseña, esto después lo cambiaremos... por el momento lo importante es crear nuestro usuario, aceptar, y observar que en el System Tray tenemos creado un semáforo y que está actualmente con la luz verde, que significará que está el servicio arrancado y funcionando siendo al revés si estuviera en rojo, y amarillo mientras se reinicia.
Ahora bajamos el PHPMyAdmin de http://prdownloads.sourceforge.net/phpmyadmin/phpMyAdmin-2.7.0-pl2.zip?download y lo descomprimimos en donde tenemos nuestra web en la capeta PHPMyAdmin y editamos el fichero "config.inc.php" y buscamos la ocurrencia "$cfg['PmaAbsoluteUri'] = '';" y sustituimos la línea por "$cfg['PmaAbsoluteUri'] = 'http://localhost/phpmyadmin/';".
Mediante esa URL podemos entrar en el phpMyAdmin y así gestionar la base de datos, y también, entre otras cosas los usuarios, así que entramos en http://localhost/phpmyadmin y hacemos unos cuantos pasos:
Vamos a Privilegios/Agregar Nuevo Usuario en el que ponemos de login y pass el mismo que pusimos en el MySQL y marcamos la opcióno de "Cualquier Servidor", para que puedan acceder IP's externas, si solo queremos un servidor local, marcamos la opción de Local.
En Privilegios, borramos TODOS los usuarios menos el que acabamos de crear, es decir los usuarios stándard, los borramos por seguridad, o bien les puedes poner contraseña, pero vamos, casi que mejor es borrar todos, y dejar únicamente el nuestro propio.
Hecho esto, volvemos al fichero config.inc.php para reconfigurarlo con nuestro usuario, y buscamos en él la primera ocurrencia que ponga "$cfg['Servers'][$i]['auth_type']" y esa línea junto a las dos siguiente las quitamos y ponemos en su lugar:
Y finalmente, guardamos el fichero, y ya podremos acceder con nuestro usuario y contraseña al phpMyAdmin para gestión de la base de datos.
Bien, pues ya está todo montado, ahora si queréis hacer una conexión a la base de datos para insertar o extraer o consultar información ya podréis hacerlo con las correspondientes órdenes, que ahora mismo no me apetece poner, debido a la gran cantidad de texto que he puesto
FIIIIIIIIIN DEL POST ( PERO NO DEL TEMA )
Ultima edición por crcbad el Jue Feb 16, 2006 9:48 pm, editado 4 veces _________________ CrC Web | Chicas!! | Mas Chicas!
Publicado: Jue Feb 16, 2006 12:06 am
crcbad
Moderador
Registrado: Dec 07, 2004
Mensajes: 3621
Ubicación: Madrid
Rizando el Rizo ( Alias y ScriptAlias )
Bueno, vamos a hacer un poco más de configuraciones en nuestro servidor Apache para poder hacerlo más adaptable a nuestras necesidades, y para ello vamos ha hablar de los Alias y los ScriptAlias.
ALIAS: Dejándome de definiciones técnicas, de modo que sea lo más sencillo, para lo que más se usa es para poder definir varias rutas de ficheros que no estén ubicadas en el DocumentRoot especificado en el httpd.conf, pudiendo hacer referencia a otras ubicaciones de red, otros directorios de nuestros PC, o rutas externas. Podemos crear tantos Alias como queramos, o como nos hagan falta, no hay restricción sobre esto.
Vamor a suponer lo siguiente:
En C:\Inetpub\Circulo se encuentra la web, y como tal está definida en su DocumentRoot dentro del httpd.conf.
En C:\Cosas\Descargado\Imagenes tenemos un directorio de imagenes.
En D:\Apps\Trabajo una serie de ficheros del trabajo por ejemplo.
Dado esto, suponemos que por organización propia no queremos meter todo ese contenido dentro del directorio principal donde está la web, pero nos gustaría poder acceder a dicha información, para ello usamos los Alias, quedando así la configuración:
Código:
# Con el símbolo de la almohadilla se puede hacer comentarios en las líneas :P
# Importante!! En esta parte las barras deben de ser "/" y no las de "\"
#
# Alias para enlazar con imágenes
Alias /imagenes/ "C:/Cosas/Descargado/Imagenes/"
<Directory "C:/Cosas/Descargado/Imagenes/">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
# Alias para enlazar con ficheros de trabajo
Alias /Trabajo/ "D:/Apps/Trabajo/"
<Directory "D:/Apps/Trabajo/">
Options Indexes MultiViews IncludesNoExec
AddOutputFilter Includes html htm
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Hecho esto, guardado el httpd.conf y reiniciamos el servidor Apache y podemos hacer la prueba de poner http://localhost/Imagenes o http://localhost/Trabajo y podremos acceder a dichos fichero así de simple.
Indexes: Es importante NO ponerlo en el caso de que el usuario escriba un fichero que no existe, para que no salgo una lista con todos los ficheros disponibles en forma de explorador de Windows.
Multiviews: En caso de que hagamos un http://localhost/blabla y no existe ese directorio, este comendo buscará ficheros que sean del tipo blabla.*
IncludesNoExec: La orden Exec ejecuta un orden Shell o bien un script CGI, pero tal y como está puesto, es como decir qu está desactivado.
AllowOverride: Debemos de ponerlo en "None" en nuestro caso, para agilizar las tareas del servidor sobre ese directorio, si ponemos por ejemplo "All" el servido nos buscará un .htaccess por cada fichero que haya en ese directorio, y supondría carga innecesaria.
Order: Sirve para establecer restricciones de acceso, en este caso, podemos tener dos tipos, Allow (Permitir) o Deny (Denegar), y como justo debajo ponemos Allow All, este directorio podrá ser público para todo el mundo.
SCRIPT ALIAS: Vienen a ser bastante parecidos a los Alias normales, con la diferencia de que sirven para especificar rutas de aplicaciones que funcionan bajo script, como son los cgis, o pueden ser los servlet, y al no ser tratados como ficheros , sino que requieren una ejecución y una interacción especial por parte del servidor, es decir, son tratados como aplicaciones, y para esto se crearon los ScriptAlias, y como en los Alias se pueden definir tantos como queramos.
Bien, ahora lo que queremos en nuestra web es poder ejecutar CGI's, no hay problema, es muy sencillo, lo primero que tenemos que hacer antes de nada es bajarnos un compilador, por ejemplo, el más famoso y sencillo de instalar en el Perl, o bien ActivePerl (Que es así como se llama para la versión de Windows) y bajarnoslo de http://www.activestate.com/store/languages/register.plex?id=ActivePerl actualmente en su versión 5.6.1 y ocupando unos 8.3 Mb.
Cuando te lo hayas descargado, descomprimer el Zip donde quieras y ejecuta el Installer.bat donde se nos pedirá unas preguntas sobre la instalación, pulsad en todo lo que esté por defecto, la tecla "Y" y cuando acabe cerramos la ventana CMD.
Ahora tenemos que hacer como con los Alias, en el caso que no queramos tener nuestros ficheros de CGI en la misma ruta que nuestro servidor web, así que en el httpd.conf debemos de crear un ScriptAlias:
Código:
ScriptAlias /cgiperl/ "C:/perl/loscgi/"
<Directory "C:/perl/loscgi/">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
No podemos probarlo aún porque no tenemos ningún fichero creado en esa ruta, así que primero si la ruta no existe, la creáis y creáis un fichero llamado prueba.cgi y lo editais con Notepad/WordPad/Ultraedit/Word... y ponemos lo siguiente en el fichero:
Código:
#!C:\perl\bin\perl.exe -w
print "Content-type: text/html\n\n";
print "<center><h1>Prueba de Fichero CGI</h1></center>\n";
print "Ten en cuenta que si el código tiene fallos, saldrá un error 500 o 501 de <b>Error Interno</b>\n";
exit(1);
Es decir, SIEMPRE en la primera línea debemos indicar con "#!" y seguido de la ruta donde tengamos instalado el perl, seguido de bin/perl.exe -w que es el compilador. Y posteriormente pues el propio código del fichero... Listo, pues ahora guardamos el prueba.cgi, también guardado el httpd.conf, reiniciamos el servidor de apache y podemos hacer la prueba. También, *** IMPORTANTE *** si tenemos algún error en nuestro código el compilador lógicamente devuelve un error, y en el fichero pedido lo único que nos va a salir va a ser un "Error Interno del Servidor" o más conodico como "Internal Server Error", podéis hacer la prueba poniendo en vez de un print, podéis poner un pint
Y si habéis puesto algún error os saldrá lo siguiente:
FIIIIIIIIIN DEL POST ( PERO NO DEL TEMA )
Ultima edición por crcbad el Jue Feb 16, 2006 9:13 pm, editado 3 veces _________________ CrC Web | Chicas!! | Mas Chicas!
Publicado: Jue Feb 16, 2006 9:09 pm
crcbad
Moderador
Registrado: Dec 07, 2004
Mensajes: 3621
Ubicación: Madrid
CONFIGURACIONES ÚTILES CON APACHE
Ohhhh que penaaaa, último post de esto de los servidores web... y abriré el post para que la gente puede comentar, esta sección va dedicada a configuraciones útiles que nos pueden ser de utilidad en nuestro servidor web:
PROTEGER IMÁGENES
Muchas veces nos interesa que las imágenes de nuestra web solo puedan ser visibles si nuestro propio servidor las llamada, y que no se muestren en caso de que alguién ponga http://www.miservidor.com/imagenes/playboy.jpg , es decir, que solo se muestra si desde nuestros propios documentos lo soliticamos, para ello debemos crear en el directorio que queramos, o donde tengamos las imágenes el fichero .htacces y poner lo siguiente en él:
Código:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?tudominio.com/.*$
RewriteRule \.(gif|GIF|jpg|JPG)$
Con esto reinciamos el servidor Apache y listo
BANEAR/PERMITIR IPS
Muchas veces, por diferentes motivos no queremos que gente desde una web entre, o bien una determinada IP, o simplemente solamente permitir la entrada de un grupo de IP's, esto es sencillo haciendo en el httpd.conf:
Código:
#Permite entradas a ciertos usuarios
<Limit GET>
order deny,allow
deny from all
allow from www.google.eswww.terra.es
</Limit>
#Bloquea o banea cierto usuarios
<Limit GET>
order allow,deny
allow from all
deny from www.sgae.es 89.87.173.12
</Limit>
CONTRASEÑA DE ACCESO:
Podemos querer que ciertos contenidos de nuestro servidor solo pueda ser accedido por ciertos usuarios. Para esto, Apache puede ser configurado con unas pocas líneas para que cualquier persona que entre en ese directorio/subdirectorio protegido le salga una ventana de diáologo solicitando un login y password. En nuestro caso, la carpeta protegida será C:/Inetpub/wwwroot/Trabajo para ello creamos un fichero .htacces y ponemos:
Con esto, ya tenemos creada la proteccion de acceso, pero nos falta la creación del fichero de usuarios .htpasswd para ello tenemos que bajarnos el fichero htpasswd.exe por ejemplo de ftp://ftp.bnsi.net/pub/apache/ y para crear los usuarios, con el fichero copiado en el directorio donde hemos creado el .htacces, entramos en Inicio/Ejecutar, tecleamos CMD y ponemos:
Ahora ya tenemos creado el usuario "crcbad" con la pass que hayamos introducito en el fichero, y ya está listo para ser probado
Por si quereis agregar más de un usuario tenéis que usar "htpasswd -b .htpasswd Usuario2 Password2".
LIMITAR ANCHO DE BANDA:
Para limitad el ancho de banda antes de nada tenemos que bajarnos el módulo correspondiente, ya que no viene ninguno con Apache, y lo hacemos desde http://bwmod.sourceforge.net/files/mod_bw-0.7.zip y cuando lo tengamos bajado, lo descomprimimos dentro del directorio "C:\Archivos de programa\Apache Group\Apache2\modules".
Hecho esto abrimos el fichero httpd.conf y buscamos la ocurrencia "LoadModule" y tendremos una lista de modulos cargados o comentados, donde queramos agregamos la línea "LoadModule bw_module mod_bw.so, según el desarrollado de este módulo, solamente funciona mediante el httpd.conf, ya que aún no ha agregado soporte para los .htaccess, pero bueno, nos da igual Un ejemplo de Directorio limitado por ancho de banda:
Código:
<Directory "C:/Inetpub/wwwroot/Descargas">
BandwidthModule On
ForceBandWidthModule On
Bandwidth all 10240
MinBandwidth all -1
</Directory>
Esto limita a cada usuario a descargar a una velocidad máxima de 10 Kb/s, el siguiente limita a descargar como máximo a 20 Kb/s pero solamente ficheros con extensión *.,pg y *.avi de cualquier fichero contenido en todo nuestro servidor web:
Código:
<Directory *>
BandwidthModule On
ForceBandWidthModule On
LargeFileLimit .avi 1 20000
LargeFileLimit .mpg 1 20000
</Directory>
Estas son las funciones más interesantes que nos pueden interesar, no obstante en la web del desarrollador tienes una lista entera de todas las funciones que ha creado -> http://bwmod.sourceforge.net/index-es.html#
Aunque he leido artículos que también lo han conseguido con el Home, pero tienes que hacer como una instalación manual de IIS para qe funcione entre otras cosas, si tienes XP mejor que sea el Pro.