Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Apache (http://www.forosdelweb.com/f58/)
-   -   FAQ de Apache (http://www.forosdelweb.com/f58/faq-apache-345421/)

turco_7 27/10/2005 13:56

FAQ de Apache
 
Bueno, visto que nadie ha iniciado las FAQ's del apache, aqui hago mi aporte ..
Seria bueno, que despues de cada post, pongamos de donde lo sacamos ...bueno, como todos los foros, las reglas son :

Tema:
Pregunta:
Respuesta:

Ejemplo

Tema: .htaccess

Pregunta: Que es y para que sirve?

Respuesta:

.htaccess es un archivo de texto oculto que contiene una serie de directivas para el servidor Apache. Cuando un cliente solicita un archivo al servidor, este busca desde el directorio raíz hasta el subdirectorio que contiene el archivo solicitado el archivo .htaccess y tiene en cuenta estas reglas antes de proceder con la petición, es decir, se aplican las normas especificadas al directorio en el que se encuentre .htaccess y los directorios por debajo de él.
Ejemplos de usos para .htaccess pueden ser restringir el acceso a determinados archivos, impedir el listado de los archivos de un directorio, redireccionar, personalizar las páginas de error o impedir el acceso a determinadas IPs o rangos de IP.
Impedir el listado del contenido de un directorio
Cuando se intenta acceder a un directorio, en ausencia de un archivo de índice, Apache muestra por defecto el contenido del directorio. Si queremos impedir al usuario ver el contenido de un directorio, bastaría con crear un archivo de índice, por ejemplo index.html, pero existe una solución más elegante mediante la directiva Options. Basta crear un archivo .htaccess que contenga la línea:
Cita:

Options -Indexes
También podríamos utilizar la directiva DirectoryIndex, que especifica qué archivos actúan como índice por defecto, y que archivo mostrar en el caso de que estos no se encuentren. Por ejemplo la línea:
Cita:

DirectoryIndex index.php index.html index.htm /prohibido.php
indicaría al servidor que debe buscar los archivos index.php, index.html o index.htm, en ese orden, y en el caso de no encontrar ninguno de ellos, cargar el archivo prohibido.php.

Redireccionar el tráfico web
Si nos encontramos con la necesidad de enviar al usuario a una determinada dirección web cuando pida una cierta página, por ejemplo porque la hallamos movido, podemos utilizar la directiva Redirect de Apache.

Cita:

Redirect /antiguo.php http://mundogeek.net/otros/nuevo.php

Crear un mensaje de error personalizado
Este es uno de los usos más frecuentes para el archivo .htaccess. En ocasiones se pueden producir errores que deben ser notificados al usuario, por ejemplo en el caso de que se intente acceder a una página que no existe, bien por un fallo del usuario al introducir la url, o bien porque la página haya sido movida o eliminada. Estos mensajes suelen estar escritos en inglés, no ofrecen demasiada información al usuario, y rompen la estética general del sitio, por lo que es imprescindible personalizarlos.

Para lograrlo utilizamos la directiva ErrorDocument, del que tenemos un ejemplo a continuación:
Cita:

ErrorDocument 403 "Acceso denegado
ErrorDocument 404 /404.php
ErrorDocument 500 http://mundogeek.net/500.php


Los códigos de error 403, 404 y 500 son los más comunes, y se producen respectivamente cuando no se tiene permiso para acceder a una página, cuando no se encuentra un archivo y debido a un error interno del servidor.
La primera línea indica al servidor que muestre el mensaje 'Acceso denegado' siempre que se produzca el error 403. Las otras líneas ilustran la forma de indicar al servidor que muestre una determinada página cuando se produzca un error (se puede usar direcciones relativas o absolutas).

Fuente: http://mundogeek.net/archivos/2005/05/04/htaccess/

Hay muchos, pero puse este porque me parece el mas clarito, sobre la definicion al respecto ....

turco_7 27/10/2005 13:59

Link interesantes
 
Tema: Documentacion e información sobre apache
Pregunta: donde consigo material?
Respuesta:

Sitio oficial
http://www.apache.org/


.htacess (más)
http://www.chilered.com/ayuda/htaccess.htm

turco_7 27/10/2005 14:15

Tema: apache en linux
Pregunta: Archivo de configuracion en linux ? como sé si esta funcionando ?
Respuesta:
x se llama httpd.conf
usando mandrake se lo puede encontrar de la siguiente forma

# locate httpd.conf

mostrara la ruta .. que en este momento no la recuerdo.

en este fichero, vamos a encontrar el directorio donde se alojan los ficheros, index y demas ..

para saber si el servicio de apache esta corriendo en nuestro linux,

tipeamos(Como root):

# service -s

y nos mostrara todos los procesos que estamos corriendo

aparecera como httpd

suponiendo que hicimos cambios en el httpd.conf tendriamos que reinicia el servicio, y lo hacemos con este simple comando ..

# service httpd restart

bueno, espero que les sea util !!!

turco_7 28/10/2005 09:42

Creando VirtualHost(s) y Dominios Virtuales en mi PC
 
Bueno, este es un tema bastante interesante, que se lo vamos a agradecer a BooMeranGz que lo puse como FAQ de php, pero quer también aqui sirve!!!

Tema:
VirtualHost y Dominio Virtual

Pregunta:
¿Como trabajo con VirtualHost(s) y Dominios Virtuales en mi PC?

Respuesta:
Podemos tranquilamente usar dominios virtuales para llamar a nuestros proyectos directamente como http://miproyecto.com/ y no como http://127.0.0.22/ (o cualquier otra IP asignada).

Vamos a ver como:

Creando servidores virtuales con dominios virtuales para poder llamarlos desde nuestra misma PC:

Requisitos:
* Windows 98/ME/2000/NT/XP
* Tener Apache instalado como servidor
* Tener al menos PHP para trabajar (y probar)

Supongamos que vamos a trabajar con un nuevo web site en PHP cuyo dominio real es sitio.com y que tenemos el htdocs en el disco C:


Primer paso:

Creamos en nuestra carpeta C:\htdocs un directorio sitio1.com
Nos quedará esto: C:\htdocs\sitio1.com

En ese directorio debemos colocar los files que usemos para hacer el web site (todos).

En este ejemplo, abrimos el Block de notas y escribimos:



Código PHP:

<? 
phpinfo
(); 
?>

Lo salvamos con el nombre de prueba.php en el directorio ..\sitio1.com\

Segundo Paso:

Ahora configuramos un VirtualHost para Apache:

Buscamos el file httpd.conf en dónde tenemos instalado Apache (dentro de la carpeta de Apache hay una que se llama "conf", este file está dentro de ella)

Lo abrimos con el Block de notas y nos vamos al final del mismo

Nos encontraremos con algo así:

Código:

#
# Use name-based virtual hosting.
#
#NameVirtualHost *
 
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
#<VirtualHost *>
# ServerAdmin [email protected]
# DocumentRoot /www/docs/dummy-host.example.com
# ServerName dummy-host.example.com
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>

Nosotros agregaremos nuestro VirtualHost aqui debajo y de esta manera:

Código:


Código:

## agregamos sitio1.com ###################
<VirtualHost 127.0.0.2>
ServerAdmin [email protected]
DocumentRoot C:/htdocs/sitio1.com
ServerName sitio1.com
ErrorLog logs/sitio1.com-error_log
TransferLog logs/sitio1.com-access_log
</VirtualHost>

Salvamos el file httpd.conf y reiniciamos Apache.

Hasta aqui, si cargamos el navegador y ponemos:
http://127.0.0.2/prueba.php (enter), veremos la info de php en el mismo.

Ya tenemos configurado el VirtualHost con la IP deseada.


Tercer paso:

Vamos a configurar el dominio virtual para esa IP:

Vamos al directorio: C:\WINDOWS\SYSTEM32\DRIVERS\ETC, allí encontramos varios files, pero nos interesan los siguientes:
HOSTS y LMHOSTS.SAM

Renombramos HOSTS como HOSTS.SAM

Abrimos el Block de notas y escribimos:

127.0.0.1 localhost
127.0.0.2 sitio1.com

Lo salvamos en ese mismo directorio como HOSTS (sin extensión)

Nuevamente abrimos el Block de notas y escribimos:

127.0.0.1 localhost #PRE
127.0.0.2 sitio1.com #PRE

Lo salvamos en ese mismo directorio como LMHOSTS (sin extensión)

Copiamos HOSTS y LMHOSTS de C:\WINDOWS\SYSTEM32\DRIVERS\ETC\ a C:\WINDOWS\

Listo, hemos configurado el dominio virtual sitio1.com

Para probarlo, cargamos el navegador y ponemos:
http://sitio1.com/prueba.php (enter), veremos nuevamente la info de php en el mismo.

Nota final:

De esta manera podemos llamar a nuestros proyectos en php/cgi/etc. con un nombre de dominio virtual o con un subdominio (podria ser mi.sitio.com) y no complicarnos
con las IP que si tenemos varios proyectos se nos olvidan.

De igual manera recuerden que si agregan mas proyectos (por ejemplo otrositio.com) deberán agregar otro VirtualHost en el file \Apache\conf\httpd.conf, al final del que ya tenemos con otra IP (por ej.: 127.0.0.3) y luego agregar estos datos en los files HOSTS y LMHOST que tenemos en C:\WINDOWS\

Por último: Recuerden NO configurar un dominio virtual con un nombre verdadero que ya esté ruteado en internet, ya que si lo hacen cuando naveguen y quieran
ir al sitio real, no podrán, a menos que estopeen Apache y renombren los files HOSTS y LMHOST.
Recomiendo en esos casos que creen subdominios virtuales, por ejemplo si trabajan con yahoo.com (ja ja por un decir...), hagan un dominio virtual como miweb.yaoho.com.

Salu2.


REFERENCIA :
http://www.forosdelweb.com/showpost....9&postcount=38

tyo100 28/10/2005 16:09

Reescribir las URL (mod_rewrite)
 
Pues aqui ayudando a la causa

Tema:
Reescribir las URL (mod_rewrite)


Pregunta:

¿Que es y para que sirve? ¿Ejemplos Basicos?

Respuesta:

mod_rewrite es un modulo de apache que sirve para reescribir las direcciones, por ejemplo tenemos un link asi:

dominio.com/categorias.php?nombre=nombre-de-la-categoria

en ocaciones es muy dificil recordar este tipo de direcciones, con mod_rewrite podremos configurar algo como:

dominio.com/nombre-de-la-categoria/

Como se haria, se pueden especificar en el fichero .htaccess o directamente en el archivo de configuracion de Apache

RewriteEngine ON
RewriteRule ^([A-Za-z0-9-]+)/?$ categorias.php?nombre=$1 [L]

En mod_rewrite podemos manejar variables del servidor se utilizan asi:
%{NOMBRE_DE_LA_VARIABLE}

Las variables que yo conozco son(no se que es cada una, si alguien sabe mandenlo para ir actualizando):

HTTP_USER_AGENT Informacion sobre el cliente.
HTTP_REFERER
HTTP_COOKIE Cookie recibida desde el cliente
HTTP_FORWARDED URL Enviada
HTTP_HOST Nombre del host donde esta Apache
HTTP_PROXY_CONNECTION Informacion sobre la conexion del proxy.
HTTP_ACCEPT
REMOTE_ADDR IP del Cliente
REMOTE_HOST Nombre del host del cliente
REMOTE_USER Nombre del usuario autentificado en Apache
REMOTE_IDENT
REQUEST_METHOD Metodo de solicitud HTTP utilizado.
SCRIPT_FILENAME Ruta fisica del script.
PATH_INFO
QUERY_STRING Datos de consulta enviados
AUTH_TYPE Tipo de autentificacion.
DOCUMENT_ROOT Es el directorio raiz donde corre apache
SERVER_NAME Nombre del servidor en el host.
SERVER_ADMIN
SERVER_ADDR
SERVER_PORT Puerto en el que escucha Apache
SERVER_PROTOCOL Version del protocolo HTTP que usa Apache
SERVER_SOFTWARE
SERVER_VERSION Version del Apache
TIME_YEAR Año actual
TIME_MON Mes actual
TIME_DAY Dia actual
TIME_HOUR Hora actual
TIME_MIN Minuto actual
TIME_SEC Segunto actual
TIME_WDAY Dia de la semana
TIME
API_VERSION
THE_REQUEST
REQUEST_URI URI Solicitado.
REQUEST_FILENAME igual que SCRIPT_FILENAME
IS_SUBREQ

Como se utilizan??
Bueno por ejemplo queremos evitar que desde otra pagina linken las imagenes(robo de imagenes)

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://servidor.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.servidor.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://subdominio.servidor.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://servidordeunamigo.com/.*$ [NC]
RewriteRule .*\.(gif|GIF|jpe?g|JPE?G|png|PNG)$ http://servidor.com/nolink.gif [R]

Bueno esto solo es introductorio.

tyo100 19/04/2006 07:28

Tema:
Reescribir las URL (mod_rewrite)


Pregunta:
¿Existe algun Wizard para crear reglas Rewrite?

Respuesta:
Hace días me encontraba desarrollando un php, muy sencillo para crear Reglas rewrite de apache, despues me enferme y me puse un rato en la laptop mientras me recuperaba y encontre esto, asi que me ahorro el esfuerzo y mejor les pongo el link, es version beta pero funciona muy bien, para casi todos los casos.

http://www.mod-rewrite-wizard.com/

turco_7 02/08/2006 01:32

Tema: Redirecciona Inteligente ...
Pregunta: Como hago para parkear dominios y que estos carguen el contenido de otra carpeta, pero que no se muestre la ruta absoluta sino la relativa
Respuesta:
Aca pueden encontrar ademas de un ejemplo, la solucion...

http://www.forosdelweb.com/f58/redireccion-inteligente-364594/

saludos

00siete 13/06/2008 03:39

Respuesta: FAQ de Apache
 
Tema: Limitar el acceso a una web

:pensando: Pregunta: Como funciona htpasswd

:arriba: Respuesta:
Utilizando ciertos ficheros de control del servidor web se puede controlar que solo los usuarios que rellenen correctamente su palabra clave puedan acceder a determinados directorios y por tanto a todo lo que contienen: imágenes, ficheros .pdf, ficheros .mp3. etc.

En general se necesita lo siguiente:
- Un fichero de usuarios y palabras clave que debe tener el nombre ".htpasswd". Normalmente hay un único fichero de éste tipo por web, pero si se desea se pueden tener varios (por ejemplo para distintos perfiles, ...). Este fichero puede estar ubicado en cualquier directorio que sea accesible por el servidor web.
- Un fichero de control con el nombre ".htaccess" para cada uno de los directorios a proteger. Este fichero debe estar ubicado en el directorio a proteger.

Ejemplo de fichero .htaccess
Código:

AuthUserFile /home/felipe/www/proteger/.htpasswd
AuthGroupFile /dev/null
AuthName "Acceso Restringido"
AuthType Basic
<Limit GET POST>
require valid-user
</Limit>
Options All MultiViews

NOTA: Debe usarse el dicectorio donde se haya ubicado el fichero .htpasswd, en el ejemplo ha sido: /home/felipe/www/proteger

Ejemplo de fichero .htpasswd
Código:

Juan:719b2WzvooS5s
Pedro:255j98yUaLFjM

NOTA: El fichero .htpasswd se puede rellenar con cualquier editor de texto (el notepad por ejemplo). Se debe poner una linea para cada usuario:password, pero OJO que la password se escribe encriptada.
Para obtener la password encriptada puedes usar un generador online como el siguiente: http://www.askapache.com/online-tool...swd-generator/

ferny 27/10/2008 13:18

Respuesta: FAQ de Apache
 
Tema:
Instalar un servidor Apache bajo Windows

Pregunta:
¿Cómo instalar cualquier versión de Apache bajo Windows?
¿Cómo configurarle PHP y MySQL para desarrollar aplicaciones web?

Respuesta:
Les recomiendo que sigan este excelente tutorial :aplauso:

http://www.mundodivx.com/php/index.html

glayvin 29/10/2008 16:54

Respuesta: FAQ de Apache
 
Cita:

Iniciado por tyo100 (Mensaje 1509077)
Tema:
Reescribir las URL (mod_rewrite)


Pregunta:
¿Existe algun Wizard para crear reglas Rewrite?

Respuesta:
Hace días me encontraba desarrollando un php, muy sencillo para crear Reglas rewrite de apache, despues me enferme y me puse un rato en la laptop mientras me recuperaba y encontre esto, asi que me ahorro el esfuerzo y mejor les pongo el link, es version beta pero funciona muy bien, para casi todos los casos.

http://www.mod-rewrite-wizard.com/

No se si es adecuado responer aquí (si lo creeis necesario borrad mi respuesta).
La cuestión es que la pagina de mod rewrite wizard ahora redirige a una pàgina de parking, no hay ningún servicio como el que se indica.

Yo he encontrado un "Mod rewrite Wizard" aquí : http://www.generateit.net/mod-rewrite/

Un saludo

quinqui 20/03/2009 12:01

Respuesta: FAQ de Apache
 
Tema
Limitar acceso a la web

Pregunta
¿Cómo configurar el servidor para que los usuarios ingresen libremente por Intranet, pero que requiera clave si lo hacen desde Internet?

Respuesta
Con la directiva Satisfy de Apache.

De acuerdo a la documentación de Apache, se puede aplicar este cambio usando las siguiente configuración:

Código:

Require valid-user
Allow from 192.168.1
Satisfy Any

Sin embargo, en la práctica a mí así solamente no me funcionó. Tuve que agregar estas otras directivas para que corriera bien:

Código:

Order deny,allow
Deny from all

# (aqui va la informacion de autentificacion de usuarios...)

Require valid-user
Allow from 192.168.1
Satisfy Any

La ip de ejemplo 192.168.1 se refiere al ámbito Intranet :)
Espero que les sea de utilidad como lo fue para mí ^_^

ezebongiovi 25/01/2012 19:12

Respuesta: FAQ de Apache
 
Chicos necesito MUCHISIMA AYUDA!!!

Les explico cual es mi situacion:
Quiero crear mi propio servidor web, con apache MYSQL PHP y PHPMYADMIN .
Tengo los siguientes problemas:
*INSTALO APACHE y solo se ve mi web en "localhost:8080"
*Necesito DNS que redireccionen mi DOMINIO a mi IP
*Necesito saber como instalar el MYSQL, PHP y PHPMYADMIN para que trabajen con mi servidor

En si no tengo mucha idea de esto, estaba pagando un HOST y luego dije "wow porque no creo mi propio servidor asi no pago nada?" y aqui estoy viendo como hacer necesito una muy buena mano se los agradeceria mucho! aquel que tenga ganas de explicarme un poco del tema y ayudarme es bienvenido!

PD:Explore por todo INTERNET pero no logro entender mucho, no he encontrado algo que me explique bien, no es que no busque y de vago consulto aqui.Ademas tengo conocimiento de PHP y de HTML ( BASICO AMBOS ) por lo tanto no es que tampoco soy burro, solo estoy explorando una diea nueva que me gusto mucho, realmente necesitaria una mano
MUCHAS GRACIAS!!


La zona horaria es GMT -6. Ahora son las 05:43.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.