Showing posts with label apache server. Show all posts
Showing posts with label apache server. Show all posts

Friday, 19 April 2013

Apache error: winnt_accept: Asynchronous AcceptEx failed.

Si tienes Apache instalado en Windows y te encuentras con este error en el error.log:

[warn] (OS 996)El evento superpuesto de E/S no es un estado señalado. : winnt_accept: Asynchronous AcceptEx failed.

Tambien puede tener problemas cargando paginas, por ejemplo Firefox muestra este error, no siempre lo muestra pero cada cierto tiempo (a mi me paso)

La conexión al servidor fue reiniciada mientras la página se cargaba

Existe una solucion provisional ya que todavia no se sabe la verdadera causa del error

Quizas sea el firewall o antivirus asi que chequea eso primero
El problema mas relacionado con este error es el DHCP, problemas con las IPs dinamicas

Segun en la documantacion de Apache, AcceptEx() es una API de Microsoft WinSock v2 que provee en ciertas circuntancias buenos resultados por encima de la API de BSD accept(). Algunos programas para Windows, como antitirus o firewall, tienen bugs que interfieren con la operacion de AcceptEx()

 

Solucion:


Esta solucion es para evitar el uso de AcceptEx() usando la directiva Win32DisableAcceptEx. Esta opcion esta disponible a partir de la version 2.0.49 de Apache


  1. Edita el archivo httpd.conf
  2. Busca esta linea en el archivo: EnableMMAP
  3. Veras que esta comentada
  4. Descomentala
EnableMMAP off
EnableSendfile off

Win32DisableAcceptEx
Luego reinicia Apache

NOTA: si tienes problemas despues de haber habilitado la opcion Win32DisableAcceptEx, intenta dejandolo sin Win32DisableAcceptEx:

EnableMMAP off
EnableSendfile off


FUENTE (ingles)


Publicado en tttony.blogspot.com

Wednesday, 5 December 2012

Restringir la entrada de usuarios a ciertos archivos con .htaccess en Apache

Si deseas restringir el acceso a usuarios a ciertos archivos o carpetas, puedes hacerlo con el archivo .htaccess

Primero crea los usuarios con sus respectivas contraseñas, para esto usaremos la utilidad: htpasswd.exe que esta en la carpeta bin del Apache, tambien es valido para Linux

htpasswd.exe -csb .htpasswd tttony test
htpasswd.exe -sb .htpasswd prueba test

NOTA: en el segundo comando no es necesario crear de nuevo el archivo ya que fue creado con el primer comando
 Aqui tienes una utilidad online para crear usuarios y aqui la documentacion de la utilidad htpasswd.exe pero esta en ingles

Con este comando se creara un archivo llamado .htpasswd(aunque puedes colocarle el nombre que quieras) en el directorio bin pero preferiblemente muevelo a un directorio no accesible desde la web, es decir, fuera del directorio htdocs

Aqui esta el contenido del archivo .htaccess

#
# Acceso restringido a archivos a ciertos usuarios
#

# Directorio del archivo .htpasswd
AuthUserFile directorio/inaccesible/desde/la/web/.htpasswd

# Una descripcion
AuthName "Area restringida, solo acceso a usuarios"
AuthType Basic

# El archivo privado.php es solo accedido por el usuario tttony
<Files ~ "^privado.php$">
Require user tttony
</Files>

# Mientras que los archivos que no son privado.php
# son accedidos por el usuario prueba
<Files ~ !"^privado.php$">
Require user prueba
</Files>


En este caso el archivo privado.php solo es accedido por el usuario tttony y al acceder te pedira la contraseña



Publicado en tttony.blogspot.com