|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
WAS - Webdev Aplicativo Server |
Débuté par Boller, 25 aoû. 2015 05:13 - 139 réponses |
| |
| | | |
|
| |
Membre enregistré 4 595 messages |
|
Posté le 25 août 2015 - 05:13 |
Prezados
Segue aqui uma coletânea de informações sobre o assunto WAS para simplificar a sua instalação.
Caso tenha contratado uma vps deve se verificar a questão se tem ou não conexão SSL para Https:// Não é obrigatório, mas na hora de instalar não deve marcar essa opção.
WAS WINDOWS http://www.thenextage.com/wordpress/setting-up-the-webdev-application-server-on-a-windows-2012-cloud-server/
WAS LINUX http://www.thenextage.com/wordpress/setting-up-the-webdev-application-server-on-a-linux-cloud-server/
Esses 2 link foram desenvolvidos por:
Pete Halsted - NextAge
http://www.thenextage.com
Pete HalstedPete Halsted has been developing custom business management applications for small to medium-sized companies, since 1987. His focus is on client/server, distributed and cloud based development utilizing WinDev, WebDev, and PostgreSQL. Pete is a Clarion Certified Developer with 25 years in the industry, has spoken at several Developers conferences, and provided Developer training and mentoring on a one on one basis. He has served companies both large and small as Project Manager, Lead Architect, Lead Developer and Chief Technology Officer. Pete is currently living the beach life in Biloxi, MS with his wife and dog, enjoying the freedom provided by cloud based technologies. Pete is available for Project Management, Custom Design, Development, Training, and Speaking assignments. For more information please visit www.thenextage.com or follow his blog at www.thenextage.com/wordpress. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 00:49 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 00:54 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 00:54 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 00:55 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 00:55 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 00:55 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 00:56 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 00:56 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 00:56 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 00:56 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 00:57 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 00:57 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 00:57 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 00:58 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 00:58 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 01:06 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 01:06 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 01:06 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 01:07 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 01:07 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 01:07 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 01:08 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 01:08 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 01:09 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 01:09 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 01:09 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 01:10 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 01:11 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 01:11 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 01:12 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 01:44 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 01:56 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 02:29 |
Passo a Passo do Processo de Deploy no Webdev

|
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 02:30 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 02:30 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 02:31 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 02:31 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 02:32 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 02:32 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 02:33 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 15:41 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 15:44 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 15:45 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 15:45 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 15:46 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 15:46 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 15:47 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 15:47 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 15:49 |
WAS - Webdev Aplication Server - PcSoft Version 20 é um aplicativo middleware que e instalado no Servidor Web junto com o IIS ou Apache. Roda no Ambiente Windows e Linux. Como as páginas e webservices feitos no Webdev são arquivos compilados o WAS permite que sejam rápidos e altamente SEGUROS, evitando estar legível as regras de negocio e acesso ao banco de dados que estão ligados. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 16:43 |
Prezados,
Aqui esta o video de 1h fazendo todos os passos no SERVER WEB e no WORKSTATION.
Bons estudos!...
 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 17:09 |
Obs.:
Pastas que devem existir no WAS e no IIS e no InetPub do IIS liberadas para o usuario Administrador e para o Usuário do IIS (IIS_IUSRS):
sites data ftp_webdev webservices |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 18:37 |
Outras observações:
"AS CONFIGURAÇÕES DO FTP JAMAIS DEVE SER COM LOGIN ANONIMO!!!!!!"
É uma falha grave de segurança.
Usem o "Ftp Mozilla (https://filezilla-project.org/)" utilitario freeware para fazer tentativas de acesso e verificar se esta seguro o seu servidor.
Muita atenção nessa hora... tenha certeza que só voce com suas megas senhas tenham acesso ao WAS e ao FTP...
Aconcelho ler livros sobre infraestrutura do Windows Server e do Linux para ter total dominio sobre esse assunto básico.
 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 22:03 |
Ultima Observação:

Deve instalar o Driver Nativo ou ODBC no Servidor onde tem o WAS....
http://screencast.com/t/vtaO7L91
Que a força esteja contigo e sucesso no uso agora esta garantido detalhadamente.
[ ]´s
Adriano Boller Representante Oficial PcSoft no Brasil adrianoboller@gmail.com (41) 9949 1800 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 août 2015 - 23:34 |
Prezados,
Achei prudente fazer o video no formato mp4 caso alguem não tenha conseguido assistir.
Segue abaixo o Video de como Instalando o Driver Nativo no Servidor:
Um detalhe importe que também deve ser observado é o uso da porta 80, 8080 ou 8081 e 8082 devem estar apenas para o IIS, sendo um dos motivos de erro de comunicacao do WAS por conflitar com a porta do Skype, mude no aplicativo Skype em opções para ele usar outra porta.
[ ]´s
Adriano Boller |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 44 messages |
|
Posté le 27 août 2015 - 21:54 |
O Melhor mesmo é usar o APACHE com WAS! Leva pelo menos 10 minutos para configurar o APACHE no "modo HARD".
[ ]'s
-- Analista de Sistemas Jr Assessor de Comunicação Fotografo nas horas Vagas Pai da Alícia e Marido da Andréa <3 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 28 août 2015 - 16:19 |
O aplicativo WAS é o que gerencia o site e o webservice feito com Windev ou Webdev pois eles sao compilados, nao sao abertos via "bloco de notas/notepad" os fontes pois estão em linguagem de maquina, baixo nível.
Assim o site e o webservice abre muito mais rapido do que se fosse interpretado e depois exibido.
Vantagem:
+ alta segurança + regras de negocio protegidas + conexao com o banco ficam totalmente seguro devido essa camada criada que nao é conhecida pela maioria dos invares, vao achar algo diferente rodando, mas nao serao capazer de ir além. + impossivel acessar a base por nao dar nenhum pista para o invasor do servidor web, unica coisa podera tirar o site do ar se teacesso total ao servidor.
Desvantagem: - precisa ter o Was rodando 100% do tempo |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 02 septembre 2015 - 18:48 |
| |
| |
| | | |
|
| | |
| |
Posté le 15 septembre 2015 - 20:28 |
Funcionou muito bem. Parabéns Adriano. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 18 septembre 2015 - 02:34 |
WAS Troubleshoot DEPLOY
Caso esteja dando esse erro no botão: TEST THE PARAMETERS

ESTÁ LIGADO O SEU FIREWALL
-- Adriano Jose Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com ______________________________________________ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
| | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 19 septembre 2015 - 17:05 |
Mais um Troubleshoot do WAS e do IIS
Quando vc usa o codigo para gerar relatorios XLS / CSV / PDF no Webdev vode deve usar o seguinte código:
Lineprint is string
DataInicial is string = Replace(EDT_Data_Inicial,"-","")
DataFinal is string = Replace(EDT_Data_Final,"-","")
IF EDT_HoraIncial <> "" AND EDT_HoraIncial <> ""
IF DateDifference(DataInicial,DataFinal) < 0 OR DateDifference(DataInicial,DataFinal) > 31 AND EDT_HoraIncial <> "" AND EDT_HoraIncial <> ""
Info("Intervalo de Datas Inválido ou as horas não foram preenchidas")
RETURN
ELSE IF EDT_Data_Inicial <> "" AND EDT_Data_Final <> "" AND EDT_HoraIncial <> "" AND EDT_HoraFinal <> ""
GloCabecalho = "DATA DE EMISSAO: " + DateToString(DateSys(),"DD/MM/YYYY")
IF EDT_AT <> "" AND EDT_MinutoInicial <> "" AND EDT_MinutoFinal <> "" GloFiltro = "FILTRO Data Inicial: "+ EDT_Data_Inicial + " Hora Inicial: "+ EDT_HoraIncial + " Data Final: "+ EDT_Data_Final + " Hora Final: " + EDT_HoraFinal + " AT: " + EDT_AT + " Minuto Menor < : " + EDT_MinutoInicial + " Minuto Maior > : " + EDT_MinutoFinal ELSE IF EDT_AT = "" AND EDT_MinutoInicial <> "" AND EDT_MinutoFinal <> "" GloFiltro = "FILTRO Data Inicial: "+ EDT_Data_Inicial + " Hora Inicial: "+ EDT_HoraIncial + " Data Final: "+ EDT_Data_Final + " Hora Final: " + EDT_HoraFinal + " Minuto Menor < : " + EDT_MinutoInicial + " Minuto Maior > : " + EDT_MinutoFinal ELSE IF EDT_AT = "" AND EDT_MinutoInicial = "" AND EDT_MinutoFinal = "" GloFiltro = "FILTRO Data Inicial: "+ EDT_Data_Inicial + " Hora Inicial: "+ EDT_HoraIncial + " Data Final: "+ EDT_Data_Final + " Hora Final: " + EDT_HoraFinal END
Lineprint = GloCabecalho Lineprint += "" +Charact(13)+Charact(10) Lineprint += GloFiltro Lineprint += "" +Charact(13)+Charact(10) Lineprint += "AT;Autorizatario;Minuto;DiaHoraMinuto"+Charact(13)+Charact(10)
SQLExecutar is string= [ Relatorio_X '@dataincial!@' ,'@horainicial@' ,'@datafinal@' ,'@horafinal@' ]
SQLExecutar = ReplaceNull(SQLExecutar,"@dataincial!@",EDT_Data_Inicial) SQLExecutar = ReplaceNull(SQLExecutar,"@horainicial@",EDT_HoraIncial) SQLExecutar = ReplaceNull(SQLExecutar,"@datafinal@",EDT_Data_Final) SQLExecutar = ReplaceNull(SQLExecutar,"@horafinal@",EDT_HoraFinal)
dsQyrRetorno is Data Source
ok is boolean = HExecuteSQLQuery(dsQyrRetorno,ConnNativa,hQueryWithoutCorrection, SQLExecutar)
IF ok = True THEN
FOR EACH dsQyrRetorno
Lineprint += dsQyrRetorno.Numero + ";" + dsQyrRetorno.Nome + ";" + dsQyrRetorno.Minutos +Charact(13)+Charact(10)
END
END
sFileName is string = WS_ReturnGenerationDir() + "TaxiOnlineUrbs.csv" fSaveBuffer(sFileName,Lineprint) iDestination(iGenericXLS,sFileName) FileDisplay(sFileName,"application/unknown","TaxiOnlineUrbs.csv") fDelete(sFileName)
END
END
Esse código final é que gera o relatorio no diretorio do servidor:
sFileName is string = WS_ReturnGenerationDir() + "TaxiOnlineUrbs.csv" fSaveBuffer(sFileName,Lineprint) iDestination(iGenericXLS,sFileName) FileDisplay(sFileName,"application/unknown","TaxiOnlineUrbs.csv") fDelete(sFileName)
Para isso uso essa funcao aqui que verifica se o diretorio no servidor existe:
Procedure WS_ReturnGenerationDir()
sGenDir is string
sGenDir = fDataDir()+ "\gen\" IF fDirectoryExist(sGenDir) = False THEN fMakeDir(sGenDir) END sGenDir = sGenDir + gnConvenioAdministrador +"_"+ gnSeqAutorzAdministrador +"\" IF fDirectoryExist(sGenDir) = False THEN fMakeDir(sGenDir) END
RESULT sGenDir
Mas se não tiver com diretiva de leitura e gravação no IIS o relatorio da o seguinte erro:

É necessário dar as credenciais de administrador e de segurança para o usuário do IIS:

-- Adriano Jose Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com ______________________________________________ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 19 septembre 2015 - 17:17 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 19 septembre 2015 - 17:25 |

-- Adriano Jose Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com ______________________________________________ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 23 septembre 2015 - 01:43 |
Hi,
Une autre raison deerro avec était utilise le port 80 par Skype qui le rend difficile à installer, vous devez modifier les paramètres de Skype pour lui d'utiliser un autre port.
Another reason deerro with WAS is using port 80 by Skype that makes it difficult to setup, you must change the Skype settings for him to use another port.
Outro motivo deerro com o WAS é o uso da porta 80 pelo Skype isso acaba dificultando a configuração, deve alterar nas configurações do Skype para ele usar outra porta.

Détecte qu'il ya toute application utilisant le même port de WAS, par exemple Skype, il la plupart du temps le conflit avec le port 80 et a été (WebDev Aplication Server)
Detects that there is any application using the same port of WAS, eg skype it most of the time the conflict with the port 80 and WAS (Webdev Aplication Server)
Detectar que existe algum aplicativo usando a mesma porta do WAS, por exemplo o skype ele na maioria das vezes da conflito com a porta 80 e o WAS (Webdev Aplication Server)

-- Adriano Jose Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com ______________________________________________ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 23 septembre 2015 - 01:47 |
Ola Prezados,
É realmente o Was é algo bem complexo mas uma vez configurado certinho, funciona que nem um relógio.
Outra técnica para testar o FTP do IIS estar funcionando é instalar o Filezilla Server e o Client para saber se o FTP esta ok
https://filezilla-project.org/download.php…
https://filezilla-project.org/download.php…
Julgo que com esse post qualquer pessoa consiga fazer a configuração de um WAS em seu servidor web para os seus sites, SQLConnectWs e seus Webservices (WSDLs).
Sucesso em seus projetos.
-- Adriano Jose Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com ______________________________________________ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 123 messages |
|
Posté le 23 septembre 2015 - 13:39 |
adrianoboller escreveu:
Ola Prezados,
É realmente o Was é algo bem complexo mas uma vez configurado certinho, funciona que nem um relógio.
Outra técnica para testar o FTP do IIS estar funcionando é instalar o Filezilla Server e o Client para saber se o FTP esta ok
https://filezilla-project.org/download.php…
https://filezilla-project.org/download.php…
Julgo que com esse post qualquer pessoa consiga fazer a configuração de um WAS em seu servidor web para os seus sites, SQLConnectWs e seus Webservices (WSDLs).
Sucesso em seus projetos.
-- Adriano Jose Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com ______________________________________________
Eu utilizo o Filezilla Server, muito bom nada que reclamar...Nunca falha |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 23 septembre 2015 - 15:02 |
Aulas do Professor Neri Correlacionadas ==================================================================
aula 5988 webdev - configurando IIS servidor web da Microsoft
aula 5989 webdev - configurando IIS startando servidor
aula 6036 webdev - server failed porta 80 netstat Erro IIS processo em uso 0x80070020
aula 6240 windev mobile - configurando IIS servidor web da Microsoft para depois criar webservice
aula 6241 windev mobile - startando servidor IIS e instalando webdev para gerar os webservices
aula 6242 windev mobile - abrindo webdev testando servidor IIS e abrindo projeto criar WEBSERVICE
aula 6262 windev mobile - configuracao do IIS

-- Adriano Jose Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com ______________________________________________ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 23 septembre 2015 - 16:32 |
Configuração do Reserved - Enviado por Willian Fernando
Linhas Adicionadas ao HTTP.CONF para o Reserved Vr 20 , funcionado aqui pra mim Estas linhas devem estar no final do arquivo Lembrando que si você desinstalar o Reserved estas linhas não são apagadas, eu vou la y borro elas manualmente, para reinstalar de novo em caso de testes y esas coisas...
Alias /RAWP/res/ "C:/Program Files/PC SOFT/Reserved Server 20/AWP/res/" <Directory "C:/Program Files/PC SOFT/Reserved Server 20/AWP/res/"> Require ALL granted AddType text/cache-manifest .manifest AddType Image/svg+xml .svg AddType video/webm .webm AddType text/vtt .vtt </Directory> ScriptAlias /RAWP/ "C:/Program Files/PC SOFT/Reserved Server 20/AWP/" <Directory "C:/Program Files/PC SOFT/Reserved Server 20/AWP/"> Require ALL granted </Directory> AddType application/WebDev20-rawp .rawp Action application/WebDev20-rawp /RAWP/RAwp.exe VIRTUAL AddType application/WebDev20-rawws .rawws Action application/WebDev20-rawws /RAWP/RAwp.exe VIRTUAL <Files WDSOAPDB> ForceType application/WebDev20-rawp Require ALL granted Allow from ALL </Files> <Files SRVRPL> ForceType application/WebDev20-rawp Require ALL granted Allow from ALL </Files> Alias /WDSOAPDB_WEB/ "C:/Program Files/PC SOFT/Reserved Server 20/WDSoapDB/WDSOAPDB_WEB/" <Directory "C:/Program Files/PC SOFT/Reserved Server 20/WDSoapDB/WDSOAPDB_WEB/"> Require ALL granted AddType text/cache-manifest .manifest AddType Image/svg+xml .svg AddType video/webm .webm AddType text/vtt .vtt </Directory>
Atenção atento aos caminhos essa maquina minha e de 32 Bits, SI instalar em 64 o caminho muda Ficaria algo como C:/Program Files (x86)/PC SOFT/Reserved Server 20 eu tive problemas tamben com o WEBDEV y o WAS que vem com ele , ao rodar um Site DO Tipo PHP não queria executar , dai olhei o HTTP.CONF y la estava o problema... ajustei a linha y funciono de primeira
-- Adriano Jose Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com ______________________________________________ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 29 septembre 2015 - 21:06 |
WAS - Verificando as portas de conexao
Como verificar as portas TCP que estão sendo usadas no computador? Existe um comando rápido e fácil que pode ser usado em computadores com o Windows XP: é o "netstat".
Para utilizá-lo basta ir No prompt DO DOS e digiar:
c:\netstat -abonp "TCP"
Uma lista com as conexões ativas irá aparecer informando os IPs, portas e os aplicativos que estão utilizando as portas. No meu computador o resultado DO netstat apareceu assim:
Active Connections
Proto LOCAL Address Foreign Address State PID
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 1456
c:\windows\system32\WS2_32.dll
C:\WINDOWS\system32\RPCRT4.dll
c:\windows\system32\rpcss.dll
C:\WINDOWS\system32\svchost.exe
[svchost.exe]
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING 4
[System]
TCP 127.0.0.1:1029 0.0.0.0:0 LISTENING 792
[alg.exe]
TCP 127.0.0.1:4664 0.0.0.0:0 LISTENING 2300
[GoogleDesktop.exe]
TCP 127.0.0.1:12025 0.0.0.0:0 LISTENING 320
[ashMaiSv.exe]
TCP 127.0.0.1:12080 0.0.0.0:0 LISTENING 356
Na linha que inicia com "TCP" a informação que aparece em seguida é o endereço IP DO seu computador. Depois dos dois pontos aparece o número da porta. Se a conexão for "LISTENING" quer dizer que o aplicativo No seu computador está aguardando que outro computador conecte com ele. Se a conexão for ESTABLISHED quer dizer que a conexão já está feita e aparece na frente DO IP DO seu computador o outro IP que está conectado a porta.
Se caso você queira ver o nome DO computador ao invés DO endereço IP, basta mudar o comando para:
c:\netstat -abop "TCP"
Se você quiser criar um arquivo texto com o resultado DO comando netstat, basta acrescentar No fim DO comando ">> arquivo.txt" :
c:\netstat -abonp "TCP" > arquivo.txt
fonte:http:
MS-Dos
netstat -an |find /i "listening" netstat -an |find /i "established" netstat -an |find /i "3389"
É extremamente importante para o administrador saber que portas estão sendo utilizadas e por quais programas no seu Sistema Operacional. Utilize o comando Netstat para verificar se não exite nenhuma conexão estranha no seu micro. Portas abertas por conexões desconhecidas geralmente indicam algum tipo de invasão na máquina.
*netstat –a servidor = retorna a lista de nomes registrados No WINS, pelo computador chamado servidor
*netstat –a = Exibe todas as portas de conexões e de escuta
*netstat –e: Esta opção exibe estatísticas sobre a interface Ethernet DO computador
*netstat –n: Exibe endereços e números de porta em forma numérica
*netstat –s: Exibe estatística por protocolo
*netstat -s –p ip 10: Mostra conexões para o protocolo especificado por protocolo, que pode ser tcp OU udp a cada 10 segundos.
* netstat –r: Exibe o conteúdo da tabela de roteamento DO computador
-- Adriano Jose Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller ______________________________________________ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 01 octobre 2015 - 15:44 |
WAS = WEBDEV APPLICATION SERVER
É usado para páginas dinâmicas desenvolvidas com o webdev, webservices desenvolvidos com webdev, páginas AWP desenvolvidas com webdev é uma espécie de administrador que executa as páginas gerados com webdev as páginas webdev apesar de gerar html apresentam um modulo compilado que é gerenciado pelo WAS
-- Adriano Jose Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller ______________________________________________ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
| | |
|
| | |
| |
Membre enregistré 4 595 messages |
| | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 octobre 2015 - 13:39 |
Prezados,
Uma vez instalado o WAS, deve ser instalado o Banco de dados e o driver compativel com o WAS para subir as suas aplicações.
O ftp.pcsoft.fr possui todas as versões ali disponiveis dos instaladores de todos os seus produtos.
http://www.thenextage.com/wordpress/setting-up-hyperfilesql-and-scm-on-a-linux-server/
http://doc.pcsoft.fr/fr-FR/?3044370
Comando de instalação no Linux do Driver ODBC
apt-get install unixodbc
-- Adriano Jose Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller ______________________________________________ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 04 novembre 2015 - 15:20 |
Prezados
Segue uma lista de verificações que devem ser feitas pra um banco de dados rodar junto com o WAS em um site ou webservice:
a) espaço em disco b) firewall com a porta liberada c) memoria livre d) processador livre e) não ter um antivírus bloqueando a sua execução, identificado como trust f) temperatura ok do servidor g) processos não estar utilizando as mesmas portas socket tcp/ip h) log cheio i) diretivas de acesso ao disco RW+ (ler e escrever) j) falta de comandos e pacotes que estejam mal instalados ou versões erradas que não mantem o serviço no ar l) verificar se outros servicos m) analisar os logs do S.O e do W.A.S.

-- Adriano Jose Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller ______________________________________________ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 05 novembre 2015 - 16:56 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 05 novembre 2015 - 17:02 |
Prezados,
Como deve ficar o seu Firewall:

-- Adriano Jose Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller ______________________________________________ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 07 mars 2016 - 20:10 |
Exemplo do email da PCSOFT:
Hi ADRIANO,
You have ordered one or several version 20 of WebDev Application Server for Windows. Thank you very much for your order.
The pre-release of version 20 is now available. You can download it from the following link: http://www.pcsoft.fr/st/telec/index.html
Here is the information you need to download version 20 of "WebDev Application Server for Windows".
http://www.windev.com/ts/download/20/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Login : xxxxxx Password : xxxxxxxxxxxxxx
Please note the serial number(s) that have been assigned to you and that will be requested during setup:
SERIAL xxxxxxxxxxxxxxxxxxxxxxxxxxxxx ssssssssssssss
PC SOFT Customer Services
ATENÇÃO:
TAMANHO APROXIMADO: 678 Megabytes
SE DER ESSE ERRO:
Unable to detect webdep 20 the update will be stoped Check whether the product is correctly instaled

É O PACOTE ERRADO, VERIFIQUE COM O REPRESENTANTE MAIORES INFORMAÇÕES.
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.blogspot.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 03 mai 2016 - 21:52 |
ConnectionNum is int
ConnectionNum = SQLConnectWS("http://MyServer/WDSOAPDB_WEB/", ... "MS Access 97 Database", "", "", "", "ODBC") IF ConnectionNum <> 0 THEN
... ELSE
SQLInfo() Error("The connection to the data source " + SourceName + ... " failed." + CR + "Error code: " + ... SQL.Error + CR + SQL.MesError) END
SQLDisconnect()
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 04 mai 2016 - 22:01 |
Prezados
Segue aqui vídeo sobre como configurar o FTP no IIS

-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 06 mai 2016 - 04:28 |
Prezados
Estou criando esse post para tratar o time out de páginas no Webdev.







DEFINIÇÃO DO TEMPO DE TIMEOUT DO IIS
https://technet.microsoft.com/pt-br/library/cc771956%28v=ws.10%29.aspx
Para configurar o tempo limite da sessão
Você pode realizar esse procedimento usando a interface do usuário (IU), executando comandos do Appcmd.exe em uma janela da linha de comando, editando diretamente os arquivos de configuração ou gravando scripts de WMI. Interface de usuário Para usar a IU
Abra o Gerenciador do IIS e navegue até o nível que deseja gerenciar. Para obter informações sobre como abrir o Gerenciador do IIS, consulte Abrir o gerenciador do IIS (IIS 7). Para obter informações sobre como navegar para locais da interface do usuário, consulte Navegação no Gerenciador do IIS (IIS 7).
Em Exibição de Recursos, clique duas vezes em ASP.
Na página ASP , em Serviços, expanda Propriedades da Sessão.
No campo Tempo limite, insira um valor de tempo limite no formato hh:mm:ss. Por exemplo, insira 00:15:00 para 15 minutos.
No painel Ações, clique em Aplicar.
Linha de comando
Para especificar o período de tempo padrão durante o qual o objeto de uma sessão é mantido após a última solicitação associada ao objeto, use a seguinte sintaxe:
appcmd set config /section:asp /timeout: timeSpan
A variável timeSpan representa o período máximo de tempo (hh:mm:ss) que um objeto da sessão é mantido após a última solicitação associada ao objeto. O valor padrão é 00:20:00.
Para obter mais informações sobre Appcmd.exe, consulte Appcmd.exe (IIS 7). Configuração
O procedimento neste tópico afeta os seguintes elementos de configuração:
<sessionState>
<sessionPageState>
Para obter mais informações sobre a configuração do IIS 7, consulte IIS 7.0: esquema de configurações do IIS (a página pode estar em inglês) no MSDN. WMI
Use as seguintes classes, métodos ou propriedades do WMI para realizar o procedimento:
Propriedade SessionStateSection.Timeout
Para obter mais informações sobre WMI e IIS, consulte WMI (Instrumentação de Gerenciamento do Windows) no IIS 7. Para obter mais informações sobre as classes, os métodos ou as propriedades associados a este procedimento, consulte a Referência do provedor WMI do IIS (a página pode estar em inglês) no site do MSDN.
Como alterar o valor de tempo limite padrão para um site no IIS em um servidor Windows 2008 R2
Como corrigir Tempo limite expirou. O tempo limite esgotou antes da conclusão da operação
Em resumo
Deve configurar nas telas do webdev, no was e no IIS ou apache o tempo de time out
TimeOut parâmetro Apache
https://httpd.apache.org/docs/2.4/mod/mod_reqtimeout.html
https://www.devside.net/wamp-server/apache-and-php-limits-and-timeouts
http://users.cis.fiu.edu/~downeyt/cgs4854/timeout
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 11 mai 2016 - 16:12 |
Para configurar o NO-IP
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 11 mai 2016 - 16:17 |
Configurar Roteador e Portas para o seu site:
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Message modifié, 11 mai 2016 - 16:20 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 20 mai 2016 - 19:34 |
Prezados,
Vou passar aqui como configurar a porta padrão do IIS ou como fazer para que nao abra o html inicial do IIS e sim a pasta do seu site.
Criando um Redirect no lugar do defaul.htm ou index.html da raiz do IIS:
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <meta http-equiv="refresh" content="1;url=http://177.124.60.220:8081/RTSite/CONNECT_MODETEST/sCAAAAAAAABzZFpXcnFBTEhFAAA"> <script type="text/javascript"> window.location.href = "http://177.124.60.220:8081/RTSite/CONNECT_MODETEST/sCAAAAAAAABzZFpXcnFBTEhFAAA" </script> <title>Radio Taxi Faixa Vermelha</title> </head> <body> <!-- Caso não abra o site click no link abaixo: --> <br> <a href='http://177.124.60.220:8081/RTSite/CONNECT_MODETEST/sCAAAAAAAABzZFpXcnFBTEhFAAA'>Clique Aqui</a> </body> </html> ******************************************** <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <meta http-equiv="refresh" content="1;url=http://localhost/RTSite/"> <script type="text/javascript"> window.location.href = "http://localhost/RTSite/" </script> <title>Radio Taxi Faixa Vermelha</title> </head> <body> <!-- Caso não abra o site click no link abaixo: --> <br> <a href='http://localhost/RTSite/'>Clique Aqui</a> </body> </html>
Alterando porta default no IIS
Configurar um site padrão Quando o IIS é instalado, ele é pré-configurado para servir como um site padrão. No entanto, você pode querer alterar algumas das configurações. Para alterar as configurações básicas do site e para emular as etapas necessários para configurar o Apache pela primeira vez usando o arquivo de configuração:
Faça logon no computador do servidor Web como administrador. Clique em Iniciar, aponte para Configurações e clique em Painel de Controle. Clique duas vezes em Ferramentas Administrativas e depois em Gerenciador de Serviços da Internet. Clique com o botão direito do mouse no site que você deseja configurar no painel esquerdo e depois clique em Propriedades. Clique na guia Site. Digite uma descrição para o site na caixa Descrição. Digite o endereço IP a ser usado para o site ou deixe a configuração padrão Todos (Não Atribuídos). Modificar a porta de protocolo de controle de transmissão (TCP) conforme apropriado. Clique na guia Diretório Base. Para usar uma pasta no computador local, clique em Um diretório neste computador e, em seguida, clique em Procurar para localizar a pasta que você deseja usar. Para usar uma pasta que foi compartilhada a partir de outro computador na rede, clique em Um compartilhamento localizado em outro computador e digite o caminho da rede ou clique em Procurar para selecionar a pasta compartilhada. Clique em Leitura para conceder acesso de leitura à pasta (necessário). Clique em OK para aceitar as propriedades do site.
Criar um novo site Para criar um novo site no Apache, você deve configurar um host virtual e definir as configurações individuais desse host. Se estiver usando o IIS, você poderá criar um novo site convertendo os seguintes termos para seus equivalentes no IIS: Termo do Apache Termo do IIS Raiz do documento Diretório base do IIS Web Site NomeDoServidor Cabeçalho de Host do IIS Ouvir Endereço IP do IIS e a porta TCP Para criar um novo site no IIS, execute estas etapas:
Faça logon no computador do servidor Web como administrador. Clique em Iniciar, aponte para Configurações e clique em Painel de Controle. Clique duas vezes em Ferramentas Administrativas e depois em Gerenciador de Serviços da Internet. Clique em Ação, aponte para Novo e clique em Site. Após o início do Assistente para Criação de Site, clique em Avançar. Digite uma descrição para o site.
Essa descrição é usada internamente para identificar o site da Web só no Gerenciador de serviços de Internet. Selecione o endereço IP a ser usado para o site.
Se você selecionar Todos (Não Atribuídos), o site ficará acessível em todas as interfaces e endereços IP configurados. Digite o número da porta TCP para publicar o site no. Digite o nome de cabeçalho de Host (o nome real que é usado para acessar este site). Clique em Próximo. Digite o caminho para a pasta que contém os documentos do site ou clique em Procurar para selecionar a pasta e clique em Avançar. Selecione as permissões de acesso para o site e clique em Avançar. Clique em Concluir.
Como: Criar e configurar diretórios virtual no IIS 7.0 .NET Framework 4
Usando o gerenciador do IIS, você pode criar um diretório virtual para um aplicativo da Web ASP.NET que está hospedado no IIS 7.0. Um diretório virtual aparece para navegadores cliente como se ele está no diretório raiz do servidor Web, mesmo que ele possa fisicamente residir em outro lugar. Essa abordagem permite que você publique conteúdo da Web que não esteja localizado sob a pasta raiz do servidor Web, como o conteúdo que está localizado em um computador remoto. Também é uma maneira conveniente de criar um site para o trabalho de desenvolvimento local Web porque ele não exige um site exclusivo para cada diretório virtual.
Este tópico explica como criar um diretório virtual e configurá-lo para executar páginas ASP.NET em versões de que tem o IIS instalado e no Windows servidor 2008. Para obter informações sobre como configurar um diretório virtual no IIS 5.0, 5.1 e IIS 6.0, consulte Como: Criar e configurar diretórios virtual no IIS 5.0 e 6.0.
Você deve criar um diretório virtual como parte de um site do IIS existente. Este pode ser o Web site padrão que é criado quando o IIS é instalado, ou um site que você criou. Para obter detalhes adicionais sobre como instalar e configurar o IIS e sobre como criar um site da Web, consulte a Ajuda do IIS ou a documentação do produto IIS online sobre o Microsoft TechNet Site da Web. Criando o Diretório Virtual
Siga um dos procedimentos no tópico Como: Abra o Gerenciador do IIS para abrir Gerenciador do IIS. Você pode, então, criar um diretório virtual. Para criar um diretório virtual usando O Gerenciador do IIS
No Gerenciador do IIS, expanda o computador local e a pasta Sites, e localize o site da Web que você deseja adicionar em um diretório virtual.Use as seguintes etapas:
Para , clique com o botão direito do mouse no site ou na pasta onde você deseja criar o diretório virtual e em seguida, clique em Add Virtual Directory.
Para Windows Server 2008, clique com o botão direito do mouse no site ou na pasta onde você deseja criar o diretório virtual, clique em Manage Web Site e em seguida, clique em Add Virtual Directory.
Na caixa de diálogo Add Virtual Directory, especifique as seguintes informações:
Alias . Digite um nome para o diretório virtual. Escolha um nome curto que seja fácil de digitar, pois o usuário digita esse nome para acessar o site.
Caminho físico. Digite ou navegue até o diretório físico que contém o diretório virtual. Você pode selecionar uma pasta existente ou criar uma nova para conter o conteúdo para o diretório virtual.
Para fornecer credenciais para conectar-se a um caminho UNC, clique no botão Connect as.
Clique em OK.
Para obter mais informações, consulte Gerenciando . Configurando o diretório virtual
Se o ASP.NET estiver ativado, quando você cria um diretório virtual, ele já está configurado para executar páginas ASP.NET. Para obter mais informações sobre como habilitar a funcionalidade ASP.NET no IIS 7.0, consulte Executando Aplicativos da Web no Windows Vista com o IIS 7.0 e Visual Studio ou Executando aplicativos da Web no Windows Server 2008 com o IIS 7.0 e Visual Studio.As próximas tarefas de configuração que você pode desejar executar são configurar a segurança e autenticação para o diretório virtual. Configurar a segurança de uma diretório virtual para uma conta existente
No Gerenciador do IIS, selecione o diretório virtual que você deseja configurar e em seguida, clique em Edit Permissions no painel de Actions.
O diretório virtual da caixa de diálogo Properties é exibida.
Clique na guia Security.
Clique em Edit.
A caixa de diálogo Permissions é exibida.
Selecione uma conta existente na lista Group or user names.
Marque as caixas de seleção de permissões apropriadas da lista Permissions para um determinado grupo ou usuário, conforme necessário para sua segurança de diretório virtual.
Clique em Apply para aplicar as alterações.
Clique OK para fechar a caixa de diálogo Permissions.
Clique Apply para aplicar as alterações na caixa de diálogo Properties.
Clique em OK.
Configurar a segurança de uma diretório virtual para uma conta existente
No Gerenciador do IIS, selecione o diretório virtual que você deseja configurar e em seguida, clique em Edit Permissions no painel de Actions.
O diretório virtual da caixa de diálogo Properties é exibida.
Clique na guia Security.
Clique em Edit.
A caixa de diálogo Permissions é exibida.
Clique em Add Para adicionar uma conta.
A caixa de diálogo Select Users, Computers, or Groups é exibida.
Adicionar um usuário, computador ou grupo, conforme necessário para segurança de seu diretório virtual.
Clique para fechar o Selecionar Usuários, Computadores ou Grupos OK caixa de diálogo.
Marque as caixas de seleção de permissões apropriadas da lista Permissions para um novo usuário, computador, ou grupo, conforme necessário para sua segurança de diretório virtual.
Clique em Apply para aplicar as alterações.
Clique OK para fechar a caixa de diálogo Permissions.
Clique Apply para aplicar as alterações na caixa de diálogo Properties.
Clique em OK.
Configurar a autenticação para um diretório virtual
No Gerenciador do IIS, selecione o diretório virtual que você deseja configurar.
Em Features View, clique duas vezes em Authentication.
Selecione o tipo de autenticação para configurar e no painel de Actions certifique-se de que Enable é selecionado para ativar o tipo de autenticação.
Se o tipo de autenticação estiver ativado, o painel Actions permite que você desative ou edite a configuração de autenticação.
No painel Actions, clique em Edit ou Advanced Settings para configurar propriedades adicionais para o tipo de autenticação selecionada.
As ações disponíveis no painel Actions variam dependendo o tipo de autenticação selecionada.Por exemplo, se o módulo Anonymous Authentication estiver instalado e está ativado, você pode clique em Edit para editar propriedades adicionais de autenticação anônima.Se o módulo Window Authentication é instalado e está ativado, você poderá clicar em Advanced Settings para editar as propriedades de autenticação Windows.
Para obter mais informações sobre a configuração de autenticação, consulte Configuração de autenticação no IIS 7.0.Para obter uma lista de outras tarefas administrativas comuns, consulte Adminis comuns.
Bons estudos

-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 20 mai 2016 - 20:42 |
Como alterar a porta TCP para serviços do IIS
IMPORTANTE: Este artigo foi traduzido pelo software de tradução automática da Microsoft e eventualmente pode ter sido editado pela Microsoft Community através da tecnologia Community Translation Framework (CTF) ou por um tradutor profissional. A Microsoft oferece artigos traduzidos automaticamente por software, por tradutores profissionais e editados pela comunidade para que você tenha acesso a todos os artigos de nossa Base de Conhecimento em diversos idiomas. No entanto, um artigo traduzido pode conter erros de vocabulário, sintaxe e/ou gramática. A Microsoft não é responsável por qualquer inexatidão, erro ou dano causado por qualquer tradução imprecisa do conteúdo ou por seu uso pelos nossos clientes.
Clique aqui para ver a versão em Inglês deste artigo: 149605
É altamente recomendável que todos os usuários atualizar para Serviços de Informações da Internet da Microsoft (IIS) versão 7.0 em execução no Microsoft Windows Server 2008. O IIS 7.0 aumenta significativamente a segurança da infra-estrutura da Web. Para obter mais informações sobre tópicos relacionados a segurança do IIS, visite o seguinte site da Microsoft: http://www.microsoft.com/technet/security/prodtech/IIS.mspx Para obter mais informações sobre o IIS 7.0, visite o seguinte site da Microsoft: http://www.IIS.NET/default.aspx…
SUMÁRIO É possível alterar a porta de serviços que o Internet Information Server (IIS) escutará. Isso pode ser útil quando você tenta executar vários servidores da web no mesmo computador.
Mais informações
Importante: Essa seção, método ou tarefa contém etapas que informam sobre como modificar o registro. No entanto, sérios problemas poderão ocorrer se você modificar o registro incorretamente. Portanto, certifique-se de seguir estes passos cuidadosamente. Para obter mais proteção, faça backup do registro antes de modificá-lo. Em seguida, você poderá restaurar o registro caso ocorra um problema. Para obter mais informações sobre como fazer backup e restaurar o registro, clique no número do artigo a seguir para visualizá-lo na Base de Conhecimento Microsoft: 322756 Como fazer o backup e restaurar o registro no Windows Versões do Microsoft Internet Information Server 1.0 para o 2.0
Iniciar Regedt32.exe e localize a seguinte subchave do registro:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ServiceProvider\ServiceType\W3SVC
Localize o valor de porta TCP e clique duas vezes nele.
A caixa de diálogo Editor DWORD deve aparecer com o valor padrão (Hex 0x50; 80 Decimal) listado. Altere o valor decimal para o número da porta que deseja que o serviço de publicação da World Wide Web para ouvir.
Observação: Você também pode seguir as etapas 2 e 3 para alterar os seguintes serviços:
MSFTPSVC: Serviço de Publicação de FTP
GOPHERSVC: Gopher Serviço de Publicação
Saia do Regedt32.exe.
Pare e reinicie os serviços do IIS usando o Gerenciador de Serviços de Internet.
Microsoft Internet Information Server versão 3.0
Abrir o Gerenciador de Serviços de Internet. Clique duas vezes no computador correspondente ao serviço da Web. Na guia Serviço, altere o campo Porta TCP com o número de porta desejada. Clique em OK. Usando o Gerenciador de Serviço de Internet, pare e reinicie os serviços do IIS.
Versões do Serviços de Informações da Internet da Microsoft 4.0 para 6.0
Abra o Gerenciador de Serviços de Internet ou o Gerenciador do Internet Information Services (IIS). Se necessário, expanda o servidor Web que você deseja e, em seguida, expanda Sites da Web. Clique com botão direito no site que você deseja alterar. Clique em Propriedades. Clique na guia Site da Web . Alterar o número da porta TCP na caixa de edição de Porta TCP (ou clique em Avançado para múltiplas configurações de Portas). Clique em OK para salvar as alterações.
Serviços de Informações da Internet da Microsoft 7.0
Abra o Gerenciador do Internet Information Services (IIS). Selecione o site que você deseja configurar. No painel de Ações , clique em Ligações. Clique em Adicionar para adicionar uma nova ligação do site ou clique em Editar para alterar uma associação existente. Clique em OK para aplicar as alterações.

-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 21 mai 2016 - 00:55 |
Prezados,
Devido solicitações estou colocando alguns detalhes adicionais sobre o IIS
Com o IIS 7.0 o ASP.NET trabalha integrado respondendo diretamente pelas chamadas, possibilitando a interceptação das requisições trabalhando de maneira integrada. O IIS agora conta também com vários caminhos para que possamos efetuar sua configuração, seu novo console e até usando código .net Agora temos:
IIS Manager Scripting WMI Microsoft.Web.Administration (.NET) AppCmd.exe
Para Iniciarmos a instalação do IIS 7.0 vamos abrir o “Server Manager” (Figura 1)

Botão Direito em “Roles” e “Add Role” (Figura 2)

- Add Role Wizard (Figura 3) esta tela simplesmente clique em “Next”

- Select Server Roles (Figura 4) Vamos Selecionar o Check Box “Web Server (IIS)” e clicar em “Next”

- Web Server (IIS) (Figura 5) Tela de introdução do IIS, leia-a e clique em “Next”

- Select Roles Services (Figura 6) Vamos selecionar agora quais serviços vamos instalar em nosso IIS, lembrando que após a instalação é possivel repetir os passos efetuados até aqui e adicionar ou remover algum recurso se necessário. No Fim da página vamos marcar o Check Box “FTP Server” Mais acima na categoria “Management Tools” Marquei também o “Management Service” Para administração remota do IIS através de outro computador usando o “IIS Manager” Voltando ao início, na categoria “Common HTTP Features” Marquei o “HTTP Redirection” Não é necessário marcar todos, para esse artigo apenas o “FTP Server” é o suficiente, estou marcando para eventuais testes futuros, fique a vontade de marcar o que você achar interessante para testar ou o que você realmente vai utilizar. Clique em “Next” ao finalizar as seleções. * Ao selecionar qualquer recurso da lista é exibido uma explicação ao lado direito superior da tela.

- Confirm Installations Selections (Figura 7) Um resumo é exibido. Clique em “Install” para iniciar a instalação.

- Installation Progress (Figura Aguarde o fim da instalação.

- Installation Results (Figura 9) Resultado da instalação com sucesso. Clique em “Close”

Fácil, Rápido e sem maiores segredos! Agora abriremos o Console do Internet Information Services (IIS) Manager. Também é possivel através do console “Server Manager” expandindo o “Roles”. Neste caso usaremos o console próprio do IIS. Clique em “Start”, “Administrative Tools” e “Internet Information Services (IIS) Manager” (Figura 10)

- Internet Information Services (IIS) Manager Essa é a cara do IIS 7.0 instalado no Windows Server 2008 R2 (Figura 11) e podemos ver também o “Default Web Site” (Web Site Padrão) criado automaticamente pelo IIS.

Para confirmar sua funcionalidade você pode abrir o seu navegador e acessar o endereço “http://localhost” você deverá ver o site como na imagem (Figura 12) Como adicionar o seu Site veremos mais adiante. Vamos agora ao FTP.

Criando Site FTP
O FTP Não é como o Site no IIS que já está funcionando logo após a instalação, o FTP temos que adicioná-lo e configura-lo
- Add FTP Site Para adicionar um Site FTP Clicamos com o Direito sobre o nome do servidor listado no lado esquerdo no IIS Manager e selecionamos “Add FTP Site” (Figura 13)

- Site Information (Figura 14) Entre com um nome para o FTP e o local aonde será armazenado os arquivos do FTP, recomendado um disco ou partição exclusiva para o FTP visando também o que será armazenado. (Espaço em Disco). A pasta deve estar compartilhada com suas devidas permissões de compartilhamento, permissões NTFS será efetuada pelo próprio assistente do FTP mas à frente. Clique em “Next”

- Binding and SSL Settings (Figura 15) Agora configuramos onde o FTP deve responder as chamadas e a criptografia SSL.
IP Address: Aqui temos “All Unassigned” e o IP do nosso servidor * All Unassigned O All Unassigned usa endereços IP’s que são atribuídos a um computador, mas não atribuído a um site específico. Possibilita o acesso ao FTP através de todos os IP’s que estiverem disponíveis no servidor desde que estes não estejam sendo usados por outros sites ou sites FTP (caso você tenha mais de um site no seu servidor) eu costumo definir por IP como na imagem.
Enable Virtual Host Names: Deixem desmarcado.
Start FTP Site Automatically: Deixem marcado.
SSL: Aqui também é opcional, mas por segurança eu estou ativando a criptografia SSL para o FTP. Clique em “Next”

- Authentication and Authorization Information (Figura 16) Autenticação e Autorização para o Acesso ao Site FTP. Não recomendo habilitar e permitir acesso anônimo, mas se o seu FTP for um FTP público não tem jeito! Em Authorization temos uma caixa suspensa “Allow access to:” onde podemos definir grupos ou usuários específicos, anônimos ou não definir uma autorização. Eu permiti acesso a todos os usuários e com permissão de Leitura “Read” ou seja, clientes não enviam arquivo para este FTP só conseguem ler o conteúdo.
Clique em “Finish” e pronto!

Note que foi criado agora o Site FTP ao lado esquerdo. (Figura 17)

Para acessa-lo abra o Windows Explorer e Digite e automaticamente será exibido a tela para Login e Senha (Figura 18)

Agora basta você configurar as permissões NTFS na pasta e recomendo criar Grupos e/ou Usuários no AD DS para acesso ao FTP principalmente se o FTP for acessado por clientes via web. Não entrarei em detalhes de como publica-lo na internet pois isso envolve configurações de firewall, roteador, links entre outras configurações que variam de acordo com a estrutura da sua rede… Para configurar as Permissões NTFS através do Console ” IIS Manager” clique com o botão direito sobre o nome do Site FTP e selecione “Edit Permissions…” Ao abrir as propriedades da pasta, vá até a aba “Security“ e adicione novos usuários e edite suas permissões. (Figura 19) NUNCA dê permissões mais do que “Read & Execute” para usuários de uso Cliente em Site FTP, caso contrário o estrago pode ser grande!

FTP Funcionando!

Agora vamos colocar nosso Web Site no “Ar”
No Console do “IIS Manager” Clicando com o direito sobre “Default Web Site” e selecionando “Manage Web Site” e “Advanced Settings” ou pelo painel “Manage Web Site” o lado direito (Figura 21)

Agora vamos verificar a configuração da pasta padrão do Web Site, ela pode ser alterada mas não há necessidade. (Figura 22)

Agora que sabemos aonde fica a pasta padrão podemos colocar o conteúdo do nosso site dentro dela ou mudar o caminho padrão até ao local onde esta o conteúdo ( A ordem dos fatores não altera o resultado. rsrs!)
Vamos definir no Web Site a primeira página do site (Index.html ou Default.html, .asp .aspx entre outras)
Clique em “Default Web Site” com o botão esquerdo mesmo e no centro da tela (Features View) temos o “Default Document” (Figura 23) clicando 2x sobre o item veremos as páginas já existentes, podemos adicionar uma nova página clicando em “Add” que se encontra ao lado direito em “Actions” e inserindo o nome da página mais a sua extensão (asp.php.htm.html e outras) (Figura 24)

e

Para uma melhor agilidade ao carregar a primeira página, selecione-a e mova com as setas para cima, deixando a sua página inicial em 1º lugar.

Agora basta acessar através do Internet Explorer, FireFox ou o seu navegador favorito através do IP ou localhost, mas sempre digitando o (http:) antes.
Para adicionar um site ao IIS clique com o botão do lado deito do mouse sobre o nome do computador e selecione a opção adicionar site.
Preencha com os dados do seu site. Senão tiver muito conhecimento sobre portas e outras configurações deixe o padrão ou conforme imagem abaixo. Aconselho criar uma pasta dentro do diretório C:\inetpub\wwwroot\Nome-Site

O nome do seu site que você configurou irá aparecer abaixo do site pré configurado “Default Web Site”. Seu site esta configurado.

Pare o serviço do site Default Web Site e inicie o que você criou.
E para deixar a URL Amigável:
http://forum.pcsoft.fr/fr-FR/pcsoft.br.windev/748-como-deixar-enderecos-dos-sites-webservices-feitos-com/read.awp

-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Message modifié, 21 mai 2016 - 01:03 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 04 juin 2016 - 15:04 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 juillet 2016 - 00:20 |
REQUISITOS BÁSICOS PARA UM WEBSERVICE SOAP OU REST:
- Instalar e Configurar o IIS ou Apache
- Instalar e configurar o WAS reserved ou a versão FULL
- Configurar o Firewall
- Configurar o antivírus para aceitar os programas e drivers em execução como seguros
- Verificar as portas se nao estao sendo usadas por outros programas
- Instalar o banco de dados exemplo hfsql ou mysql... (mssqlserver, oracle, db2, as/400 sao drivers nativos pagos)
- Instalar o gerenciador de banco de dados SGDB, Center Hfsql ou phpmyadmin, workbank...
- Instalar o Driver Nativo, exemplo MySql da pcsoft
- Instalar o Noip ou contratar um IP Fixo ou um host server Windows ou Linux com acesso as configurações e execução de comandos e deixar o WAS rodando
- roteador da internet, criar o alias da porta :8081 para quando usar o endereço dns do seu noip ou do seu ip fixo seja roteado para o seu servidor no ip da classe C tipo 192.168.1.100 e o IIS ou Apache abra a sua página ou o seu webservice SOAP ou REST de qualquer lugar do planeta.
- NUNCA INSTALE O WAS FULL OU RESERVED NA SUA MAQUINA DE DESENVOLVIMENTO

-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Message modifié, 26 juillet 2016 - 00:31 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 24 août 2016 - 02:48 |
ROTEIRO DE INSTALAÇÃO:
1 - Contratar um servidor cloud ou dedicado, exemplo Alphaservers
Contato: (67) 3386-5949 Vivo (67) 9 9949-7100 Vivo Whats (67) 9 9309-4946 Claro alphaservers@alphaservers.com.br Skype: ald.informatica http://www.alphaservers.com.br/
2 - Instalar o MS IIS (internet information server)
3 - Criar as definições de página e ftp no MS IIS
4 - Desativar o firewall e antivirus local e no no servidor cloud ou dedicado
5 - Subir o pacote do WAS para o servidor, instalar e configurar ele
6 - Instalar o banco no servidor e por o driver de conexão (DLL) no diretório C:\Windows\System32\ para o funcionamento do banco com o site e o webservice
7 - Alterar a porta do Skype de 80 para outro numero livre
8 - Configurar o Deploy do site ou do webservice apontando para o ip do servidor contratado e fazer o upoad usando o primeiro metodo
9 - Testar se esta se funcionou o site e o webservice
10 - Configurar o Firewall e o Antivirus no Workstation de trabalho e no Servidor cloud ou dedicado.
11 - Configurar no registro.br o CNAME para ter um nome curto o site e webservice feito com o webdev
12 - Testar

-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Message modifié, 24 août 2016 - 03:01 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 24 août 2016 - 02:50 |
Tutorial PCSOFT Install WAS e Deploy Site no servidor dedicado da Alphaservers

-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 25 août 2016 - 01:34 |
Tutorial PCSOFT Install WAS e Deploy Webservice no servidor dedicado da Alphaservers

-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 535 messages |
|
Posté le 29 août 2016 - 11:29 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 29 août 2016 - 13:53 |
Muito obrigado Amarildo por ajudar nessa postagem aqui no fórum oficial.
Parabéns!
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 03 septembre 2016 - 18:04 |
Importante:


Não é recomendado os servidores que só oferecem o ambiente cpanel e acesso indireto.
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Message modifié, 03 septembre 2016 - 18:11 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 20 septembre 2016 - 02:17 |
Prezados,
############## IMPORTANTE ##############
Para concluir esse curso, as DLLs dos Drivers dos Bancos de dados devem ser inseridos no diretório do .exe do WAS (Webdev Aplication Server).
Assim o sistema vai funcionar PERFEITAMENTE.

-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 25 novembre 2016 - 21:28 |
Prezados,
Caso ocorra esse erro no deploy do WAS:
Erro do WAS: Failure saving the application in the account file. Check whether the permissions on the files are correct (or contact the server administrator and transmit him this message).
Unable to load an SQL Server access DLL.
WL call: Process of 'Click of BTN_ENTRAR (server)' (PAGE_LOGIN.PageLayout1.BTN_ENTRAR), line 5, thread 0 'HReadSeekFirst' function, syntax 0
What happened? Unable to load an SQL Server access DLL.
Error code: 73000 Level: fatal error WD55 error code: 3000
Dump of the error of 'wd210hf.dll' module (21.0.124.5). Identifier of detailed information (.err): 72352 Debugging information: Fonction (7,12) Additional Information: EIT_LOGICALTABLENAME : <Usuarios> EIT_PILEWL : Click of BTN_ENTRAR (server) (PAGE_LOGIN.PageLayout1.BTN_ENTRAR), line 5 EIT_DATEHEURE : 24/11/2016 18:57:21 EIT_TYPE_WDFILE : <65538> EIT_IDCODE : <851984>
----- Sub-error #1 -----
What happened? Unable to load <C:\WebDev21\wd210sqs.dll> access DLL.
Error code: 72333 Level: fatal error
System error code: 126 System error message: Não foi possível encontrar o módulo especificado.
Dump of the error of 'wd210hf.dll' module (21.0.124.5). Identifier of detailed information (.err): 72333 Debugging information: IEWDHF=74.1 Module=<WDHF> Version=<21.0.124.5>
----- Sub-error #2 -----
What happened? Unable to load <C:\WebDev21\wd210sqlserver.dll> access DLL.
Error code: 72333 Level: fatal error
System error code: 126 System error message: Não foi possível encontrar o módulo especificado.
Dump of the error of 'wd210hf.dll' module (21.0.124.5). Identifier of detailed information (.err): 72333 Debugging information: IEWDHF=74.1 Module=<WDHF> Version=<21.0.124.5>
----- Sub-error #3 -----
What happened? Unable to load <C:\WebDev21\wd210sqlserver2.dll> access DLL.
Error code: 72333 Level: fatal error
System error code: 126 System error message: Não foi possível encontrar o módulo especificado.
Dump of the error of 'wd210hf.dll' module (21.0.124.5). Identifier of detailed information (.err): 72333 Debugging information: IEWDHF=74.1 Module=<WDHF> Version=<21.0.124.5>
(25, ERR_MSG_BOX)
Só pra registrar, o passo a passo de instalação do WAS:
1 - Instalacao do IIS 2 - Install do WAS 3 - Instalacao do Driver Nativo MS SQL Server / HFSQL ... 4 - criacao das contas de FTP 5 - criacao do diretorio virtual e diretivas de gravacao 6 - definicao de acesso para o usuario do IIS 7 - configuracao da porta do firewall

-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 26 novembre 2016 - 23:50 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 29 novembre 2016 - 04:52 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 06 décembre 2016 - 18:17 |
Para resolver esse erro: 25 / 92 do WAS:
Unable to load <C:\WebDev21\wd210sqlserver2.dll> access DLL.

Só pra registrar o driver nativo ms sql server, o passo a passo de instalação do WAS:
1 - Instalacao do IIS 2 - Install do WAS 3 - Instalacao do Driver Nativo MS SQL Server / HFSQL ... 4 - criacao das contas de FTP 5 - criacao do diretorio virtual e diretivas de gravacao 6 - definicao de acesso para o usuario do IIS 7 - configuracao da porta do firewall
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Message modifié, 06 décembre 2016 - 18:18 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 17 janvier 2017 - 11:45 |
Prezados,
Outro detalhe importante que faz com que não funcione é o roteamento das portas do roteador e do ip externo.
Se possível use sempre DNS (Domain Name Server), ou seja, use:
http://www.nomedaempresa.com.br/WEBDEVSITE_WEB/
Procure evitar o uso de ip no webservice, windev mobile e no site, pois caso mude de provedor o IP será outro, voce não consegue re-utilizar o ip antigo, será outro IP, portanto, NUNCA USE O IP.
Registre o dominio do site e use o nome do dominio.com.br pelo site
http://www.registro.br
custo de R$ 30,00 ao ano.
Tendo maiores informações estarei colocando aqui nessa postagem.

-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 06 février 2017 - 16:04 |
Manual WAS - Webdev Aplication Server 21/22 for Linux:
http://pt.slideshare.net/adrianoboller/deployment-was-linux-2122
Precisando adquirir, só entrar em contato pelo skype: adrianoboller
ou pelo Whatsapp 41 99949 1800
Bons estudos!

-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Message modifié, 06 février 2017 - 16:05 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 23 février 2017 - 02:51 |
Publicando vários sites no mesmo IIS, sob o mesmo domínio ##################################################################
Publicar vários sites no mesmo servidor, respondendo sob o mesmo domínio, pode ser um problema se você começar a pensar em IP’s, portas, nome de domínio, registro no DNS (A, CNAME, MX), tudo pode acabar ficando confuso a ponto de você perder o dia com algo muito simples.
Assumindo que seus sites já estejam configurados em um servidor web IIS (Internet Information Services), vamos às configurações.
Primeiro, segue um exemplo de dois sites que já estejam rodando no servidor web IIS.
http://hostimage.windev.io/images/i01_083958f879f4ad618ca320b973ee0abb.jpg
Configurações do “SITE1”:
No endereço de IP, você deve colocar o IP público do seu servidor web IIS, onde roda o “SITE1”, no nosso exemplo, este IP será “200.0.0.1”. A porta continuará sendo a porta padrão, ou seja, porta 80.
No “Nome do Host” você deve preencher conforme a seguinte sintaxe: nomedesejado.seudominio.com.br. Ou seja, se o nome do site você estipulou como “SITE1” e o seu domínio é “seudominio.com.br”, você deve configurar o nome do host da seguinte maneira: site1.seudominio.com.br.
Segue o exemplo de como ficará a configuração de acordo com o nosso exemplo:
http://hostimage.windev.io/images/i02_7c46c52b782ed940b6bbfe19fdee069e.png
Feitas as configurações, faremos da mesma forma as configurações do “SITE2”, que ficarão como no exemplo abaixo:
http://hostimage.windev.io/images/i03_de676079aecf18991f00735ead090ec9.png
Segue agora como ficará a configuração dos seus sites no servidor web IIS:
http://hostimage.windev.io/images/i04_86964f24c92956866b17847266b10e59.png
Estão encerradas as configurações que devem ser realizadas no seu servidor web IIS. Agora é necessário configurar a “Zona de DNS” do seu servidor de domínio.
Ao entrar na página de configurações do seu servidor de domínio, entre nas configurações do domínio desejado, pois você pode ser quantos domínios quiser, no nosso exemplo, eu entraria nas configurações do domínio “seudominio.com.br”.
Acesse as configuraçoes da Zona de DNS e crie um registro “A”, que nada mais é que um “Host Address”, ou seja, um nome amigável para o endereço de IP externo do seu servidor de web IIS, apontando para o site desejado. O parâmetro “Entrada” será preenchido como “site1”, que é o nome que desejo para acessar o primeiro site, e o parâmetro “Conteúdo” será o endereço de IP do servidor web IIS onde roda o “SITE1”.
Por fim, crie um novo registro “A”, e passe o parâmetro “Entrada” como “site2” e o parâmetro “Conteúdo” com o endereço de IP do servidor web IIS onde roda o “SITE2”. Salve as configurações, aplicando-as.
http://hostimage.windev.io/images/i05_f8c84de446fcae60ee0e482d063331eb.png
Publicando vários sites no mesmo IIS, sob o mesmo domínio
Publicar vários sites no mesmo servidor, respondendo sob o mesmo domínio, pode ser um problema se você começar a pensar em IP’s, portas, nome de domínio, registro no DNS (A, CNAME, MX), tudo pode acabar ficando confuso a ponto de você perder o dia com algo muito simples. Assumindo que seus sites já estejam configurados em um servidor web IIS (Internet Information Services), vamos às configurações.
Primeiro, segue um exemplo de dois sites que já estejam rodando no servidor web IIS.
Configurações do “SITE1”:
No endereço de IP, você deve colocar o IP público do seu servidor web IIS, onde roda o “SITE1”, no nosso exemplo, este IP será “200.0.0.1”. A porta continuará sendo a porta padrão, ou seja, porta 80.
No “Nome do Host” você deve preencher conforme a seguinte sintaxe: nomedesejado.seudominio.com.br. Ou seja, se o nome do site você estipulou como “SITE1” e o seu domínio é “seudominio.com.br”, você deve configurar o nome do host da seguinte maneira: site1.seudominio.com.br.
Segue o exemplo de como ficará a configuração de acordo com o nosso exemplo:
Feitas as configurações, faremos da mesma forma as configurações do “SITE2”, que ficarão como no exemplo abaixo:
Segue agora como ficará a configuração dos seus sites no servidor web IIS:
Estão encerradas as configurações que devem ser realizadas no seu servidor web IIS. Agora é necessário configurar a “Zona de DNS” do seu servidor de domínio.
Ao entrar na página de configurações do seu servidor de domínio, entre nas configurações do domínio desejado, pois você pode ser quantos domínios quiser, no nosso exemplo, eu entraria nas configurações do domínio “seudominio.com.br”.
Acesse as configuraçoes da Zona de DNS e crie um registro “A”, que nada mais é que um “Host Address”, ou seja, um nome amigável para o endereço de IP externo do seu servidor de web IIS, apontando para o site desejado. O parâmetro “Entrada” será preenchido como “site1”, que é o nome que desejo para acessar o primeiro site, e o parâmetro “Conteúdo” será o endereço de IP do servidor web IIS onde roda o “SITE1”.
Por fim, crie um novo registro “A”, e passe o parâmetro “Entrada” como “site2” e o parâmetro “Conteúdo” com o endereço de IP do servidor web IIS onde roda o “SITE2”. Salve as configurações, aplicando-as.
https://www.youtube.com/watch?v=vmlExABARVY
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Message modifié, 23 février 2017 - 03:01 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 23 février 2017 - 03:01 |
http://hostimage.windev.io/images/i01_083958f879f4ad618ca320b973ee0abb.jpg
http://hostimage.windev.io/images/i02_7c46c52b782ed940b6bbfe19fdee069e.png
http://hostimage.windev.io/images/i03_de676079aecf18991f00735ead090ec9.png
http://hostimage.windev.io/images/i04_86964f24c92956866b17847266b10e59.png
http://hostimage.windev.io/images/i05_f8c84de446fcae60ee0e482d063331eb.png
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 09 mars 2017 - 21:29 |
Administrador WebDev remoto: Erro de Gerenciamento de Mensagens
http://help.windev.com/?306
Mensagens de erro do Application Server
Por padrão, quando ocorre um erro em um site WebDev dinâmica, uma mensagem de erro aparece no navegador do usuário. Esta mensagem é composto por:
um identificador : por exemplo ERR_MAX_CONNECTION (14)
uma mensagem : Por exemplo: A conexão foi recusada porque o número máximo de conexões permitidas (300) foi alcançado. Tente novamente mais tarde.
uma página HTML , especificamente, onde a mensagem de erro é exibida. A ferramenta de administração remota pode simplesmente personalizar os vários erros que podem ser exibidos em seu site. A personalização da página de erro de exibição deve ser realizada durante o desenvolvimento do site de Webdev dinâmico. Personalizar mensagens de erro a partir de um website Webdev Para personalizar mensagens de erro de um site Webdev Clique no link "Sites" na barra de menu. Selecione o site para configurar. Clique no botão . Selecione o ID do erro: a actual redacção para este erro.
Nota : Para obter uma explicação das várias mensagens de erro padrão, consulte Mensagens de erro . Você pode: Personalize a mensagem de erro sugerido: Basta digitar a nova mensagem na caixa de texto e clique no botão "Aplicar". Nota : Em algumas mensagens, tags específicas são usados. Estas tags são substituídos de acordo com o contexto, nome, número, ... É aconselhável manter essas tags. Por exemplo: A tag {RECONNECT} permite a reconexão automática para o aplicativo ao exibir a mensagem de erro. É aconselhável manter esta tag ao personalizar a mensagem. Restaurar a mensagem de erro padrão: A mensagem de erro personalizada será substituída pela mensagem de erro fornecido por padrão. Basta clicar no botão "Default". A mudança é imediatamente eficaz. Nota : As mesmas manipulações podem ser realizadas para serviços Web (item de menu "serviços Web"). Lista de mensagens de erro Aqui estão as diferentes mensagens de erro pode ser exibida por um site WebDev dinâmico. 1 ERR_MISSING_PAGE O pedido está incompleto. Ele não contém informações sobre o contexto em questão. 4, ERR_BUTTON_EXPECTED A consulta está incorreta. Falta-lhe a ação a ser executada. 5, ERR_NO_CURRENT_PAGE O site não está funcionando porque ele não retornou página. 6, ERR_PARSER erro de sintaxe no arquivo | 7, ERR_BAD_ACTION A acção específica <actionName> é desconhecida. 8, ERR_NO_PAGE Você pediu para trabalhar no <PAGE_NAME> .Ele não existe ou está escondido ... 9, ERR_BAD_PARAMETER O <command_name> não tem as configurações corretas. 10, ERR_BAD_FILE O arquivo <nome_do_arquivo> não pode ser aberto (e, portanto, devolvido) 11, ERR_WDADMIN_EXIST O Webdev programa de administração já foi lançado. Não pode ser apenas uma máquina. 12, ERR_NO_WDADMIN não foi lançado o programa de administração Webdev. 13, ERR_OUT_OF_MEMORY Não há memória suficiente para executar a operação. | 14, ERR_MAX_CONNECTION A conexão é recusada porque o número máximo de conexões permitidas (<NB_CONNECTION>) foi atingido. Tente novamente mais tarde. 15 ERR_BAD_COMMANDLINE A linha de comando passado para o motor está incorreta ... 17 ERR_BAD_CONFIG A configuração do site <nome do aplicativo> é inválida para <value_name> valor 18 ERR_BAD_WEBDEV_CONFIG configuração geral pobres de Webdev. A tecla <keyname> está ausente ou incorreto. 19 ERR_BAD_CONTEXT O contexto em que este pedido se refere (<context-name>) não existe (ou mais). Você pode ter sido desconectado. 20, ERR_BAD_URL O url <NOM_URL> é inválido. 22 ERR_TIMEOUT_REQUEST O pedido não respondeu dentro do prazo (<Período> segundos). " 23 ERR_SESSION_CLOSED Você foi desconectado. 24, ERR_CLOSED_PAGE A petição refere-se ao <PAGE_NAME>, que não existe mais. (O tratamento pode ser fechada). 25, ERR_MSG_BOX Aplicação gerou a seguinte mensagem de erro: ... 26, ERR_BAD_SERIAL_NUMBER O número de série é inválido. 28, ERR_CANNOT_OPEN_FILE O arquivo HTML <FILENAME> não pôde ser aberto. 30, ERR_NO_PROJECT O <nome do projeto> projeto não existe (nem em WWP nem em WDL). Verifique a configuração para o projeto. 32, ERR_NO_APPLICATION O site <nome do aplicativo> é desconhecido: não foi configurado para Webdev. 33, ERR_BAD_DLLEXE O <DLL_NAME> DLL não é compatível com esta versão do Webdev. 34, ERR_NO_DLLEXE Não foi possível carregar a DLL <DLL_NAME>. 35, ERR_CANNOT_LAUNCH O motor não podia correr pela seguinte razão: ... 37, ERR_NO_TABLE O comando <command_name> funciona apenas com tabelas e <fieldname> não é uma tabela. 38, ERR_ALREADYCONNECTED A ligação é negado porque você já estiver conectado a esta aplicação. ... 39, ERR_NOTACTIVATED O módulo não foi ativado. É necessário reinstalar 40, ERR_NOTAVAILABLE Este comando está disponível apenas no modo de desenvolvimento 41, ERR_NOTADEVVERSION Esta versão não pode ser utilizado no desenvolvimento 42, ERR_LOADMOREDLL Utilisareur o componente não pode ser carregado 43, ERR_TIMEOUTINIT O motor não foi inicializado dentro do limite de tempo. 46, ERR_UPDATING_SERVER O servidor está sendo atualizado. Tente novamente mais tarde. 47, ERR_TEST_WWP O modo de teste não pode funcionar sem o projeto e suas páginas 48, ERR_SYNCHRONIZATION A ação solicitada não poderia ser feito: a página não foi em fase. 49, ERR_BAD_APPLICATION O local não é permitido para ser usado com esta versão do Webdev 50, ERR_NO_END_TAG erro de sintaxe no arquivo <nome_do_arquivo>. A marca de fim para o <NOM_BALISE_HTML> está em falta 51, ERR_LAUNCH_FAILED lançamento website erro 52, ERR_CANNOT_CREATE_TMP Não é possível criar arquivo temporário ... Teste cancelada. 53, ERR_CANNOT_RUN_EXPLORER Não é possível iniciar o site associado com .htm, Arquivo:% s, Código:% d 54, ERR_BAD_CONTEXT_INVALID O contexto em que este pedido se refere (% d) é desconhecida. . <BR> O servidor pode ter sido reiniciado desde o seu último pedido. 55, ERR_BAD_CONTEXT_INTERNAL Erro interno: contexto inválido (% d). (Status =% d) 56, ERR_DISCONNECTED_BY_ADMIN Você foi desconectado manualmente pelo administrador de Webdev. {RECONNECT} 57, ERR_DISCONNECTED_TIMEOUT Você foi desconectado porque o seu último pedido é muito antiga (o tempo limite =% d seg) {} RECONNECT 58, ERR_DISCONNECTED_RELOG O contexto em que este pedido se refere não é mais válido, ele foi substituído por um novo em sua última ligação com o site {RECONNECT} 59, ERR_BAD_CONTEXT_FOUND O contexto em que este pedido se refere (% d) é inválido (a sessão terminou por algum motivo). {RECONNECT} 60, ERR_DISCONNECTED_ERROR Esta sessão terminou devido ao seguinte erro: 61, ERR_DISCONNECTED_EXEC Sessão não existe mais <BR> (você deixou, ou ele termina normalmente ') {} RECONNECT 62, ERR_BAD_VERSION_RQS diálogo inválido número da versão estrutura. <BR> Este problema vem de uma mistura de versões incompatíveis do WD220Session / WD220Awp / WD220Admin. <BR> Para corrigir isso, reinstale Webdev 63, ERR_DISCONNECTED_UPDATE Você foi desconectado porque o site foi atualizado no servidor. {RECONNECT} 64, ERR_FORBIDDEN_UPDATE Webdev está definido para proibir atualização remota. 65, ERR_FORBIDDEN_INSTALL Webdev está definido para proibir a instalação remota.
Mais detalhes:
administrador WebDev remoto: Configurações do Servidor http://help.windev.com/?105
administrador WebDev remoto: Gerenciando conexões http://help.windev.com/?508
administrador WebDev remoto: Parâmetros de um Webdev site dinâmico ou um serviço web http://help.windev.com/?407
administrador WebDev remoto: backup e restaurar um site Webdev http://help.windev.com/?205
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 04 avril 2017 - 11:53 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 16 avril 2017 - 02:20 |
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 16 avril 2017 - 02:25 |
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 09 mai 2017 - 13:33 |
Caso ocorra esse erro:

#################################### Error writing into the registry. Contact the server administrator. ####################################
O usuário utilizado para fazer o procedimento de upload e deploy do site ou do webservice não tem as diretivas administrativas para fazer mudanças no Registro do Windows.
Sendo o usuário com as diretivas corretas esse erro não vai ocorrer.
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Message modifié, 09 mai 2017 - 13:35 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 12 mai 2017 - 13:08 |
Prezados,
O erro acima também foi devido o anti-virus macfee que bloqueia a gravação do registro do Windows.
Tambem tinhamos no log a seguinte informação:
INFRegistering the site in the administrator ERRFailure saving the application in the account file. ERRCheck whether the permissions on the files are correct (or contact the server administrator and transmit him this message).
e não conseguia criar a chave no registro
INFSaving the new version of the site Creating the registry key:HKEY_LOCAL_MACHINE\Software\PC SOFT\WebDev\21.0\Webservices\WsAspnetMobile Application Settings INFYou have requested -1 connections for the site.. INFYou have requested -1 connections per user for the site. INFYou have requested a session duration limited to 0 seconds. INFThe time-out for request was set to 300 sec. ERRError writing into the registry. ERRContact the server administrator. Unable to write the value into the registry:HKEY_LOCAL_MACHINE\Software\PC SOFT\WebDev\21.0\Webservices\WsAspnetMobile - TIMEOUT_RQ Deleting the setup archive: C:\DADOS\FTP\ftp_webdev\WsAspnetMobile.ZIP Deleting the application backup: C:\DADOS\SITES\WsAspnetMobile.ZIP Deleting the temporary directory: C:\DADOS\FTP\ftp_webdev\install_temp\WWIAB6A.tmp Deleting the version information file: C:\DADOS\SITES\WsAspnetMobile\WsAspnetMobile.WINFO Deleting the signature file: C:\DADOS\SITES\WsAspnetMobile\SIGN
Para resolver:
a) Trocamos de anti-vírus, colocamos o Karperski e cadastramos os .exe do WAS, Webdev como seguros.
b) excluímos da pasta do ftp do servidor todos os arquivos lixo existentes
c) excluímos do WAS o projeto e atualizamos a lista para ter certeza que não estava mais exibido
d) refaz o deploy e tudo funcionou.
OK
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Message modifié, 12 mai 2017 - 13:15 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 messages |
|
Posté le 12 mai 2017 - 19:22 |
não achei como criar um novo topico .
mas minha duvida é a seguinte .
tenho um rpt que estou criando para ler os dados de um xml de NF-e e mostrar o danf na tela .
tenho um bloco de interação que tem a parte do recibo .
{ tentei enviar uma imagem }
mas quando eu uso a opção isubstblock para pegar este bloco e colocar no topo da pagina , acaba que se o relatorio tiver duas paginas ele aparece depois do bloco body cortando os itens.
{imagem 2 }
gostaria de ajuda para resolver ..
OBS: para imprimir os produtos da nota no relatorio eu preciso utilizar o iprintbloc(body) senao nao imprime . |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 12 mai 2017 - 19:53 |
Prezados,
Failure to save the application in the account file
Check whether the permissions on the server are correct (or contact the server administrator and transmit this message)
---
Salvar o aplicativo no arquivo de conta falha
Verifique se as permissões corretas (ou entre em contato com o administrador do servidor e transmitir-lhe esta mensagem)
===
Diretivas de Usuário erradas no usuario do was ou no usuário de ftp, ajustando conforme informações acima, resolve.

-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 12 mai 2017 - 19:56 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 05 juin 2017 - 14:32 |
Bom dia,
Você só pode usar no mobile sqllite e hfsql classic ou client server comunicação com mysql é via WAS que é um software que instala junto no servidor dai você tem 2 alternativas usar o comando sqlconnectws ou criar um webservice e dai sim lá no servidor instalar o driver do mysql ou outro banco... junto com o was para você poder consumir no windev mobile.
O mobile não se deve nunca se comunicar direto com o banco do servidor.
Não importa qual for, pois se descompilar esta dentro do apk o usuário, senha, banco e ip e dai é só invadir e copiar os dados.
O correto no mobile estar sempre usando webservice, pois fica do lado do servidor esses dados, e não no lado do mobile, dando mais segurança.
Pois é muito arriscado, se um usuário tiver o conhecimento básico de decompilacao vai invadir o teu banco.
Minha recomendação é sempre, sempre usar webservice... outras técnicas é igual deixar a chave no capacho da porta de entrada da sua empresa.
Se deixar a chave para fora, mesmo debaixo do capacho, nada impede do ladrão pegar a chave ok
Não usem conexão direta, eu fiz um vídeo sobre java é um dos últimos que fiz que falo todo esse processo de decompilacao.

-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 05 juin 2017 - 14:34 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 07 juin 2017 - 22:32 |
INFRA ESTRUTURA

-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 21 août 2017 - 22:13 |
RESERVED NAO FUNCIONA, COMO RESOLVER?
Erros encontrados por um cliente:




RESPOSTA
1- Ele ja tinha o WAS (resposta = SIM)
2- Ja tinha a conexão nativa do MSSQL (resposta = SIM)
3- o Reserved já estava instalado quando foi instalado a conexão nativa (resposta = Não) <<< eis aqui o problemão instalar a conexão nativa do MSSQL (até onde eu lembrava) ele registrava para os serviços que estavam em execução nessa maquina fazendo um scan (seja o WAS, WEBDEV, WINDEV, etc), pois bem, como ele instalou o RESERVED depois de instalar a conexão, o reserved ficou fora do registro da conexão, então a unica coisa que faltava é reinstalar a conexão, para que a mesma possa registrar o RESERVED como um dos produtos disponíveis naquela maquina.
REINSTALAR O DRIVER É A SOLUÇÃO
Procedure Ex_SqlConnectWs()
ok is boolean = False
mServerWS is string = "http://192.168.0.1:89" mSource is string = "192.168.0.1" mUsuario is string = "nome do usuario" mSenha is string = "senha" mBancoDeDados is string = "nome_do_banco" mTipo is string = "MySQL"
IF SQLConnectWS(mServerWS,mSource,mUsuario,mSenha,mBancoDeDados,mTipo) = 0 THEN
SQLInfo()
Error("Erro na conexão ao banco de dados","Error code: "+SQL.Error+CR+SQL.MesError)
ELSE
Info("Conectou")
msql is string = "select * from sua_table" mRunSql is boolean mRunSql = SQLExec(msql,"ler_table")
ok = False
IF mRunSql = False THEN SQLInfo("ler_table") Info("SQL error: "+SQL.MesError,SQL.Error) ELSE WHILE SQLFetch("ler_table") = 0 ok = True END END
END
RESULT(ok )
RESPOSTA GENTILMENTE FEITA PELO NOSSO AMIGO
<<<<< Willian Fernando Padilha >>>>>
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Message modifié, 21 août 2017 - 22:17 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 04 décembre 2017 - 23:14 |
IMPORTANTE
O usuário administrador deve fazer parte member do grupo de acesso ao o MS IIS se não tiver nesse grupo web ele não tem os recursos necessários para usar o ms iis e para dar acesso ao Deploy e ao WAS. Ou seja, se do lado workstation tiver administrador, no lado do servidor deve ter administrador do grupo administrador como member do IIS com características de uso web. E definido os acessos para as pastas do WAS para ele estando verde o status. E caso criei outro usuário deve ter ele definido da mesma forma que o administrador com as mesmas características acima.
Importante ter o driver de acesso ao banco no windos\system32, no diretorio do was e no diretorio do projeto.
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Message modifié, 04 décembre 2017 - 23:16 |
| |
| |
| | | |
|
| | |
| |
Posté le 18 juin 2018 - 21:46 |
É importante marcar a opção Básico senão não vai conectar com o FTP:

|
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 25 juin 2018 - 22:50 |
MANUAL WAS LINUX https://blog.wxperts.com/2012/11/21/setting-up-the-webdev-application-server-on-a-linux-cloud-server/
Servidor Linux 1) Criar a instância 2) Checando a configuração do Servidor Antes de instalar o servidor de aplicativos WebDev para Linux, a configuração do servidor Linux deve ser verificada. As diferentes etapas para executar essa configuração são as seguintes: a) Verificando a presença do servidor Apache b) Procurando pelo arquivo de configuração do Apache c) Verificar a presença de um servidor FTP d) Verificando a presença da biblioteca libstdc ++ e) Verificando a presença da biblioteca QT (versão 4.5 ou posterior) a) Verificando a presença de um servidor da Web Antes de instalar o servidor de aplicativos WebDev, você deve verificar se um servidor Apache está instalado. Nota: para executar as seguintes operações, você deve estar conectado como "root". Trocar a senha do root sudo passwd Para acessar como root é só digitar su O comando a seguir permite que você descubra se o servidor Apache está sendo executado no servidor Linux: dpkg -l | grep apache2 Se na linha seguinte for listado o pacote do exemplo acima e vier acompanhado de "ii" no início da linha, então o pacote está instalado Caso contrário será necessário instalar o apache2 apt-get install apache2 b) Procurando pelo arquivo de configuração do Apache Antes de instalar o servidor de aplicativos WebDev para Linux, você deve descobrir o diretório e o nome da configuração arquivo de configuração do Apache. Para fazer isso, execute as seguintes linhas de comando: 1. Retorne a lista de programas correspondentes aos serviços utilizados: netstat --tcp --listen --numeric --program 2. Depois de saber o nome do programa, você pode obter facilmente informações sobre sua configuração. Para fazer isso, use o seguinte linha de comando de linha: apache2 -V No meu caso específico com o comando acima pude saber que o arquivo de configuração encontra-se em /etc/apache2/apache2.conf. Teremos que saber este caminho para a instalação do Webdev c) O servidor FTP permite que você instale facilmente os sites WebDev. Este servidor FTP deve ser instalado no servidor e deve ser capaz de gerenciar trocas seguras (com senha) Para saber se existe um servidor FTP digite na linha de comando: netstat --tcp --listen |grep ftp Se não aparecer nenhuma informação, deve ser instalado um servidor FTP apt-get install vsftpd Editar o arquivo /etc/vsftpd.conf (Você pode usar qualquer editor como por exemplo: nano /etc/vsftpd.conf descomentar "local_enable=YES" descomentar "write-enable=YES" descomentar "local_umask=022" Reiniciar o FTP /etc/init.d/vsftpd restart d) Para verificar a presença da biblioteca libstdc ++, use a seguinte linha de comando ldconfig -p | grep libstdc++ Se não aparecer nenhuma lista na linha seguinte ao comando, será necessário instalar esta biblioteca apt-get install libstdc++ e) Para verificar a presença da biblioteca QT (Core e GUI), recomendamos que você use a seguinte linha de comando qtconfig Se aparecer que o comando não existe, será necessário também instalar esta biblioteca apt-get install libqtcore4 apt-get install libqtgui4 Esta última poderá aparecer como já instalada
Esta verificação deve necessariamente ser realizada, mesmo que a configuração tenha sido finalizada corretamente apachectl configtest Deverá aparecer Syntax OK Se ocorrer um erro, execute as seguintes operações. Edite o arquivo de configuração do Apache. Use a seguinte linha de comando, por exemplo nano /etc/apache2/apache2.conf Encontre a linha a seguir e exclua o caractere # no início da linha # LoadModule actions_module /usr/lib/apache/1.3/mod_actions.so Nota: esta linha pode mudar de acordo com a versão do Apache. Esta linha deve ter o seguinte formato # LoadModule actions_module <path of server modules>/mod_actions.so Salve o arquivo de configuração e verifique a configuração do servidor Apache mais uma vez Uma vez que o Apache esteja configurado corretamente, reinicie o Apache através da seguinte linha de comando systemctl restart apache2 Para verificar o status do apache, você poderá utilizar o seguinte comando systemctl status apache2.service 3) Preparar Servidor para receber conexões remotas apt-get install rssh nano /etc/ssh/sshd_config PermitRootLogin yes PasswordAuthentication yes service sshd restart 4) Baixe e instale o WinSCP que vai com certeza auxiliar na cópia de arquivos do Windows para o Servidor Linux 5) Copie os arquivos de instalação do WebDev para a pasta /var/www/html 6) Dê permissão de execução para o arquivo de instalação chmod +x WebDev_Install 7) Execute a instalação tomando o cuidado de preencher corretamente o caminho do arquivo de configuração do apache Após a instalação será apresentado a URL tanto do WebDeb, bem como do HF http://<IP>/WDAdminWeb200 http://<IP>/WDAdminHF200 Login: Admin Pass: admin
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Message modifié, 25 juin 2018 - 22:50 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 15 septembre 2018 - 17:28 |
PREZADOS,
É importante estar VERDE / GREEN o site e o ftp no iis IMPORTANTE estar verde!
É um dos problemas que mais ocorre usuario sem direitos necessarios também, bom ler sobre diretivas
TEM QUE SER OUTRA MAQUINA A HOSPEDAGEM COM O WAS,
NAO PODE SER A MESMA MAQUINA ONDE TEM O WEBDEV OU WINDEV
SE FOR TEM QUE TER UMA VM
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Message modifié, 15 septembre 2018 - 17:42 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 30 septembre 2018 - 16:06 |
Como configurar Redirect do domínio com e sem www **************************************************************************************************************************************************
É bastante recomendado permitir que o usuário possa acessar o seu site com ou sem www na url.
Por exemplo: http://educoutinho.com.br e http://www.educoutinho.com.br
No entanto, para evitar duplicação na indexação do seu site pelo google é importante não manter o seu site respondendo tanto na versão sem www e com www. O que deve ser feito é um redireonamento 301 de uma url para outra.
É o que acontece quando você acessa o site do Facebook, ao digitar: facebook.com, o browser é redirecionado para www.facebook.com
No IIS é possível configurar o redirecionamento de duas formas, usando URL Rewrite ou HTTP Redirect.
No entanto, o URL Rewrite é uma opção bastante mais flexível, então vou mostrar somente como configurar utilizando essa opção.
1- Instalar o URL Rewrite Para instalar a feature do URL Rewrite no IIS, faça o seguinte:
1- Abrir o Get Web Plataform Components do IIS:
2- Pesquisar por “URL Rewrite” e adicionar:
3- Completar a instalação:
4- O “Url Rewrite” irá aparecer no IIS:
2- Configurar bind no site O “bind” do site do IIS deve ser configurado para responder tanto pelo domínio com www, quanto sem:
3- Configurar o redirecionamento Você pode fazer as configurações de redirecionamento utilizando a interface do IIS (URL Rewrite / Add Rule), ou então alterar diretamente o arquivo web.config do site.
Se o seu site não tiver um arquivo web.config, basta criar o arquivo no diretório do site.
3.1- Redirecionamento “http://www.dominio.com.br” -> “http://dominio.com.br”
<configuration> <system.webServer> <rewrite> <rules> <rule name="Redirect from www" stopProcessing="true"> <match url=".*" /> <conditions> <add input="{HTTP_HOST}" pattern="www.*" /> </conditions> <action type="Redirect" url="http://dominio.com.br/{R:0}" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
3.2- Redirecionamento “http://dominio.com.br” -> “http://www.dominio.com.br”
<configuration> <system.webServer> <rewrite> <rules> <rule name="Redirect to www" stopProcessing="true"> <match url=".*" /> <conditions> <add input="{HTTP_HOST}" pattern="^dominio.com.br$" /> </conditions> <action type="Redirect" url="http://www.dominio.com.br/{R:0}" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
3.3- Redirecionamento “http://dominio.com.br” -> “https://dominio.com.br”
<configuration> <system.webServer> <rewrite> <rules> <clear /> <rule name="Redirect to https" stopProcessing="true"> <match url=".*" negate="false" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> <add input="{HTTPS}" pattern="OFF" /> </conditions> <action type="Redirect" url="https://{HTTP_HOST}/{R:0}" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
3.4- Redirecionamento “http://www.dominio.com.br” -> “https://dominio.com.br” e http://dominio.com.br” -> “https://dominio.com.br”
<configuration> <system.webServer> <rewrite> <rules> <clear /> <rule name="Redirect from www" stopProcessing="true"> <match url=".*" /> <conditions> <add input="{HTTP_HOST}" pattern="www.*" /> </conditions> <action type="Redirect" url="https://dominio.com.br/{R:0}" /> </rule> <rule name="Redirect to https" stopProcessing="true"> <match url=".*" negate="false" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> <add input="{HTTPS}" pattern="OFF" /> </conditions> <action type="Redirect" url="https://{HTTP_HOST}/{R:0}" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
IMPORTANTE:
1- Cache do browser: Quando você for testar isso no browser, pode ser necessário fechar o browser e abri-lo novamente porque o browser faz cache dos redirecionamentos dos domínios, outra opção é abrir uma aba anônima no browser
2- Bind do IIS: Lembre-se que você precisa configurar no IIS o bind de todos os domínios que você vai utilizar, por exemplo, se você vai redirecionar “http://www.dominio.com.br” -> “https://dominio.com.br” e http://dominio.com.br” -> “https://dominio.com.br” você precisa configurar no IIS os seguintes binds:
http dominio.com.br https dominio.com.br http www.dominio.com.br https www.dominio.com.br
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 18 octobre 2018 - 14:46 |
Passo a passo em vídeo como trabalhar com o WAS (Webdev Aplication Server) e com o WHCC (Webdev Hosting Control Center)

-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 10 septembre 2019 - 01:12 |
EXEMPLO DE REDIRECT
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <meta http-equiv="refresh"content="1;url=http://177.220.189.6/madero"> <script type="text/javascript"> window.location.href = "http://177.220.189.6/madero" </script> <title>MADERO & VIA SAUDE</title> </head> <body> <!--Caso não abra o site click no link abaixo: --> <br> <a href='http://177.220.189.6/madero'>Clique Aqui</a> </body> </html>
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Message modifié, 10 septembre 2019 - 01:14 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 02 octobre 2019 - 15:58 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 18 janvier 2020 - 13:24 |
Como desinstalar e instalar o MS IIS caso tenha algum problema com ele?
Para determinar a versão do Powershell instalada, execute o Powershell como Administrador e digite " $ PSVersiontable.PSVersion ". Para remover IIS usando o PowerShell ** get-windowsfeature * web *
Remove-WindowsFeature Web-Default-Doc Remove-WindowsFeature Web-Dir-Browsing Erros de Web-Http de Remove-WindowsFeature Remove-WindowsFeature Web-Static-Content Remove-WindowsFeature Web-Http-Logging Remove-WindowsFeature Web-Request-Monitor Remove-WindowsFeature Web-Stat-Compressão Remove-WindowsFeature Web-Filtering Remove-WindowsFeature Web-Windows-Auth Remove-WindowsFeature Web-Net-Ext45 Remover-WindowsFeature Web-Asp-Net45 Remove-WindowsFeature Web-ISAPI-Ext Remove-WindowsFeature Web-ISAPI-Filter Remover-Windows-Web-Mgmt-Console Remove-WindowsFeature Web-Metabase
Para instalar IIS
** get-windowsfeature * web *
Instalar-WindowsFeature Web-Default-Doc Install-WindowsFeature Web-Dir-Browsing Erros Install-WindowsFeature Web-Http Install-WindowsFeature Web-Static-Content Install-WindowsFeature Web-Http-Logging Instalar-WindowsFeature Web-Request-Monitor Install-WindowsFeature Web-Stat-compactação Install-WindowsFeature Web-Filtering Install-WindowsFeature Web-Windows-Auth Instalar-WindowsFeature Web-Net-Ext45 Instalar-WindowsFeature Web-Asp-Net45 Instalar-WindowsFeature Web-ISAPI-Ext Instalar-WindowsFeature Web-ISAPI-Filter Instalar-Windows-Web-Mgmt-Console Install-WindowsFeature Web-Metabase set-webconfigurationproperty "/system.applicationHost/sites/siteDefaults[1]/limits[1]" -name connectionTimeout -value (New-TimeSpan -sec 1200)
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 30 avril 2020 - 22:57 |
INSTALAÇÃO DEVE SER NESSE FORMATO DE ESTRUTURA DE DIRETORIOS
C:\WAS
C:\WAS\INSTALL
C:\WAS\DRIVERS
C:\WAS\WAS_20
C:\WAS\WAS_21
C:\WAS\WAS_22
C:\WAS\WAS_23
C:\WAS\WAS_24
C:\WAS\WAS_25
C:\WAS\MANUAIS
QUALQUER DUVIDA DA PASTA MSIIS ELA DEVE MANTER O FORMATO PADRAO NA UNIDADE C: OU D: .... PODE TER DENTRO DELA AS PASTAS CRIADAS PELO WAS WEBDEV HOST CONTROL CENTER DEFINIDAS DESSA FORMA
D:\INETPUB\
D:\INETPUB\WWWROOT
D:\INETPUB\WWWROOT\USERS
D:\INETPUB\WWWROOT\USERS\SITES
D:\INETPUB\WWWROOT\USERS\WS_SOAP
D:\INETPUB\WWWROOT\USERS\WS_REST
D:\INETPUB\WWWROOT\USERS\DATA
D:\INETPUB\WWWROOT\USERS\FTP
DEVE USAR O WEBDEV HOST CONTROL CENTER PARA CRIAR O USUARIO QUE SERA USUARIO DO WAS E USAR ESSA ESTRUTURA DE DIRETORIOS.
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 22 septembre 2022 - 22:10 |
Prezados,
Estou com o seguinte erro no Webdev
Ao dar Deploy Error ao testar os parametros de conexao, ou seja nem sobe o site, lembrando que o usuario senha e ip/dns estao ok,
o que pode ser?
Erro exibido na tela:
The HTTP server is not responding. Check the address and accessibility of the server. System Error Details: 35
?????
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Message modifié, 22 septembre 2022 - 22:11 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 19 décembre 2023 - 13:00 |
1-nao instalar no workstation apenas no servidor
2-instalar o ms iis full e remover o ms iis express para não conflitar
3-diretorio de instalação do W.A.S. Windows C:\PCSOFT\WAS\28
Se fizer update para 29 C:\PCSOFT\WAS\29
Ao instalar nova versão vai trazer da 28 para 29 as configurações
4-instalar os drivers nativos e suas respectivas dlls e dll complementares dentro da pasta dos bin do W.A.S.
5-testar os projetos do W.A.S. administrador na opção diagnóstico deve dar:
No problem
Em todos os que estão na combo
6-no botão server verificar qual aplicativo de server page está habilitado se Apache ou ms iis.
7-com o W.A.S. host control center criar um usuário e senha e definir onde vai ficar os sites, Webservices e websockets. Definir também o DNS nome.com.br para cada site, não usar apenas o usuário admin, fica difícil de dar suporte
8-verificar Firewall e antivírus liberar as portas 80, 21 e outras que seu projeto necessite
9-testar se os serviços do ms iis está funcionando no navegador *Localhost* deve abrir a página do ms iis ou do apache
10-os usuários criados pelo host control center devem ser administradores
11-verificar se o serviço do ms iis é do W.A.S. está rodando no painel de controle, ferramentas administrativas, serviços, se estão Running
12-fazer o deploy usando a segunda informação, informe o DNS, usuário e senha e de testar, deve dar que está válido!
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 05 septembre 2024 - 01:20 |
Prezados,
Caso esteja dando o erro 404 só testar e diagnosticar um site ou webservice no Webdev faça a seguinte ação:
Step by step resolução W.A.S. 404 in diagnóstico
Copy c:\pcsoft\Windev 2024\Programs\Engine\Win64x86\*.*
From
c:\pcsoft\Windev 2024\Programs\Engine\Win32x86\
Copy all files
Resolve error 404
Caso tenha ainda problemas entre em contato comigo +55 41 99949 1800
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 28 avril 2025 - 20:46 |
Manual de Instalação do W.A.S. Webdev Application Server em um Servidor Windows Server
Este manual detalha o processo de instalação e atualização do W.A.S. (Webdev Application Server) da versão 22 para a versão 29, incluindo a aplicação do Update 4, configuração do Microsoft IIS, backup e validação em um servidor Windows Server. O procedimento inclui passos para backup do IIS, verificação de drivers, testes e resolução de possíveis problemas. Siga cada etapa cuidadosamente para garantir uma instalação bem-sucedida.
Pré-requisitos • Acesso administrativo: Usuário com permissões de administrador no Windows Server (com senha) e capacidade de reiniciar a VM. • Infraestrutura preparada: Infra com acesso para realizar snapshot da VM. • Ferramentas necessárias: ◦ Pacote de instalação do W.A.S. 29 (versão full). ◦ Pacote do W.A.S. 29 Update 4. ◦ Driver do Microsoft SQL Server para W.A.S. 29. ◦ Microsoft Web Platform Installer (para Web Deploy, se necessário). ◦ Ferramentas nativas do Windows Server (Backup do Windows Server, appcmd, Gerenciador do IIS). • Espaço em disco: Verifique se há espaço suficiente para backups e instalações. • Backup inicial: Snapshot da VM e backup das configurações do IIS.
Passo a Passo 1. Realizar Snapshot da VM • Responsável: Equipe de infraestrutura. • Ação: ◦ Acesse o painel de gerenciamento da VM (ex.: VMware, Hyper-V). ◦ Crie um snapshot da VM antes de iniciar qualquer alteração. ◦ Nomeie o snapshot com data e descrição (ex.: Snapshot_WAS_Upgrade_20250428). • Objetivo: Garantir um ponto de restauração em caso de falhas críticas. • Nota: Confirme que o snapshot foi concluído com sucesso antes de prosseguir. 2. Parar o Serviço do W.A.S. 22 • Ação: ◦ Abra o Gerenciador de Serviços: ▪ Pressione Win + R, digite services.msc e pressione Enter. ◦ Localize o serviço do W.A.S. 22 (nome pode variar, ex.: WAS22 ou Webdev Application Server 22). ◦ Clique com o botão direito e selecione Parar. • Verificação: ◦ Confirme que o serviço está parado (status: Parado). • Objetivo: Evitar conflitos durante a instalação da nova versão e garantir que nenhum arquivo esteja em uso exclusivo. 3. Instalar o W.A.S. 29 (Versão Full) • Ação: ◦ Faça o download do instalador do W.A.S. 29 (versão completa) a partir do site oficial ou fonte confiável. ◦ Execute o instalador como administrador: ▪ Clique com o botão direito no arquivo .exe e selecione Executar como administrador. ◦ Siga as instruções do assistente de instalação: ▪ Aceite os termos de licença. ▪ Escolha o diretório de instalação padrão ou personalize, se necessário. ▪ Complete a instalação. • Verificação: ◦ Confirme que a instalação foi concluída sem erros. ◦ Verifique se o W.A.S. 29 aparece na lista de programas instalados (Painel de Controle > Programas e Recursos). 4. Importar Configurações do W.A.S. 22 para o W.A.S. 29 • Ação: ◦ Abra o painel de administração do W.A.S. 29 (geralmente acessível via atalho no menu Iniciar ou no diretório de instalação). ◦ Localize a opção de importação de configurações: ▪ Navegue até a seção de migração ou importação (ex.: Ferramentas > Importar Configurações). ◦ Selecione a pasta ou arquivo de configurações do W.A.S. 22 (geralmente em %ProgramFiles%\Webdev22 ou similar). ◦ Execute o processo de importação. • Verificação: ◦ Confirme que todas as configurações (sites, pools de aplicativos, etc.) foram migradas corretamente. ◦ Verifique logs de importação para possíveis erros. 5. Instalar o W.A.S. 29 Update 4 • Ação: ◦ Baixe o pacote do W.A.S. 29 Update 4 do site oficial ou fonte confiável. ◦ Execute o instalador como administrador. ◦ Siga o assistente de instalação, que aplicará as atualizações necessárias. • Verificação: ◦ Confirme que a versão do W.A.S. foi atualizada para o Update 4 (verifique em Ajuda > Sobre no painel do W.A.S.). ◦ Verifique logs de instalação para possíveis erros. 6. Verificar o Início do Serviço do W.A.S. • Ação: ◦ Abra o Gerenciador de Serviços (services.msc). ◦ Localize o serviço do W.A.S. 29. ◦ Clique com o botão direito e selecione Iniciar (ou Reiniciar, se já estiver em execução). • Verificação: ◦ Confirme que o serviço está em execução (status: Em Execução). ◦ Verifique os logs do W.A.S. para garantir que não há erros no início. 7. Instalar o Driver do Microsoft SQL Server para W.A.S. 29 • Ação: ◦ Baixe o driver do Microsoft SQL Server compatível com o W.A.S. 29 (disponível no site da Microsoft ou no pacote do W.A.S.). ◦ Execute o instalador do driver como administrador. ◦ Siga as instruções do assistente. • Verificação: ◦ Confirme que o driver foi instalado corretamente (verifique em Programas e Recursos). ◦ Verifique se todas as DLLs necessárias estão presentes: ▪ Navegue até o diretório de instalação do driver (ex.: C:\Program Files\Microsoft SQL Server). ▪ Confirme a presença de arquivos como sqlsrv32.dll, msodbcsql.dll, etc. ◦ Teste a conectividade com o SQL Server, se aplicável, usando ferramentas como o SQL Server Management Studio. 8. Testar o W.A.S. • Ação: ◦ Acesse o painel de administração do W.A.S. 29. ◦ Verifique se o serviço está no ar: ▪ Tente acessar um site hospedado no W.A.S. via navegador (ex.: http://localhost ou URL específica). • Verificação: ◦ Confirme que o site carrega corretamente. ◦ Verifique os logs do W.A.S. e do IIS para possíveis erros. 9. Configurar o W.A.S. • Ação: ◦ Abra o painel de administração do W.A.S. 29. ◦ Navegue até a aba Configurações e clique no botão Server. • Verificação: ◦ Confirme as próximas etapas de configuração. 10. Verificar e Definir o Microsoft IIS • Ação: ◦ No painel de configuração do W.A.S., verifique se o servidor está configurado para usar Microsoft IIS ou Microsoft IIS Express. ◦ Selecione Microsoft IIS Full como a opção padrão. • Verificação: ◦ Confirme que a configuração foi salva corretamente. 11. Habilitar Suporte a Versões Antigas • Ação: ◦ Na mesma aba de configurações, marque a opção Rodar Versões Antigas. • Verificação: ◦ Confirme que a caixa está marcada. 12. Configurar Opções Padrão • Ação: ◦ Marque a opção Default e todas as outras caixas disponíveis na seção de configurações (All Check Items). • Verificação: ◦ Confirme que todas as opções foram selecionadas e salvas. 13. Executar Diagnóstico • Ação: ◦ Clique no botão Diagnóstico no painel de administração. ◦ Selecione um site padrão para validação. ◦ Execute o diagnóstico. • Verificação: ◦ A mensagem final deve ser No Problem. ◦ Se aparecerem erros, prossiga para a próxima etapa. 14. Corrigir Erros no Diagnóstico • Ação: ◦ Se o diagnóstico indicar problemas, clique em Fix para tentar corrigir automaticamente. ◦ Se o problema persistir, atualize o Microsoft IIS: ▪ Abra o Painel de Controle > Programas e Recursos > Ativar ou Desativar Recursos do Windows. ▪ Localize Serviços de Informações da Internet (IIS). ▪ Marque todas as opções disponíveis para garantir uma instalação completa. ▪ Clique em OK e reinicie o servidor, se necessário. • Verificação: ◦ Repita o diagnóstico para confirmar a correção. 15. Reinstalar o Microsoft IIS (Último Caso) • Ação: ◦ Se o Fix não resolver, reinstale o IIS: ▪ Desmarque todas as opções de IIS em Ativar ou Desativar Recursos do Windows. ▪ Reinicie o servidor. ▪ Reative todas as opções de IIS, marcando tudo. ▪ Reinicie o servidor novamente. • Verificação: ◦ Execute o diagnóstico novamente. 16. Validar Diagnóstico Final • Ação: ◦ Repita o processo de diagnóstico. • Verificação: ◦ Confirme que a mensagem final é No Problem. 17. Realizar Backup das Configurações do Microsoft IIS • Ação: ◦ Antes de considerar a instalação concluída, faça um backup das configurações e conteúdos do IIS. ◦ Método 1: Usando appcmd: 1 Abra o Prompt de Comando como administrador. 2 Execute:
%windir%\system32\inetsrv\appcmd add backup "BackupIIS_20250428" 3 4 Verifique a pasta %windir%\System32\inetsrv\backup para confirmar a criação do backup. 5 Copie a pasta de backup para um local seguro (ex.: disco externo ou NAS). ◦ Método 2: Usando Web Deploy: 1 Instale o Web Deploy via Microsoft Web Platform Installer. 2 Abra o Gerenciador do IIS (inetmgr). 3 Clique com o botão direito no servidor e selecione Deploy > Export Server Package. 4 Siga o assistente e salve o pacote .zip em um local seguro. ◦ Backup dos Arquivos de Sites: 1 Identifique os diretórios dos sites (ex.: C:\inetpub\wwwroot). 2 Copie os diretórios para um local seguro usando:
robocopy C:\inetpub\wwwroot D:\Backups\wwwroot /MIR 3 4 Opcionalmente, configure um backup agendado com o Backup do Windows Server: ▪ Abra wbadmin.msc. ▪ Configure um backup personalizado incluindo C:\inetpub e o estado do sistema. • Verificação: ◦ Confirme que os backups foram criados e estão acessíveis. ◦ Teste a restauração em um ambiente de teste, se possível.
Resolução de Problemas A. Processos em Modo Exclusivo • Sintoma: Erros durante a instalação ou importação devido a arquivos bloqueados. • Solução: ◦ Pare o serviço do W.A.S. e do IIS: ▪ No services.msc, pare os serviços WAS29 e W3SVC (World Wide Web Publishing Service). ◦ Reinicie o servidor, se necessário. ◦ Repita a etapa problemática. B. Microsoft IIS Incompleto • Sintoma: Diagnóstico não retorna No Problem, e o Fix não corrige. • Solução: ◦ Reinstale o IIS: ▪ No Painel de Controle > Ativar ou Desativar Recursos do Windows, desmarque e remarque todas as opções de Serviços de Informações da Internet. ▪ Reinicie o servidor. ◦ Execute o diagnóstico novamente. C. Falha Crítica • Sintoma: A instalação ou configuração falha repetidamente, ou o servidor apresenta instabilidade. • Solução: ◦ Restaure o snapshot da VM: ▪ Acesse o painel de gerenciamento da VM. ▪ Reverter para o snapshot criado no passo 1. ◦ Reavalie os pré-requisitos e repita o processo.
Boas Práticas • Teste após cada etapa: Valide o funcionamento do W.A.S. e do IIS após cada passo crítico. • Documente alterações: Registre todas as configurações alteradas e backups criados. • Automatize backups: Configure backups regulares do IIS e dos arquivos de sites. • Ambiente de teste: Se possível, realize o procedimento em um ambiente de homologação antes de aplicá-lo em produção. • Verificação final: ◦ Acesse todos os sites hospedados no W.A.S. para confirmar funcionamento. ◦ Monitore os logs do W.A.S. e do IIS por 24-48 horas após a instalação.
Resumo Seguindo este manual, você terá: • Atualizado o W.A.S. da versão 22 para a 29 com Update 4. • Configurado o Microsoft IIS corretamente. • Realizado backups das configurações e conteúdos do IIS. • Validado a instalação com diagnósticos. • Resolvido possíveis problemas com soluções claras. Se precisar de ajuda adicional ou encontrar erros específicos, entre em contato com o suporte técnico do W.A.S. ou da infraestrutura.
Nota Final: Em caso de falhas irrecuperáveis, restaure o snapshot da VM e revise os passos antes de tentar novamente.
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 15 juin 2025 - 15:28 |
Manual W.A.S.
O objetivo será reinstalar corretamente o MS IIS, garantir que o dism.exe funcione com o WebDev Application Server (W.A.S.) da PCSOFT, criar o usuário certo, aplicar as permissões corretas, e garantir que o diagnóstico do W.A.S. retorne ✅ NO PROBLEM.
⸻
📘 MANUAL COMPLETO: Instalação, Configuração e Diagnóstico do W.A.S. com MS IIS e DISM.EXE no Windows
✅ Objetivo final: Diagnóstico do W.A.S. funcionando com “NO PROBLEM”, incluindo execução do DISM.EXE, sem erros de permissão.
⸻
🧩 ETAPA 1 – Remover e Reinstalar o IIS do Windows
🔻 1.1 – Remover o IIS por completo (caso esteja corrompido) 1. Pressione Win + R, digite appwiz.cpl e pressione Enter 2. Clique em Ativar ou desativar recursos do Windows (à esquerda) 3. Na lista, desmarque completamente: • Serviços de Informações da Internet (IIS) • Serviços da World Wide Web • Console de Gerenciamento da Web (IIS) 4. Clique em OK 5. Aguarde a remoção completa (leva alguns minutos) 6. Reinicie o computador para garantir a limpeza
⸻
🔁 1.2 – Instalar novamente o IIS completo com todos os recursos necessários
Método 1 – Via GUI (Gráfico) 1. Vá em appwiz.cpl > Ativar ou desativar recursos do Windows 2. Marque: • ✅ Serviços de Informações da Internet • ✅ Serviços da World Wide Web • ✅ Recursos comuns HTTP • Documentos padrão • Diretório de Navegação • Erros HTTP • Redirecionamento HTTP • Publicação Estática • ✅ Recursos de Desenvolvimento de Aplicativo • Extensões ISAPI • Filtros ISAPI • Suporte a ASP.NET • CGI • .NET Extensibility 3.5 e 4.8 • ✅ Segurança • Autenticação básica • Autenticação do Windows • ✅ Ferramentas de Gerenciamento • Console de Gerenciamento IIS • Scripts de gerenciamento e ferramentas 3. Clique em OK e aguarde a instalação 4. Reinicie o computador
Método 2 – Via PowerShell (opcional)
DISM /Online /Enable-Feature /FeatureName:IIS-WebServerRole /All DISM /Online /Enable-Feature /FeatureName:IIS-WebServer /All DISM /Online /Enable-Feature /FeatureName:IIS-ISAPIExtensions DISM /Online /Enable-Feature /FeatureName:IIS-ISAPIFilter DISM /Online /Enable-Feature /FeatureName:IIS-ASPNET DISM /Online /Enable-Feature /FeatureName:IIS-CGI DISM /Online /Enable-Feature /FeatureName:IIS-ManagementConsole
⸻
🧩 ETAPA 2 – Criar Usuário Local com Permissões Corretas
👤 2.1 – Criar o usuário local was_admin 1. Pressione Win + R, digite: compmgmt.msc 2. Vá para: Usuários e Grupos Locais > Usuários 3. Clique com o direito em Usuários > Novo Usuário 4. Preencha: • Nome do usuário: was_admin • Senha: Senha@Forte2025 • ❌ Desmarque: “Usuário deve alterar a senha no próximo logon” • ✅ Marque: “Senha nunca expira” 5. Clique em Criar
⸻
👥 2.2 – Adicionar was_admin ao grupo Administradores 1. Clique em Grupos 2. Duplo clique em Administradores 3. Clique em Adicionar 4. Digite was_admin, clique em Verificar nomes, e clique em OK
⸻
🧪 2.3 – Adicionar ao grupo IIS_IUSRS 1. Ainda em Grupos, clique em IIS_IUSRS 2. Clique em Adicionar 3. Adicione was_admin e clique em OK
📌 Importante: se o grupo IIS_IUSRS não existir, crie com:
net localgroup IIS_IUSRS /add
⸻
🧩 ETAPA 3 – Validar e Corrigir Permissões do DISM.EXE
🔎 3.1 – Localizar o dism.exe • Caminho padrão: C:\Windows\System32\dism.exe
🛠 3.2 – Corrigir permissões 1. Clique direito no dism.exe > Propriedades 2. Aba Segurança > clique em Editar 3. Clique em Adicionar: • Nome: was_admin • Permissão: Controle total 4. Adicione também: IIS_IUSRS com Leitura e Execução 5. Clique em Aplicar > OK
⸻
🧩 ETAPA 4 – Instalar e Configurar o WebDev Application Server
🔧 4.1 – Instale o W.A.S. com as opções corretas 1. Baixe o instalador do WebDev Application Server da sua versão (ex: WD28) 2. Execute como Administrador 3. Selecione: • Tipo de instalação: Servidor IIS • Ativar como serviço do Windows 4. Finalize a instalação
⸻
🔧 4.2 – Configurar o W.A.S. Admin 1. Abra:
C:\Program Files (x86)\PC SOFT\WEBDEV\WAS\WD280ADMIN.EXE
(Ajuste para sua versão: WD270, WD280, WD290…)
2. Vá na aba Parâmetros do servidor 3. Configure: • Porta: 80 (ou 8080) • Pasta dos projetos: C:\WebDev\Projetos • Conta de serviço: use was_admin com a senha configurada 4. Clique em Aplicar
⸻
🧩 ETAPA 5 – Diagnóstico “NO PROBLEM” do W.A.S.
🧪 5.1 – Executar Diagnóstico 1. Acesse via navegador:
http://localhost/WD280AWP/WASAdmin.html
2. Clique na aba Diagnóstico 3. Clique em Executar Diagnóstico
⸻
✅ Resultado Esperado • Todos os itens devem exibir “NO PROBLEM”, incluindo: • dism.exe executando corretamente • Verificação do IIS, das permissões, das DLLs e do Application Pool
⸻
💡 Extras Recomendados
🔄 Reiniciar o Application Pool manualmente 1. Abra o Gerenciador do IIS 2. Vá em Pools de Aplicativos 3. Selecione o Pool do WebDev (ex: WD280AWPAppPool) 4. Clique com o direito > Reciclar
⸻
🧰 Script para diagnóstico automático
Crie um arquivo diagnostico_was.ps1 com:
Start-Process "C:\Windows\System32\dism.exe" -ArgumentList "/Online", "/Cleanup-Image", "/ScanHealth" -Wait Start-Process "http://localhost/WD280AWP/WASAdmin.html"
⸻
📎 IMPORTANTE
DEVE O USUÁRIO ATUAL SER ADMINISTRADOR LOCAL DA MÁQUINA COM DIRETIVA IUSR DO MSIIS
Perfeito, Adriano. Vamos completar o manual com as instruções precisas para: • Ativar/desativar o serviço do IIS (W3SVC) • Ativar/desativar o serviço do WebDev Application Server (WAS) • Garantir que ambos iniciem corretamente com o Windows ou sejam reiniciados manualmente em caso de erro
⸻
🧩 ETAPA 6 – Gerenciar os Serviços do IIS e W.A.S. no Windows
⸻
🔧 6.1 – Serviço do IIS (Serviço de Publicação na World Wide Web - W3SVC)
▶ Ativar / Iniciar Manualmente:
Start-Service W3SVC
Ou no Prompt de Comando (Admin):
net start W3SVC
⏸ Parar o serviço:
Stop-Service W3SVC
net stop W3SVC
🔄 Reiniciar o serviço:
Restart-Service W3SVC
⚙️ Definir para iniciar automaticamente com o Windows:
Set-Service W3SVC -StartupType Automatic
⸻
🔧 6.2 – Serviço do WebDev Application Server (WAS)
Nome do serviço varia conforme a versão: • WD270Admin, WD280Admin, WD290Admin etc. Confirme em services.msc ou taskmgr.exe > Serviços
⸻
▶ Iniciar o serviço do WAS:
Start-Service "WD280Admin"
net start "WD280Admin"
⏸ Parar o serviço:
Stop-Service "WD280Admin"
net stop "WD280Admin"
🔄 Reiniciar o serviço:
Restart-Service "WD280Admin"
⚙️ Definir para iniciar com o Windows:
Set-Service "WD280Admin" -StartupType Automatic
💡 Substitua WD280Admin pela sua versão real do WebDev. Exemplo: WD290Admin se for versão 29, ou WD270Admin se for a 27.
⸻
🖥 Alternativa via interface gráfica 1. Pressione Win + R, digite: services.msc 2. Localize: • Serviço de Publicação na World Wide Web → corresponde ao IIS • WD280Admin ou similar → serviço do WebDev 3. Clique com botão direito > Iniciar, Parar ou Propriedades para alterar o tipo de inicialização para Automático
⸻
✅ Verificação Final
Após executar: • Start-Service W3SVC • Start-Service "WD280Admin"
Acesse:
http://localhost/WD280AWP/WASAdmin.html
E execute o Diagnóstico, que deve exibir:
🟢 NO PROBLEM
⸻
📋 INSTALAÇÃO DO W.A.S. COM SUPORTE A DIAGNÓSTICO “NO PROBLEM”
1. Remover o IIS existente • Vá em appwiz.cpl > Ativar ou desativar recursos do Windows • Desmarque todos os itens relacionados ao IIS • Clique em OK e aguarde a desinstalação • Reinicie o Windows
⸻
2. Reinstalar o IIS com todos os componentes completos de servidor web • Acesse novamente Ativar ou desativar recursos do Windows • Marque: • Serviços de Informações da Internet • Todos os subitens de: • Recursos comuns HTTP • Recursos de desenvolvimento de aplicativos • ASP.NET • ISAPI Extensions e Filters • CGI • Console de Gerenciamento • Finalize a instalação e reinicie novamente
⸻
3. Abrir o Gerenciador do Computador • Execute compmgmt.msc • Vá até Usuários e Grupos Locais > Usuários
⸻
4. Criar o usuário local was_admin • Botão direito em Usuários > Novo Usuário • Nome: was_admin • Senha: Senha@Forte2025 • Marcar: “Senha nunca expira” • Desmarcar: “Usuário deve alterar senha no próximo logon” • Criar o usuário
⸻
5. Adicionar was_admin aos grupos • Grupos: • Administradores • IIS_IUSRS • Acesse cada grupo > Adicionar > was_admin
⸻
6. Instalar o WebDev Application Server • Execute o instalador do WAS como Administrador • Selecione: • Tipo de servidor: IIS • Habilitar como serviço do Windows • Conta de serviço: was_admin
⸻
7. Definir permissões no arquivo dism.exe • Caminho: C:\Windows\System32\dism.exe • Clique direito > Propriedades > Segurança • Adicionar: • was_admin com controle total • IIS_IUSRS com leitura e execução • Aplicar as permissões
⸻
8. Executar o Diagnóstico do W.A.S. • Acesse no navegador:
http://localhost/WD280AWP/WASAdmin.html
• Vá na aba Diagnóstico • Clique em Executar Diagnóstico
⸻
✅ 9. Resultado Esperado: • Diagnóstico retorna:
“NO PROBLEM”
em todos os itens, incluindo o dism.exe.
⸻
Então é possível automatizar a maioria desses passos via PowerShell, incluindo: • Remoção e instalação completa do IIS • Criação do usuário local was_admin • Adição aos grupos Administradores e IIS_IUSRS • Instalação do W.A.S. em modo silencioso (parcialmente possível) • Configuração de permissões no dism.exe
Abaixo está um PowerShell script completo, comentado e organizado por etapas, para executar praticamente tudo de forma automatizada:
⸻
⚙️ Script PowerShell: Instalação do IIS, Usuário e Configuração do W.A.S.
# 🧼 1. Remover IIS existente Write-Host "Removendo IIS..." -ForegroundColor Yellow Disable-WindowsOptionalFeature -Online -FeatureName IIS-WebServerRole -NoRestart -ErrorAction SilentlyContinue Disable-WindowsOptionalFeature -Online -FeatureName IIS-WebServer -NoRestart -ErrorAction SilentlyContinue Disable-WindowsOptionalFeature -Online -FeatureName IIS-ManagementConsole -NoRestart -ErrorAction SilentlyContinue
# 🔁 2. Reinstalar IIS completo Write-Host "Instalando IIS com todos os recursos..." -ForegroundColor Green Enable-WindowsOptionalFeature -Online -FeatureName IIS-WebServerRole -All Enable-WindowsOptionalFeature -Online -FeatureName IIS-WebServer -All Enable-WindowsOptionalFeature -Online -FeatureName IIS-ISAPIExtensions Enable-WindowsOptionalFeature -Online -FeatureName IIS-ISAPIFilter Enable-WindowsOptionalFeature -Online -FeatureName IIS-ASPNET Enable-WindowsOptionalFeature -Online -FeatureName IIS-CGI Enable-WindowsOptionalFeature -Online -FeatureName IIS-ManagementConsole
# 👤 3. Criar o usuário local was_admin $usuario = "was_admin" $senha = ConvertTo-SecureString "Senha@Forte2025" -AsPlainText -Force Write-Host "Criando usuário local: $usuario" -ForegroundColor Cyan Try { New-LocalUser -Name $usuario -Password $senha -FullName "Administrador WAS" -PasswordNeverExpires -UserMayNotChangePassword } Catch { Write-Host "Usuário já existe ou erro ignorável" -ForegroundColor DarkYellow }
# 👥 4. Adicionar aos grupos Administradores e IIS_IUSRS Write-Host "Adicionando usuário aos grupos locais..." -ForegroundColor Cyan Add-LocalGroupMember -Group "Administradores" -Member $usuario Add-LocalGroupMember -Group "IIS_IUSRS" -Member $usuario
# 🔐 5. Definir permissões no dism.exe $dismPath = "$env:SystemRoot\System32\dism.exe" Write-Host "Definindo permissões no dism.exe..." -ForegroundColor Magenta
# Requer módulo SetACL ou uso de icacls (mais nativo) icacls $dismPath /grant "$usuario:F" icacls $dismPath /grant "IIS_IUSRS:RX"
# 🔧 6. Configurar o serviço do WAS (Manual: instalar via setup e apontar para IIS) Write-Host "🧩 Etapa manual: Instale o WebDev Application Server e selecione modo IIS." -ForegroundColor DarkGray Start-Sleep -Seconds 3
# ▶ 7. Ativar serviços necessários Write-Host "Ativando serviços do IIS e W.A.S..." -ForegroundColor Blue Start-Service W3SVC
# Substitua pela versão correspondente ao seu WebDev (ex: WD280Admin) $wasService = "WD280Admin" Try { Start-Service $wasService Set-Service $wasService -StartupType Automatic } Catch { Write-Host "O serviço $wasService ainda não foi instalado ou o nome está incorreto." -ForegroundColor Red }
Write-Host "`n🟢 Script concluído. Execute o instalador do WebDev Application Server agora e configure o diagnóstico." -ForegroundColor Green
⸻
🛠️ Observações
Item Status via PowerShell Instalar/remover IIS ✅ Suportado Criar usuário local ✅ Suportado Adicionar a grupos locais ✅ Suportado Configurar permissões ✅ Com icacls Instalar WebDev Application Server ❌ Requer instalador manual Executar diagnóstico WAS ❌ Apenas via navegador
⸻
📌 O que é Handler Mappings no IIS?
O recurso Handler Mappings no IIS define como o servidor web deve tratar diferentes tipos de requisições que chegam a um site ou aplicação.
🔧 Ele faz o mapeamento entre: • Um caminho (URL) de requisição • Um executável (como wdXXXawp.exe, wdXXXweb.exe, ou CGI) • Um módulo de manipulação (como CgiModule, StaticFileModule, etc.)
⸻
🧠 Para que serve no contexto do WebDev Application Server?
No caso do WAS, os “handlers” mapeiam URLs REST, AWP e SOAP para os executáveis da engine WebDev, como: • wd220awp.exe • wd250awp.exe • wd280awp.exe • etc.
⸻
📍 Exemplo real da imagem:
Request Path:
/SimetraRest
Executable:
\WP\wd220awp.exe /WEBSERVICE_REST=SIMETRAMIDDLEREST
Módulo: CgiModule
⸻
📌 O que essa configuração faz?
Quando o IIS recebe uma requisição HTTP para o endereço:
http://meuservidor/SimetraRest
Ele irá: 1. Interceptar essa URL usando o Request Path 2. Executar o wd220awp.exe com o argumento /WEBSERVICE_REST=SIMETRAMIDDLEREST 3. Esse executável vai processar a requisição WebService RESTful associada ao projeto WebDev SIMETRAMIDDLEREST 4. Retornar o resultado ao cliente, como um JSON, XML ou status code
⸻
📦 Tipos comuns de Handler usados no WebDev
Caminho Executável usado Função principal /AWP ou /WB_ wdXXXawp.exe Páginas dinâmicas AWP ou Webservices /WEBREST_xxx wdXXXawp.exe API REST do projeto WebDev /SOAP_xxx wdXXXweb.exe Webservices SOAP /STATIC StaticFileModule Imagens, JS, CSS
⸻
✅ Por que é essencial configurar corretamente os Handler Mappings?
Porque sem eles o IIS: • Não sabe como processar os endpoints REST ou AWP • Pode retornar erro 404 ou 500 • Não executa corretamente os Webservices do WebDev
⸻
⚠️ Problemas comuns quando mal configurado:
Problema Causa provável Erro 404 Caminho não mapeado Erro 500 - CGI Failed Permissões erradas no executável Diagnóstico do WAS falha Handler não aponta para a engine correta Webservice não responde Caminho ou nome incorreto no parâmetro /WEBSERVICE_REST=
⸻
🛠️ Onde configurar?
No IIS Manager: 1. Selecione o site 2. Vá em Handler Mappings 3. Clique em Add Script Map… 4. Configure: • Request path: /meuendpoint • Executable: C:\Path\wd280awp.exe /WEBSERVICE_REST=NOMEPROJETO • Name: WB_/meuendpoint • Module: CgiModule
⸻
✅ Dica Final:
Sempre verifique: • Caminho físico para o executável (wdXXXawp.exe) • Nome correto do projeto WebDev no parâmetro /WEBSERVICE_REST= • Permissões de leitura/execução do usuário do pool de aplicativos (IIS_IUSRS ou was_admin)
⸻
Perfeito, Adriano. Abaixo está um manual completo e detalhado de como: 1. Criar um usuário no Host Control Center (HCC) do WebDev Application Server (W.A.S.) 2. Utilizar esse usuário para publicar (deploy) um site ou webservice 3. Incluir boas práticas de segurança e permissões
⸻
📘 Manual Completo: Criação de Usuário no Host Control Center do W.A.S. e Deploy de Site/Webservice
✅ Objetivo: permitir que você ou sua equipe possam publicar projetos WebDev com segurança via rede, utilizando o HCC (Host Control Center).
⸻
🧩 1. O que é o Host Control Center?
O Host Control Center (HCC) é a interface do WebDev Application Server que permite: • Gerenciar usuários de publicação • Definir pastas e permissões de hospedagem • Publicar sites e webservices remotamente via WebDev IDE • Proteger e isolar ambientes de deploy
⸻
🧭 Acessando o HCC 1. Pressione Win + R 2. Execute:
C:\Program Files (x86)\PC SOFT\WEBDEV\WAS\WD280HCC.EXE
Substitua WD280HCC.EXE pela versão correspondente (ex: WD270HCC.EXE)
⸻
👤 2. Criando um Novo Usuário no HCC
Passo a Passo: 1. Abra o Host Control Center 2. Clique na aba [Usuários] 3. Clique em Adicionar ou [Novo Usuário] 4. Preencha os dados: • Nome de usuário: cliente01 (exemplo) • Senha: Senha@Forte2025 • Marque: ✅ “Usuário pode fazer upload de sites”
📂 Definir Diretório 1. Escolha um diretório isolado para esse usuário: • Exemplo: C:\WebDevSites\cliente01 2. Marque: ✅ “Criar o diretório se não existir” 3. Defina a quota de espaço (opcional) 4. Clique em [OK]
📌 A pasta definida será usada como raiz do site no servidor.
⸻
🧩 3. Configurar o Site no WebDev (IDE)
Passo a Passo no Projeto: 1. Abra o projeto WebDev que deseja publicar 2. Vá em:
Projeto > Implementar > Site na Internet ou Intranet
3. Selecione: • Publicar em servidor remoto 4. Clique em Configurar… ou Novo…
Dados da Conexão:
Campo Valor exemplo Tipo de servidor WebDev Application Server Endereço IP ou DNS 192.168.1.100 ou meusite.com.br Porta 4900 (padrão do HCC) Nome de usuário cliente01 Senha Senha@Forte2025 Diretório remoto (será definido automaticamente)
🔒 Certifique-se que a porta 4900 esteja liberada no firewall do servidor.
⸻
🚀 4. Fazendo o Deploy do Site/Webservice 1. Após preencher os dados acima, clique em Conectar 2. O WebDev se conectará ao servidor via Host Control Center 3. Clique em [Enviar todos os arquivos do site] 4. O projeto será copiado para:
C:\WebDevSites\cliente01\[NomeDoProjeto]
5. O WAS ativará o site automaticamente
Você poderá acessá-lo via:
http://192.168.1.100/NomeDoProjeto
⸻
🔐 5. Segurança e Boas Práticas
Recurso Recomendação Nome do usuário Não use nomes genéricos como “admin” Senha Utilize letras, números, símbolos Pasta raiz Um diretório separado para cada cliente Permissões Não permita acesso à raiz do sistema Porta 4900 Liberar apenas para IPs específicos (opcional) Logs Habilitar logs no WAS (pasta LOG)
⸻
🛠 6. Ferramentas Adicionais no HCC • 📁 Ver arquivos publicados: visualizar e excluir arquivos remotamente • ♻️ Forçar reinicialização de site • ❌ Bloquear/desbloquear site para manutenção • 📦 Compactar conteúdo • 📄 Logs de publicação e execução
⸻
✅ Conclusão
Com esse procedimento, você pode: • Criar usuários de deploy com isolamento por cliente ou projeto • Fazer deploy seguro diretamente do WebDev IDE • Controlar permissões e pastas por usuário • Centralizar a gestão de sites e serviços Web
⸻
Segue um manual aprimorado com: • 🖥️ Screenshots ilustrativas do HCC e da IDE WebDev • 📋 Checklist de publicação • 🔐 Lista de portas e permissões necessárias
⸻
🖼️ 1. Screenshots ilustrativas
Estas imagens ajudam a visualizar onde cada recurso está localizado, mesmo que não representem exatemente sua versão:
Painel “Handler Mappings” do IIS – equivalente ao ambiente do HCC  
⸻
Screenshot 1: Aba 'Usuários' no HCC, onde se cria accounts de publicação. Screenshot 2: Janela de deploy na IDE WebDev, com campos de conexão IP/porta, usuário e senha.
⸻
📋 2. Checklist de publicação via HCC
Faça um checklist completo antes de começar um deploy:
Etapa Descrição Status 1. Criar usuário no HCC Nome, senha e marcar “upload permitido” ☐ 2. Definir diretório remoto isolado Ex: C:\WebDevSites\clienteX ☐ 3. Inspecionar permissões do diretório Leitura, gravação e execução para WAS ☐ 4. No WebDev IDE, configurar conexão HCC IP, porta 4900, usuário e senha ☐ 5. Testar conexão Clique em “Conectar” ☐ 6. Enviar arquivos “Enviar todos os arquivos do site” ☐ 7. Validar deploy Acesse http://IP/NomeProjeto ☐ 8. Executar diagnóstico WAS Via HCC ou IDE ☐ 9. Verificar “NO PROBLEM” Se tudo OK, finalizar ☐ 10. Registrar data e logs Nomes, data, possível rollback ☐
⸻
🔐 3. Lista de portas e permissões
🌐 Portas de rede
Porta Função Recomendação 80 e 443 Servir HTTP/HTTPS Liberar no firewall 4900 Comunicação HCC / IDE Liberar e redirecionar se necessário (Opcional) 443 + 8443 TLS Se usar conexão segura no HCC Criar certificado local
⸻
🔑 Permissões de sistema • Diretório do site (C:\WebDevSites\…) • Usuário WAS (ex: was_admin) ou IIS_IUSRS → Leitura, gravação e execução • Executável W.A.S. • Caminho: C:\Program Files (x86)\PC SOFT\WEBDEV\WAS\*.exe • Permissões: Leitura e execução para was_admin, IIS_IUSRS • Pasta do projeto WebDev • Permissão de leitura e execução — mesma regra de cima • Logs de publicação • Escrita para o usuário criado no HCC
⸻
✅ Resumo do processo 1. Crie usuário no HCC com permissão de upload 2. Configure diretório exclusivo e defina permissões 3. No IDE WebDev, configure conexão HCC (IP, porta, login) 4. Conecte e envie arquivos via “Enviar todos” 5. Acesse o URL gerado para validar a publicação 6. Execute diagnóstico do W.A.S. 7. Cheque “NO PROBLEM”
⸻
Abaixo está um manual completo e detalhado para converter o W.A.S. 27 para o W.A.S. 28, ou seja, migrar do WD270ADMIN.EXE para o WD280ADMIN.EXE, garantindo compatibilidade total, preservação de sites existentes, e operação com diagnóstico “NO PROBLEM”.
⸻
📘 Manual de Conversão do W.A.S. 27 para W.A.S. 28
Migração do WebDev Application Server 27 para WebDev Application Server 28
⸻
🧩 1. Checklist de Pré-Migração
✅ Antes de iniciar a conversão, verifique:
Item Verificado? Backup completo dos sites publicados em C:\WebDev27\ ou similar ☐ Backup da pasta de configuração WAS: C:\ProgramData\PC SOFT\WAS* ☐ Verificar se há sites ativos em produção ☐ Verificar a versão do IIS e atualizações de segurança aplicadas ☐ Anotar configurações personalizadas do HCC e WD270Admin ☐
⸻
🧭 2. Localizar e Anotar as Configurações Atuais
Abra o WD270ADMIN.EXE e anote: • Quais sites estão ativos • Caminhos físicos dos sites publicados • Parâmetros de porta, diagnóstico, e nome da máquina • Configurações do Host Control Center (usuários, diretórios, quotas)
⸻
🧰 3. Instalar o W.A.S. 28 (WD280ADMIN.EXE)
Passo a passo: 1. Baixe o instalador do WAS 28 no site da PCSoft 2. Execute o instalador como Administrador 3. Selecione: • Tipo de servidor: Servidor IIS • Habilitar o serviço como serviço do Windows 4. Finalize a instalação
Caminhos após instalação:
Item Local padrão Admin do WAS C:\Program Files (x86)\PC SOFT\WEBDEV\WAS\WD280ADMIN.EXE HCC C:\Program Files (x86)\PC SOFT\WEBDEV\WAS\WD280HCC.EXE Sites publicados C:\WebDevSites\ (pode ser reutilizado)
⸻
🔁 4. Migrar Sites do WAS 27 para o WAS 28
Opção A – Reimplantação via IDE 1. Abra o projeto no WebDev 28 IDE 2. Vá em:
Projeto > Implementar > Site ou Webservice
3. Altere a conexão para: • Porta: 4900 • Nome de usuário (se mantido no HCC): cliente01 • Atualize diretório remoto para apontar para WD280 4. Clique em “Enviar todos os arquivos do site”
⸻
Opção B – Cópia manual (com ajustes) 1. Copie o conteúdo de:
C:\WebDev27Sites\projetoA
para:
C:\WebDevSites\projetoA
2. Abra o WD280ADMIN.EXE e registre manualmente o site: • Adicione novo site • Aponte para o novo diretório físico • Configure o modo (AWP, Session, Webservice, etc.) • Defina a porta e domínio, se necessário
⸻
🛡️ 5. Validar a Instalação 1. Acesse:
http://localhost/WD280AWP/WASAdmin.html
2. Clique em Diagnóstico 3. Confirme que tudo retorna “NO PROBLEM”, inclusive: • dism.exe • permissões • IIS funcionando
⸻
🔐 6. Permissões Importantes
Recurso Acesso Necessário Pasta do site (C:\WebDevSites) IIS_IUSRS, was_admin: Leitura/Execução wd280awp.exe Execução permitida no IIS + firewall Porta 4900 Liberada no firewall C:\ProgramData\PC SOFT\WAS28 Acesso para serviço WD280Admin
⸻
📌 7. Após Migração
Ação Necessário? Parar serviço WD270Admin (net stop WD270Admin) ✅ Definir WD280Admin como automático (Set-Service) ✅ Remover WAS 27 (se for descontinuar) ❌ Opcional
⸻
📁 8. Script PowerShell para ajustes pós-instalação
# Iniciar WAS 28 Start-Service "WD280Admin" Set-Service "WD280Admin" -StartupType Automatic
# Parar WAS 27 Stop-Service "WD270Admin" Set-Service "WD270Admin" -StartupType Disabled
⸻
✅ Conclusão
Com este processo, você terá: • Todos os sites em execução no WD280ADMIN.EXE • Infraestrutura atualizada para a versão 28 • Compatibilidade com novos recursos do WebDev 28 • Diagnóstico validado com “NO PROBLEM”
⸻
Abaixo está um texto técnico e explicativo que pode ser usado como parte de um manual, documentação interna ou instrução operacional, detalhando como deve ser configurado o usuário ligado (logado) no servidor para que o WebDev Application Server (W.A.S.) funcione corretamente — especialmente no contexto de diagnóstico, deploy e execução via IIS:
⸻
📘 Requisitos do Usuário Logado no Servidor para Funcionamento do W.A.S. (WebDev Application Server)
Para garantir o funcionamento correto do WebDev Application Server (W.A.S.) da PCSOFT, principalmente quando utilizado com o IIS (Internet Information Services), é imprescindível que o usuário logado (ou utilizado como serviço) atenda aos seguintes critérios:
⸻
👤 1. O usuário deve pertencer ao grupo “Administradores” do Windows • Isso garante permissões elevadas no sistema operacional, necessárias para: • Registrar módulos no IIS • Acessar arquivos de sistema (como dism.exe) • Alterar configurações de serviços e diretórios protegidos • Executar componentes do W.A.S. com privilégios completos
✅ Como verificar/adicionar: • Execute compmgmt.msc • Vá até: Usuários e Grupos Locais > Grupos > Administradores • Confirme que o usuário está listado. Se não estiver, adicione-o manualmente.
⸻
🔐 2. O usuário deve fazer parte do grupo IIS_IUSRS • Este grupo permite que o usuário execute aplicações hospedadas no IIS, como: • Sites WebDev em modo AWP ou sessão • Webservices REST/SOAP • Scripts CGI (wd280awp.exe, por exemplo) • O IIS_IUSRS é responsável por conceder: • Leitura e execução em diretórios IIS • Permissão de uso do pipeline HTTP do IIS • Acesso seguro e controlado aos pools de aplicativos
✅ Como verificar/adicionar: • Execute compmgmt.msc • Vá até: Grupos > IIS_IUSRS • Verifique se o usuário (ex: was_admin) está presente • Se não estiver, adicione-o
⸻
⚙️ 3. O usuário usado no serviço WD280Admin (ou versão correspondente) • O serviço do WebDev (WD280Admin.exe, WD270Admin.exe, etc.) pode ser configurado para ser executado com uma conta específica. • Essa conta deve obrigatoriamente: • Estar nos grupos Administradores e IIS_IUSRS • Ter acesso total ao diretório de publicação (C:\WebDevSites\) • Ter execução liberada para binários como wd280awp.exe, wdadmin280.dll etc.
✅ Como configurar: • Vá até services.msc • Encontre WD280Admin • Clique com o botão direito > Propriedades > Logon • Selecione “Esta conta” e informe .\was_admin e sua senha
⸻
✅ Resultado Esperado
Quando o usuário estiver corretamente configurado: • O diagnóstico do WAS mostrará “NO PROBLEM” • Webservices responderão corretamente via IIS • Publicação via HCC e WebDev IDE funcionará sem erro • O IIS poderá executar os scripts e handlers CGI do WebDev
⸻
Abaixo está o guia definitivo, consolidado com tudo que você expôs, transformado em um passo a passo técnico, seguro e funcional, para garantir que um usuário do grupo Administradores consiga executar o dism.exe a partir da pasta C:\Windows\System32, inclusive via scripts, agendador de tarefas e UAC desativado ou não, sem falhas como “acesso negado”, “erro 740” ou problemas de redirecionamento de saída.
⸻
✅ MANUAL COMPLETO: Permitir Execução Plena do dism.exe por um Usuário Administrador
Objetivo final: Executar o comando dism.exe /online /english /get-features com sucesso e sem restrições, seja manual, via script, ou agendador.
⸻
🧭 ETAPA 1 – Verificar e Garantir que o Usuário Está no Grupo “Administradores”
🔹 1.1 Abrir Prompt de Comando como Administrador 1. Pressione Win + S, digite cmd 2. Clique com o botão direito → Executar como administrador
🔹 1.2 Verificar Grupos do Usuário Atual:
whoami /groups
✔ Procure por: Administrators
⸻
🔹 1.3 Adicionar o usuário ao grupo (se necessário):
net localgroup Administradores "NOME_DO_USUARIO" /add
🔒 Requer privilégio de administrador global. Reinicie a sessão após adicionar.
⸻
📂 ETAPA 2 – Conceder Acesso Total ao dism.exe (sem afetar a pasta System32 inteira)
🔹 2.1 Garantir permissão segura apenas no executável:
icacls "C:\Windows\System32\dism.exe" /grant Administradores:F
✅ F = Full (controle total)
⸻
🔧 ETAPA 3 – Execução direta sem erros de elevação/UAC
🟡 Opção 1: Executar manualmente com permissão elevada
C:\Windows\System32\cmd.exe /k dism.exe /online /english /get-features
🟡 Opção 2: Script PowerShell com saída controlada
$log = "$env:TEMP\dism_output.txt" Start-Process dism.exe -ArgumentList "/online /english /get-features" -Verb RunAs -RedirectStandardOutput $log -Wait notepad $log
⸻
🧰 ETAPA 4 – Criação de Atalho Permanente “Executar como administrador” 1. Clique direito na área de trabalho → Novo > Atalho 2. Comando do atalho:
C:\Windows\System32\dism.exe /online /english /get-features
3. Depois: • Clique com direito > Propriedades • Aba Atalho > Avançado • Marque: ✅ Executar como administrador
⸻
⏱ ETAPA 5 – Criar Tarefa no Agendador com Elevação Silenciosa 1. Abra o Agendador de Tarefas (taskschd.msc) 2. Clique em Criar Tarefa (não criar básica) 3. Aba Geral: • Nome: DISM_Admin • Marque: ✅ “Executar com privilégios mais altos” 4. Aba Ações: • Ação: Iniciar um programa • Programa: dism.exe • Argumentos:
/online /english /get-features
5. Aba Gatilhos: (opcional, você pode rodar manualmente) 6. Clique com direito → Executar
⸻
🔧 ETAPA 6 – (Opcional) Desativar o UAC para testes
⚠ Não recomendado em produção Pode ser necessário para scripts antigos, MSI silenciosos, etc.
1. Execute regedit 2. Vá até:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
3. Localize: • EnableLUA 4. Altere de 1 para 0 5. Reinicie o computador
⸻
🧪 ETAPA 7 – Usar TEMP confiável para saída dos logs
Evite usar caminhos como C:\Users\JJJR~1.STF\AppData\...
Exemplo com redirecionamento seguro:
set TEMP_PATH=%TEMP%\dism_output.txt dism.exe /online /english /get-features > "%TEMP_PATH%" 2>&1 notepad "%TEMP_PATH%"
⸻
🛠 Diagnóstico pós-execução
Verificar se houve erro silencioso:
echo %ERRORLEVEL%
Código Significado 0 Sucesso 740 Requer elevação 5 Acesso negado 87 Argumento inválido
⸻
✅ Conclusão Final
Ao concluir todos os passos acima: • O usuário logado (ou usado em serviço/agendamento) poderá executar dism.exe com acesso completo • O WAS da PCSOFT será capaz de chamar dism.exe via diagnóstico interno com “NO PROBLEM” • Scripts de deploy e verificação funcionarão sem necessidade de intervenção manual ou UAC popup
⸻
Abaixo está o script completo em PowerShell para ser executado como Administrador, automatizando todos os passos que você solicitou:
⸻
🛠️ Script PowerShell Administrativo
Objetivo: Garantir que o usuário administrador tenha permissão total para executar dism.exe a partir de C:\Windows\System32, incluindo testes, redirecionamento de saída, criação de atalho e agendador de tarefas.
⸻
📂 Salve o conteúdo abaixo como:
configurar_dism_administrador.ps1
# ✅ INÍCIO DO SCRIPT: Executar como Administrador
Write-Host "`n🔧 Configurando execução segura de DISM.EXE..." -ForegroundColor Cyan
# 🔹 1. Verifica se está como administrador If (-Not ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) { Write-Error "❌ Este script precisa ser executado como Administrador. Abortando..." exit 1 }
# 🔹 2. Exibe grupos do usuário atual Write-Host "`n👤 Grupos do usuário atual:" -ForegroundColor Yellow whoami /groups
# 🔹 3. Concede permissão total ao dism.exe para o grupo Administradores Write-Host "`n🔐 Ajustando permissões no dism.exe..." -ForegroundColor Green icacls "C:\Windows\System32\dism.exe" /grant Administradores:F
# 🔹 4. Cria diretório de log confiável no TEMP $logPath = "$env:TEMP\dism_output.txt" Write-Host "`n📁 Diretório de saída de log: $logPath" -ForegroundColor Blue
# 🔹 5. Executa dism e salva resultado no log Write-Host "`n▶ Executando dism.exe /online /english /get-features..." -ForegroundColor Magenta Start-Process "C:\Windows\System32\dism.exe" -ArgumentList "/online", "/english", "/get-features" -Wait -RedirectStandardOutput $logPath -Verb RunAs
# 🔹 6. Abre o resultado em bloco de notas notepad $logPath
# 🔹 7. Cria atalho na área de trabalho que sempre executa dism como administrador $shortcutPath = "$env:Public\Desktop\DISM_Admin.lnk" $target = "C:\Windows\System32\dism.exe" $wshShell = New-Object -ComObject WScript.Shell $shortcut = $wshShell.CreateShortcut($shortcutPath) $shortcut.TargetPath = $target $shortcut.Arguments = "/online /english /get-features" $shortcut.WorkingDirectory = "C:\Windows\System32" $shortcut.IconLocation = "dism.exe,0" $shortcut.WindowStyle = 1 $shortcut.Description = "Executa DISM como administrador" $shortcut.Save() Write-Host "`n🧷 Atalho criado: $shortcutPath" -ForegroundColor Green
# 🔹 8. Cria tarefa agendada com elevação Write-Host "`n⏱ Criando tarefa no Agendador..." -ForegroundColor Yellow $action = New-ScheduledTaskAction -Execute "C:\Windows\System32\dism.exe" -Argument "/online /english /get-features" $principal = New-ScheduledTaskPrincipal -UserId "$env:USERNAME" -LogonType Interactive -RunLevel Highest $task = New-ScheduledTask -Action $action -Principal $principal -Settings (New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries) Register-ScheduledTask -TaskName "DISM_Admin" -InputObject $task -Force
Write-Host "`n✅ Script concluído com sucesso!" -ForegroundColor Cyan Write-Host "📄 Log salvo em: $logPath"
⸻
✅ O que este script faz:
Etapa Ação 1 Verifica se o script está rodando como administrador 2 Mostra os grupos do usuário atual 3 Concede permissão total ao dism.exe para os administradores 4 Cria log de saída no diretório TEMP 5 Executa o dism.exe /online /english /get-features com saída redirecionada 6 Abre o log no Notepad automaticamente 7 Cria atalho “DISM_Admin” na área de trabalho com elevação 8 Cria tarefa no Agendador com privilégio elevado
⸻
🧪 Como executar: 1. Salve como configurar_dism_administrador.ps1 2. Clique com o botão direito > Executar com PowerShell como Administrador 3. Aguarde a execução 4. Veja o log no Notepad
⸻
Abaixo está um manual completo e prático explicando como rodar duas versões do W.A.S. (WebDev Application Server) simultaneamente no mesmo servidor, usando portas diferentes, sem conflito entre os serviços.
⸻
📘 MANUAL COMPLETO
Rodar 2 versões do WebDev Application Server (W.A.S.) em paralelo no mesmo servidor
🎯 Exemplo: Rodar WD270Admin.exe (WAS 27) e WD280Admin.exe (WAS 28) no mesmo ambiente Windows
⸻
✅ OBJETIVO
Permitir: • Gerenciar projetos WebDev de versões diferentes no mesmo servidor • Executar e publicar sites independentes para cada versão • Garantir que cada versão funcione com suas portas, sem conflitos de recursos ou diagnóstico
⸻
🧭 ETAPA 1 – Instalar cada versão do W.A.S.
⚠️ Sempre instale em diretórios separados e com privilégios de administrador.
📦 Instalação recomendada:
Versão Executável admin Pasta sugerida 27 WD270ADMIN.EXE C:\Program Files (x86)\PC SOFT\WEBDEV\WAS270\ 28 WD280ADMIN.EXE C:\Program Files (x86)\PC SOFT\WEBDEV\WAS280\
⸻
🔁 ETAPA 2 – Executar os dois serviços com portas diferentes
Cada serviço WAS escuta em sua própria porta de controle (usada para HCC/Deploy). A porta padrão é 4900, mas deve ser alterada para evitar conflito.
🧩 Alterar a porta de uma das versões: 1. Abra o Admin do WAS correspondente (WD270ADMIN.EXE ou WD280ADMIN.EXE) 2. Vá em: • Menu Configuração do Servidor > Aba Avançado 3. Altere a porta de controle TCP:
Versão Porta Sugerida 27 4900 (mantida) 28 4910 (nova)
4. Clique em Aplicar
⸻
🔌 ETAPA 3 – Liberar as portas no Firewall
Execute em PowerShell administrativo:
New-NetFirewallRule -DisplayName "WAS27_TCP_4900" -Direction Inbound -Protocol TCP -LocalPort 4900 -Action Allow New-NetFirewallRule -DisplayName "WAS28_TCP_4910" -Direction Inbound -Protocol TCP -LocalPort 4910 -Action Allow
⸻
🧪 ETAPA 4 – Testar acesso ao painel de diagnóstico de cada versão
No navegador:
Versão URL 27 http://localhost:4900/WD270AWP/WASAdmin.html 28 http://localhost:4910/WD280AWP/WASAdmin.html
Ambos devem abrir sem erro e permitir diagnóstico.
⸻
📁 ETAPA 5 – Publicar sites para cada versão separadamente
Ao publicar via IDE WebDev, configure:
Campo Para WAS 27 Para WAS 28 IP/Host localhost ou IP localhost ou IP Porta TCP 4900 4910 Diretório remoto Ex: C:\Sites27\ Ex: C:\Sites28\ Nome de usuário usuario27 usuario28 Senha (respectiva) (respectiva)
⸻
🧰 ETAPA 6 – Validar serviços ativos
PowerShell para verificação rápida:
Get-Service -Name "WD270Admin","WD280Admin"
Verificar portas ativas:
netstat -an | findstr :4900 netstat -an | findstr :4910
⸻
🧷 DICAS ADICIONAIS
Dica Importância ✅ Usar pastas de publicação separadas por versão Evita conflitos ✅ Usar contas diferentes no Host Control Center Melhora segurança ⚠ Não publicar o mesmo projeto em duas versões Pode gerar inconsistência ✅ Separar Pools de Aplicativos no IIS (opcional) Maior isolamento
⸻
✅ RESULTADO FINAL
Você terá: • WD270Admin rodando na porta 4900 • WD280Admin rodando na porta 4910 • Sites de versões diferentes funcionando isoladamente • Diagnóstico “NO PROBLEM” em ambas as versões
⸻
Aqui está o manual completo, estruturado e revisado, com todos os passos técnicos para rodar o WebDev Application Server (W.A.S.) em conjunto com o servidor Apache, utilizando proxy reverso, suporte a WebServices, REST, e opções para WebSocket.
⸻
📘 MANUAL COMPLETO: Integração do WebDev Application Server (W.A.S.) com Apache
✅ Compatível com Windows e Linux, para hospedar sites WebDev, webservices SOAP/REST e integrar com WebSocket via proxy Apache.
⸻
✅ 1. Instalação do W.A.S. (Web Application Server)
📥 Requisitos: • Baixar a versão correta do W.A.S. da PCSOFT • Instalar no servidor Windows ou Linux • O serviço padrão (WDHTTPD) estará acessível em:
http://localhost:80/WDAdminWeb/
📌 Por padrão, o W.A.S. usa o servidor embutido (WDHTTPD.EXE), mas pode ser integrado ao Apache ou IIS.
⸻
✅ 2. Configurando o Apache como Proxy Reverso
Usaremos o mod_proxy e mod_proxy_http para redirecionar requisições do Apache para o W.A.S. (porta 8080, por padrão)
⸻
🔧 a) Habilitar os módulos no Apache
Para Linux (Ubuntu/Debian):
sudo a2enmod proxy sudo a2enmod proxy_http sudo systemctl restart apache2
Para Windows (httpd.conf):
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so
⸻
🔧 b) Criar VirtualHost
Adicione ao arquivo de configuração do Apache:
<VirtualHost *:80> ServerName meusite.com.br
ProxyPreserveHost On ProxyPass / http://localhost:8080/ ProxyPassReverse / http://localhost:8080/
ErrorLog ${APACHE_LOG_DIR}/meusite_error.log CustomLog ${APACHE_LOG_DIR}/meusite_access.log combined </VirtualHost>
📌 Este VirtualHost redireciona todas as requisições para o W.A.S. local na porta 8080.
⸻
✅ 3. Configurando um Site no WebDev Admin 1. Acesse:
http://localhost:80/WDAdminWeb/
2. Clique em “Adicionar novo site” 3. Configure: • Nome do site • Caminho do projeto (.WDWEB) • Modo AWP ou Sessão • Aliases de pasta, tempo de sessão, compressão, etc. 4. Clique em Iniciar o site
⸻
✅ 4. Configurando WebServices (REST e SOAP)
⸻
🌐 a) WebService SOAP 1. No WebDev IDE: • Crie um projeto do tipo Webservice SOAP 2. Gere o projeto normalmente 3. Publique via Deploy WebDev 4. O endpoint SOAP será:
http://meusite.com.br/servico.awws
⸻
🌐 b) WebService REST (com AWP) 1. Crie um site WebDev em modo AWP 2. Adicione procedures REST e marque-as com: • ✅ “Publicar como WebService REST” 3. Compile e publique 4. O endpoint será algo como:
http://meusite.com.br/ws/meuservico.awp…
📌 AWP = stateless, ideal para REST APIs.
⸻
✅ 5. Suporte a WebSocket (Avançado)
O WebDev não possui suporte nativo a WebSocket, mas pode ser integrado via soluções externas.
⸻
🧠 a) Usar servidor WebSocket externo (recomendado) • Crie um servidor Node.js, Python, C# (SignalR) ou similar que escute na porta 8081, por exemplo.
// Node.js exemplo const ws = require('ws'); const server = new ws.WebSocketServer({ port: 8081 });
server.on('connection', socket => { socket.send("Bem-vindo ao WebSocket"); });
• No front-end WebDev, use JavaScript:
var socket = new WebSocket("ws://meusite.com.br:8081"); socket.onmessage = function(event) { alert("Nova mensagem: " + event.data); };
⸻
🔁 b) Alternativa: AJAX Long Polling • Utilize AJAXExecute() e BrowserExecuteJS() em intervalos para simular uma conexão viva com o servidor
AJAXExecuteAsynchronous(ajaxUpdateProc, updateEvent, callbackProc)
📌 Funciona bem para notificações em tempo real sem WebSocket.
⸻
✅ 6. Configurar HTTPS (SSL) no Apache 1. Gere ou compre um certificado (via Let’s Encrypt, por exemplo) 2. Configure VirtualHost SSL:
<VirtualHost *:443> ServerName meusite.com.br
SSLEngine On SSLCertificateFile /etc/ssl/certs/site.crt SSLCertificateKeyFile /etc/ssl/private/site.key
ProxyPreserveHost On ProxyPass / http://localhost:8080/ ProxyPassReverse / http://localhost:8080/ </VirtualHost>
3. Teste com:
https://meusite.com.br
⸻
✅ 7. Recomendações Finais
Recurso Técnica Recomendada Site WebDev Apache como proxy reverso para W.A.S. WebService SOAP Criar projeto .awws, publicar no WAS WebService REST Usar AWP com methods públicos REST WebSocket Usar servidor externo + JS client no WebDev HTTPS Certificado SSL no Apache + ProxyPass Logs Verificar logs no Apache + WAS para debug
⸻
✅ Resultado Final
Você terá: • O Apache escutando na porta 80/443 • Redirecionamento para W.A.S. na porta 8080 • Sites WebDev funcionando com domínio amigável • Webservices e APIs REST publicadas com endpoints acessíveis • Possibilidade de usar WebSocket externo para recursos em tempo real
⸻
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 10 juillet 2025 - 02:32 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 20 septembre 2025 - 14:48 |
SOLUÇÃO DO ERRO: WWConstante5.js
R.:
Resolveu com isso
Dei direito total na pasta
D:\PC SOFT\WINDEV 2025\Personal\IntegratedWebServer
aparentemente resolveu.
Vê ter acesso irrestrito para o administrador e para o ISS_IUSRS controle total
Detalhe do erro:
The 'http://localhost:8030/MY_FIRST_PAGES_WEB/res/WWConstante5.js' URL does not operate (it does not exist or it returns an error).HTTP code received: 500.
HTTP/1.1 500 Internal Server Error Cache-Control: private Content-Type: text/html; charset=utf-8 Server: Microsoft-IIS/10.0 X-SourceFiles: =?UTF-8?B?RDpcTXkgUHJvamVjdHNcTmVsc29uXE15IEV4YW1wbGVzXE15X2ZpcnN0X3BhZ2VzIChBbnN3ZXJzKVxNWV9GSVJTVF9QQUdFU19XRUJccmVzXFdXQ29uc3RhbnRlNS5qcw==?= Date: Sat, 20 Sep 2025 12:05:51 GMT Connection: close Content-Length: 5270
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>IIS 10.0 Detailed Error - 500.19 - Internal Server Error</title> <style type="text/css"> <!-- body{margin:0;font-size:.7em;font-family:Verdana,Arial,Helvetica,sans-serif;} code{margin:0;color:#006600;font-size:1.1em;font-weight:bold;} .config_source code{font-size:.8em;color:#000000;} pre{margin:0;font-size:1.4em;word-wrap:break-word;} ul,ol{margin:10px 0 10px 5px;} ul.first,ol.first{margin-top:5px;} fieldset{padding:0 15px 10px 15px;word-break:break-all;} .summary-container fieldset{padding-bottom:5px;margin-top:4px;} legend.no-expand-all{padding:2px 15px 4px 10px;margin:0 0 0 -12px;} legend{color:#333333;;margin:4px 0 8px -12px;_margin-top:0px; font-weight:bold;font-size:1em;} a:link,a:visited{color:#007EFF;font-weight:bold;} a:hover{text-decoration:none;} h1{font-size:2.4em;margin:0;color:#FFF;} h2{font-size:1.7em;margin:0;color:#CC0000;} h3{font-size:1.4em;margin:10px 0 0 0;color:#CC0000;} h4{font-size:1.2em;margin:10px 0 5px 0; }#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS",Verdana,sans-serif; color:#FFF;background-color:#5C87B2; }#content{margin:0 0 0 2%;position:relative;} .summary-container,.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;} .content-container p{margin:0 0 10px 0; }#details-left{width:35%;float:left;margin-right:2%; }#details-right{width:63%;float:left;overflow:hidden; }#server_version{width:96%;_height:1px;min-height:1px;margin:0 0 5px 0;padding:11px 2% 8px 2%;color:#FFFFFF; background-color:#5A7FA5;border-bottom:1px solid #C1CFDD;border-top:1px solid #4A6C8E;font-weight:normal; font-size:1em;color:#FFF;text-align:right; }#server_version p{margin:5px 0;} table{margin:4px 0 4px 0;width:100%;border:none;} td,th{vertical-align:top;padding:3px 0;text-align:left;font-weight:normal;border:none;} th{width:30%;text-align:right;padding-right:2%;font-weight:bold;} thead th{background-color:#ebebeb;width:25%; }#details-right th{width:20%;} table tr.alt td,table tr.alt th{} .highlight-code{color:#CC0000;font-weight:bold;font-style:italic;} .clear{clear:both;} .preferred{padding:0 5px 2px 5px;font-weight:normal;background:#006633;color:#FFF;font-size:.8em;} --> </style> </head> <body> <div id="content"> <div class="content-container"> <h3>HTTP Error 500.19 - Internal Server Error</h3> <h4>The requested page cannot be accessed because the related configuration data for the page is invalid.</h4> </div> <div class="content-container"> <fieldset><h4>Detailed Error Information:</h4> <div id="details-left"> <table border="0" cellpadding="0" cellspacing="0"> <tr class="alt"><th>Module</th><td> IIS Web Core</td></tr> <tr><th>Notification</th><td> BeginRequest</td></tr> <tr class="alt"><th>Handler</th><td> Not yet determined</td></tr> <tr><th>Error Code</th><td> 0x80070003</td></tr> <tr class="alt"><th>Config Error</th><td> Não é possível ler o arquivo de configuração </td></tr> <tr><th>Config File</th><td> \\?\D:\My Projects\Nelson\My Examples\My_first_pages (Answers)\MY_FIRST_PAGES_WEB\web.config</td></tr> </table> </div> <div id="details-right"> <table border="0" cellpadding="0" cellspacing="0"> <tr class="alt"><th>Requested URL</th><td> http://localhost:8030/MY_FIRST_PAGES_WEB/res/WWConstante5.js | <tr><th>Physical Path</th><td> D:\My Projects\Nelson\My Examples\My_first_pages (Answers)\MY_FIRST_PAGES_WEB\res\WWConstante5.js</td></tr> <tr class="alt"><th>Logon Method</th><td> Not yet determined</td></tr> <tr><th>Logon User</th><td> Not yet determined</td></tr> <tr class="alt"><th>Request Tracing Directory</th><td> Logs\DEFAULT WEB SITE</td></tr> </table> <div class="clear"></div> </div> </fieldset> </div> <div class="config_source content-container"> <fieldset> <h4>Config Source:</h4> <pre><code> -1: <span class="highlight-code"> 0: </span> </code></pre> </fieldset> </div> <div class="content-container"> <fieldset><h4>More Information:</h4> This error occurs when there is a problem reading the configuration file for the Web server or Web application. In some cases, the event logs may contain more information about what caused this error.<p></p><p></p>If you see the text "There is a duplicate 'system.web.extensions/scripting/scriptResourceHandler' section defined", this error is because you are running a .NET Framework 3.5-based application in .NET Framework 4. If you are running WebMatrix, to resolve this problem, go to the Settings node to set the .NET Framework version to ".NET 2". You can also remove the extra sections from the web.config file. <p><a href="https://go.microsoft.com/fwlink/…">View more information »</a></p> </fieldset> </div> </div> </body> </html>
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 24 septembre 2025 - 14:00 |
Posté le 24 septembre 2025 - 09:36 # Manual de Uso do WAS Orchestrator Kit v5.1
**Autor:** Manus AI
## Índice
1. [Finalidade](#finalidade) 2. [Visão Geral do Kit](#visão-geral-do-kit) * [Estrutura de Arquivos](#estrutura-de-arquivos) * [Componentes Principais](#componentes-principais) 3. [Descrição Detalhada dos Scripts](#descrição-detalhada-dos-scripts) * [`WAS-Orchestrator.ps1`](#was-orchestratorps1) * [`Metrics-Exporter.ps1`](#metrics-exporterps1) * [`Metrics-Exporter-Service.ps1`](#metrics-exporter-serviceps1) * [`Metrics-Exporter-Wrapper.ps1`](#metrics-exporter-wrapperps1) * [`DR-Plan.ps1`](#dr-planps1) * [`Sign-All.ps1`](#sign-allps1) * [`Validate-Install.ps1`](#validate-installps1) * [`Load-Config.ps1`](#load-configps1) * [`Orchestrator-API.ps1`](#orchestrator-apips1) * [`Cert-Watch.ps1`](#cert-watchps1) 4. [Exemplos de Uso](#exemplos-de-uso) * [Executando o Menu Principal](#executando-o-menu-principal) * [Instalando o Metrics Exporter como Serviço](#instalando-o-metrics-exporter-como-serviço) * [Executando um Plano de DR](#executando-um-plano-de-dr) * [Validando a Integridade do Kit](#validando-a-integridade-do-kit) * [Gerando Inventário de Certificados](#gerando-inventário-de-certificados) 5. [Conclusão](#conclusão)
## Finalidade
O WAS Orchestrator Kit v5.1 é um conjunto de scripts PowerShell projetado para simplificar e automatizar a manutenção, monitoramento e gerenciamento de ambientes que utilizam o Microsoft Internet Information Services (IIS) e o Windows Activation Service (WAS). Em ambientes de produção, a estabilidade e a segurança desses serviços são cruciais. Este kit visa fornecer aos administradores de sistema e engenheiros de DevOps um conjunto de ferramentas robustas para garantir a operação contínua, a conformidade de segurança e a capacidade de resposta a incidentes, tudo isso através de uma interface de linha de comando ou via API. Ele consolida diversas tarefas rotineiras e complexas em scripts fáceis de usar, reduzindo a chance de erros manuais e otimizando o tempo de gerenciamento. A capacidade de exportar métricas, validar a integridade da instalação e gerenciar certificados são exemplos de como o kit aborda as necessidades críticas de um ambiente de servidor moderno. Além disso, a inclusão de um plano de recuperação de desastres (DR-Plan) e funcionalidades de endurecimento (hardening) demonstra uma abordagem proativa para a resiliência e segurança do sistema. O kit é uma solução abrangente para o gerenciamento eficiente e seguro de infraestruturas baseadas em IIS e WAS, permitindo que as equipes se concentrem em tarefas de maior valor agregado, enquanto as operações de rotina são automatizadas e monitoradas de forma eficaz.
## Visão Geral do Kit
O WAS Orchestrator Kit v5.1 é estruturado de forma modular para facilitar o gerenciamento e a extensão. Ele agrupa scripts, configurações e documentação em diretórios lógicos, permitindo que os administradores naveguem e utilizem as ferramentas de forma eficiente. A arquitetura do kit reflete uma abordagem prática para o gerenciamento de sistemas, onde diferentes aspectos da manutenção e monitoramento são tratados por componentes especializados, mas interconectados. Essa modularidade não apenas melhora a organização, mas também permite que cada script seja focado em uma tarefa específica, tornando o kit mais robusto e fácil de depurar. A inclusão de arquivos de configuração externos, como YAML, demonstra uma preocupação com a flexibilidade e a capacidade de adaptação a diferentes ambientes sem a necessidade de modificar o código-fonte dos scripts. Além disso, a presença de um catálogo de integridade e scripts de assinatura de código ressalta a importância da segurança e da confiança na execução desses utilitários em ambientes de produção. A seguir, detalhamos a estrutura de arquivos e os componentes principais que compõem este kit.
### Estrutura de Arquivos
O kit é organizado em um diretório `Bundle` com as seguintes subpastas:
* **`Bundle/Scripts`**: Este diretório é o coração do kit, contendo todos os scripts PowerShell que realizam as operações de gerenciamento, monitoramento e automação. Cada script é projetado para uma funcionalidade específica, promovendo a modularidade e a reutilização de código. Exemplos incluem scripts para iniciar/parar serviços, exportar métricas, gerenciar certificados e executar planos de recuperação de desastres. * **`Bundle/Config`**: Armazena arquivos de configuração em formato YAML, como `orchestrator.yaml`. Esses arquivos são utilizados pelos scripts para carregar parâmetros e configurações específicas do ambiente, permitindo uma personalização fácil sem a necessidade de alterar o código dos scripts. Isso é particularmente útil para adaptar o kit a diferentes cenários de implantação. * **`Bundle/Profiles`**: Contém perfis e definições para funcionalidades específicas, como o `DR-Plan.yaml`, que descreve os passos e recursos envolvidos em um plano de recuperação de desastres. A separação dos perfis de configuração dos scripts principais permite que os administradores definam e gerenciem diferentes estratégias de DR de forma independente. * **`Bundle/Docs`**: Inclui a documentação básica do kit, como o `README-v5.1.txt`. Embora este manual forneça uma visão mais aprofundada, o README original oferece um ponto de partida rápido para entender o propósito e as funcionalidades básicas do kit. * **`Bundle/Catalog`**: Contém o arquivo `WAS-CATALOG-SHA256.txt`, que é um catálogo de hashes SHA256 de todos os arquivos do kit. Este arquivo é crucial para a funcionalidade de validação de integridade, garantindo que os scripts e outros componentes não foram adulterados ou corrompidos.
### Componentes Principais
Os principais componentes do kit são os scripts PowerShell, cada um com uma função específica:
* **`WAS-Orchestrator.ps1`**: O script principal que atua como um menu interativo, centralizando o acesso a diversas funcionalidades do kit. * **`Metrics-Exporter.ps1`**: Exporta métricas de desempenho e status do IIS/WAS/TLS no formato Prometheus, facilitando a integração com sistemas de monitoramento. * **`Metrics-Exporter-Service.ps1`**: Gerencia a instalação e o ciclo de vida do `Metrics-Exporter.ps1` como um serviço Windows, garantindo sua execução contínua. * **`Metrics-Exporter-Wrapper.ps1`**: Um script que monitora e reinicia o `Metrics-Exporter.ps1` caso ele pare, assegurando a disponibilidade da exportação de métricas. * **`DR-Plan.ps1`**: Executa planos de recuperação de desastres definidos em arquivos YAML, automatizando a resposta a falhas. * **`Sign-All.ps1`**: Assina digitalmente todos os scripts PowerShell do kit, aumentando a segurança e a conformidade em ambientes restritivos. * **`Validate-Install.ps1`**: Verifica a integridade dos arquivos do kit usando hashes SHA256, detectando qualquer alteração ou corrupção. * **`Load-Config.ps1`**: Um utilitário para carregar configurações de arquivos YAML, usado por outros scripts para obter parâmetros de execução. * **`Orchestrator-API.ps1`**: Expõe uma API HTTP local para permitir a interação programática com as funcionalidades do Orchestrator, facilitando a automação e integração. * **`Cert-Watch.ps1`**: Gera um inventário de certificados SSL/TLS instalados, monitorando suas datas de expiração e alertando sobre certificados próximos ao vencimento.
## Descrição Detalhada dos Scripts
Esta seção oferece uma análise aprofundada de cada script PowerShell incluído no WAS Orchestrator Kit v5.1, detalhando suas funcionalidades, parâmetros e o papel que desempenham no ecossistema de gerenciamento de IIS e WAS. Compreender o propósito e a operação de cada script é fundamental para utilizar o kit de forma eficaz e para solucionar problemas que possam surgir. Cada script foi projetado com um objetivo específico em mente, contribuindo para a completude e a versatilidade do kit. A interconexão entre alguns desses scripts, como o `WAS-Orchestrator.ps1` que invoca outros scripts, demonstra uma arquitetura bem pensada para centralizar o controle e a execução de tarefas. Além disso, a inclusão de mecanismos de logging e tratamento de erros em muitos dos scripts reflete uma preocupação com a robustez e a capacidade de auditoria das operações realizadas. A seguir, exploraremos cada script individualmente, fornecendo informações essenciais para sua compreensão e uso.
### `WAS-Orchestrator.ps1`
O `WAS-Orchestrator.ps1` é o ponto de entrada principal para a maioria das operações manuais do kit. Ele apresenta um menu interativo que permite ao usuário selecionar diversas ações relacionadas ao gerenciamento do IIS e WAS. Este script é ideal para administradores que preferem uma interface baseada em menu para executar tarefas comuns ou para explorar as capacidades do kit. Ele encapsula a lógica de chamada para outros scripts e funções, tornando a experiência do usuário mais coesa e simplificada. A estrutura do menu é intuitiva, guiando o usuário através das opções disponíveis e fornecendo feedback sobre o sucesso ou falha das operações. A capacidade de iniciar e parar serviços, aplicar configurações de segurança e executar diagnósticos a partir de um único ponto centralizado é um dos grandes benefícios deste script.
**Funcionalidades Principais:**
* **Iniciar/Parar IIS**: Controla o serviço `W3SVC` (World Wide Web Publishing Service). * **Iniciar/Parar WAS**: Controla os serviços `WD*AWP` (Windows Process Activation Service). * **Safe Test Mode**: Um recurso para abrir portas de firewall específicas (4900, 4901, 4902, 4910, 4920) e desativar o firewall temporariamente para facilitar testes. Inclui uma opção para reverter essas configurações. * **Hardening Max**: Aplica configurações de segurança a um pool de aplicativos IIS (`WebdevAppPool`), garantindo que ele esteja sempre ativo (`AlwaysRunning`), sem tempo limite de inatividade (`idleTimeout`) ou reinícios periódicos (`recycling.periodicRestart.time`). * **Diagnósticos**: Realiza verificações de status para o IIS e WAS, e lista o estado de todos os sites configurados no IIS. * **Executar DR-Plan**: Invoca o script `DR-Plan.ps1` para iniciar um plano de recuperação de desastres. * **Validação de Integridade**: Invoca o script `Validate-Install.ps1` para verificar se os arquivos do kit foram alterados. * **Status do Exporter**: Verifica o status do serviço `WASExporter`, que é gerenciado pelo `Metrics-Exporter-Service.ps1`.
**Exemplo de Uso (interativo):**
```powershell .\WAS-Orchestrator.ps1 ```
Ao executar, um menu será exibido, e o usuário poderá digitar o número da opção desejada.
### `Metrics-Exporter.ps1`
O `Metrics-Exporter.ps1` é um componente vital para o monitoramento de ambientes IIS/WAS, projetado para expor métricas no formato compatível com Prometheus. Ele opera como um servidor HTTP leve, ouvindo em uma porta específica (padrão: 4900) e respondendo a requisições `/metrics` com dados de telemetria. A capacidade de integrar essas métricas com sistemas de monitoramento modernos, como Prometheus e Grafana, permite a criação de dashboards detalhados e alertas proativos sobre a saúde e o desempenho dos serviços. Este script coleta informações cruciais sobre o estado dos serviços, a configuração de sites e a segurança de protocolos TLS, fornecendo uma visão abrangente do ambiente.
**Métricas Exportadas:**
* **`was_iis_status`**: Status do serviço IIS (1 para ativo, 0 para parado). * **`was_service_status{name="<nome_do_serviço_WAS>"}`**: Status de cada serviço WAS individualmente. * **`was_sites_total`**: Número total de sites IIS configurados. * **`was_site_status{name="<nome_do_site>"}`**: Status de cada site IIS (1 para iniciado, 0 para parado). * **`was_https_bindings_total`**: Número total de bindings HTTPS configurados. * **`was_tls10_enabled`, `was_tls11_enabled`, `was_tls12_enabled`, `was_tls13_enabled`**: Indica se as versões específicas do TLS estão habilitadas no servidor (1 para habilitado, 0 para desabilitado), lendo diretamente do registro do Windows.
**Endpoint Padrão:** `http://localhost:4900/metrics`
**Exemplo de Uso (execução direta):**
```powershell .\Metrics-Exporter.ps1 ```
Este script geralmente é executado como um serviço em segundo plano, gerenciado pelo `Metrics-Exporter-Service.ps1` ou monitorado pelo `Metrics-Exporter-Wrapper.ps1`.
### `Metrics-Exporter-Service.ps1`
Para garantir a execução contínua e confiável do `Metrics-Exporter.ps1`, o `Metrics-Exporter-Service.ps1` oferece funcionalidades para instalar, gerenciar e remover o exportador como um serviço Windows. Ele utiliza o NSSM (Non-Sucking Service Manager), uma ferramenta de terceiros, para transformar o script PowerShell em um serviço persistente. Isso é fundamental para ambientes de produção, onde a disponibilidade do exportador de métricas é crítica para o monitoramento ininterrupto. O script simplifica o processo de configuração do serviço, abstraindo a complexidade da interação direta com o NSSM.
**Ações Suportadas:**
* **`Install`**: Instala o `Metrics-Exporter.ps1` como um serviço Windows (`WASExporter`) e o inicia. Requer que o NSSM esteja disponível no caminho `C:\nssm\nssm.exe`. * **`Uninstall`**: Para e remove o serviço `WASExporter`. * **`Start`**: Inicia o serviço `WASExporter`. * **`Stop`**: Para o serviço `WASExporter`. * **`Restart`**: Reinicia o serviço `WASExporter`. * **`Status`**: Exibe o status atual do serviço `WASExporter`.
**Parâmetros:**
* `-Action <Install|Uninstall|Start|Stop|Restart|Status>`: Ação a ser executada no serviço.
**Exemplo de Uso (instalar o serviço):**
```powershell .\Metrics-Exporter-Service.ps1 -Action Install ```
### `Metrics-Exporter-Wrapper.ps1`
O `Metrics-Exporter-Wrapper.ps1` atua como um guardião para o `Metrics-Exporter.ps1`. Em cenários onde o exportador de métricas não é executado como um serviço Windows (ou mesmo como uma camada adicional de resiliência), este wrapper garante que o `Metrics-Exporter.ps1` esteja sempre em execução. Ele monitora ativamente o processo do exportador e, caso detecte que ele parou, tenta reiniciá-lo automaticamente. Isso é particularmente útil para manter a continuidade da coleta de métricas sem intervenção manual, aumentando a robustez do sistema de monitoramento. Todas as ações do wrapper são logadas em um arquivo `Metrics-Exporter-Wrapper.log` para auditoria e depuração.
**Funcionalidade:**
* Monitora o processo do `Metrics-Exporter.ps1`. * Reinicia o `Metrics-Exporter.ps1` automaticamente se ele não estiver em execução. * Registra todas as ações e eventos em um arquivo de log.
**Exemplo de Uso:**
```powershell .\Metrics-Exporter-Wrapper.ps1 ```
Este script é projetado para ser executado continuamente em segundo plano.
### `DR-Plan.ps1`
O `DR-Plan.ps1` é um script crucial para a resiliência do ambiente, permitindo a execução automatizada de um plano de recuperação de desastres. Ele lê as instruções de um arquivo YAML (`DR-Plan.yaml`) e executa ações predefinidas, como iniciar sites críticos e parar outros sites não essenciais, além de reiniciar pools de aplicativos em uma ordem específica. A automação do DR-Plan reduz significativamente o tempo de recuperação (RTO) e minimiza o impacto de falhas, garantindo que os serviços mais importantes sejam restaurados rapidamente. A dependência de um arquivo YAML externo para a configuração do plano oferece flexibilidade, permitindo que diferentes planos de DR sejam definidos e executados conforme a necessidade.
**Funcionalidades:**
* Lê o plano de DR de um arquivo YAML (padrão: `..\Profiles\DR-Plan.yaml`). * Inicia um site IIS crítico especificado no plano. * Opcionalmente, para todos os outros sites IIS que não são o site crítico. * Reinicia pools de aplicativos em uma ordem definida no arquivo YAML. * Registra todas as ações em um arquivo `DR-Plan.log`.
**Parâmetros:**
* `-PlanFile <caminho_para_yaml>`: Caminho opcional para o arquivo YAML do plano de DR.
**Pré-requisitos:**
* PowerShell 7+ é recomendado para a função `ConvertFrom-Yaml`. O script inclui um fallback básico, mas a funcionalidade completa pode exigir a versão mais recente do PowerShell.
**Exemplo de Uso:**
```powershell .\DR-Plan.ps1 ```
Ou com um arquivo de plano específico:
```powershell .\DR-Plan.ps1 -PlanFile "C:\MyDRPlans\MyCriticalDR.yaml" ```
### `Sign-All.ps1`
Em ambientes corporativos com políticas de segurança rigorosas, a execução de scripts PowerShell não assinados pode ser bloqueada. O `Sign-All.ps1` resolve esse problema, permitindo que todos os scripts do kit sejam assinados digitalmente usando um certificado Authenticode. Isso garante a autenticidade e a integridade dos scripts, permitindo sua execução em sistemas com políticas de execução restritivas (por exemplo, `AllSigned` ou `RemoteSigned`). A assinatura de código é uma prática de segurança essencial que ajuda a proteger contra a execução de scripts maliciosos ou adulterados, fornecendo uma camada de confiança para os administradores.
**Funcionalidades:**
* Localiza todos os arquivos `.ps1` dentro do `BundlePath` (padrão: `C:\WAS\Bundle`). * Assina os scripts com um certificado Authenticode especificado. * Permite a inclusão de um servidor de carimbo de data/hora (timestamp server) para garantir a validade da assinatura mesmo após a expiração do certificado. * Pode forçar a re-assinatura de scripts já assinados. * Registra o processo de assinatura em um arquivo de log.
**Parâmetros:**
* `-BundlePath <caminho>`: Caminho para o diretório raiz do kit (padrão: `C:\WAS\Bundle`). * `-StoreLocation <CurrentUser|LocalMachine>`: Localização do armazenamento de certificados (padrão: `LocalMachine`). * `-StoreName <nome_do_store>`: Nome do armazenamento de certificados (padrão: `My`). * `-Thumbprint <thumbprint_do_certificado>`: O thumbprint do certificado de assinatura de código a ser usado. Se não for fornecido, o script tentará selecionar o certificado mais recente de "Code Signing". * `-TimestampServer <url_do_servidor>`: URL de um servidor de carimbo de data/hora. * `-Force`: Força a re-assinatura de scripts já assinados.
**Exemplo de Uso (assinando com um thumbprint específico):**
```powershell .\Sign-All.ps1 -Thumbprint "SEU_THUMBPRINT_DO_CERTIFICADO" -TimestampServer "http://timestamp.digicert.com" ```
### `Validate-Install.ps1`
O `Validate-Install.ps1` é uma ferramenta de auditoria e segurança que verifica a integridade da instalação do WAS Orchestrator Kit. Ele compara os hashes SHA256 de todos os arquivos do kit com um catálogo de hashes pré-calculados (`WAS-CATALOG-SHA256.txt`). Essa validação é crucial para detectar qualquer modificação não autorizada, corrupção de arquivos ou infecção por malware. Em ambientes de alta segurança, a verificação regular da integridade dos arquivos é uma prática recomendada para garantir que as ferramentas de gerenciamento permaneçam confiáveis. O script pode gerar um relatório HTML detalhado, facilitando a visualização e o compartilhamento dos resultados da auditoria.
**Funcionalidades:**
* Calcula o hash SHA256 de cada arquivo do kit. * Compara os hashes calculados com os hashes listados no `WAS-CATALOG-SHA256.txt`. * Identifica arquivos com hashes diferentes (`Mismatch`), arquivos ausentes (`Missing`) e arquivos extras (`Extra`). * Gera um relatório HTML com os resultados da validação, incluindo detalhes sobre quaisquer inconsistências. * Registra todas as ações em um arquivo de log.
**Parâmetros:**
* `-BundlePath <caminho>`: Caminho para o diretório raiz do kit (padrão: `C:\WAS\Bundle`). * `-Catalog <caminho>`: Caminho para o arquivo de catálogo SHA256 (padrão: `C:\WAS\Bundle\Catalog\WAS-CATALOG-SHA256.txt`). * `-Exclude <padrões>`: Padrões de exclusão para arquivos que não devem ser validados (por exemplo, arquivos de log ou o próprio catálogo). * `-HtmlReport <caminho_do_relatório>`: Caminho para salvar o relatório HTML de validação. * `-Quiet`: Suprime a saída para o console, apenas registrando no log.
**Exemplo de Uso (gerando relatório HTML):**
```powershell .\Validate-Install.ps1 -HtmlReport "C:\Reports\IntegrityReport.html" ```
### `Load-Config.ps1`
O `Load-Config.ps1` é um script utilitário interno, projetado para carregar configurações de arquivos YAML. Ele é utilizado por outros scripts do kit, como `DR-Plan.ps1` e `Orchestrator-API.ps1`, para obter parâmetros de configuração de forma estruturada. A utilização de arquivos YAML para configuração externa promove a flexibilidade, permitindo que os administradores ajustem o comportamento dos scripts sem modificar seu código-fonte. O script é inteligente o suficiente para detectar se o PowerShell 7+ está disponível (que inclui o cmdlet `ConvertFrom-Yaml`) e, caso contrário, oferece um fallback básico para parsing de YAML, garantindo compatibilidade com versões mais antigas do PowerShell, embora com suporte limitado a estruturas YAML complexas.
**Funcionalidades:**
* Lê e faz o parse de arquivos de configuração YAML. * Suporta `ConvertFrom-Yaml` no PowerShell 7+. * Inclui um fallback básico para parsing de YAML em versões anteriores do PowerShell.
**Parâmetros:**
* `-ConfigPath <caminho_para_yaml>`: Caminho para o arquivo de configuração YAML (padrão: `..\Config\orchestrator.yaml`).
**Exemplo de Uso (interno, geralmente chamado por outros scripts):**
```powershell $config = .\Load-Config.ps1 -ConfigPath "..\Config\orchestrator.yaml" ```
### `Orchestrator-API.ps1`
O `Orchestrator-API.ps1` estende as capacidades do kit, expondo uma API HTTP local que permite a interação programática com as funcionalidades do Orchestrator. Isso é particularmente útil para integração com sistemas de automação externos, ferramentas de orquestração ou scripts personalizados que precisam acionar ações no ambiente IIS/WAS sem a necessidade de interação manual com o menu do `WAS-Orchestrator.ps1`. A API oferece endpoints para verificar o status dos serviços, iniciar/parar componentes e executar planos de DR ou auditorias, transformando o kit em um recurso programável.
**Endpoints da API:**
* **`/status`**: Retorna o status atual dos serviços IIS e WAS em formato JSON. * **`/start-iis`**: Inicia o serviço IIS. * **`/stop-iis`**: Para o serviço IIS. * **`/start-was`**: Inicia os serviços WAS. * **`/stop-was`**: Para os serviços WAS. * **`/dr`**: Executa o `DR-Plan.ps1`. * **`/audit`**: Executa o `Validate-Install.ps1`.
**Porta Padrão:** Definida no arquivo `orchestrator.yaml` (ex: 4900).
**Exemplo de Uso (execução direta para iniciar a API):**
```powershell .\Orchestrator-API.ps1 ```
Após a execução, a API estará disponível em `http://localhost:<porta_da_api>/`.
### `Cert-Watch.ps1`
O `Cert-Watch.ps1` é uma ferramenta essencial para a gestão proativa de certificados SSL/TLS. Ele escaneia os armazenamentos de certificados configurados no sistema, coleta informações sobre cada certificado (assunto, thumbprint, datas de validade) e calcula os dias restantes para a expiração. Com base em limites configuráveis (dias para aviso e dias para crítico), o script classifica a severidade de cada certificado e gera um relatório HTML detalhado. Este relatório é inestimável para evitar interrupções de serviço causadas por certificados expirados, permitindo que os administradores renovem os certificados com antecedência. A capacidade de gerar um relatório visualmente amigável torna a auditoria de certificados uma tarefa muito mais simples e eficiente.
**Funcionalidades:**
* Escaneia armazenamentos de certificados (configuráveis via `orchestrator.yaml`). * Coleta detalhes de certificados, incluindo datas de validade. * Calcula os dias restantes para a expiração. * Classifica a severidade (OK, Aviso, Crítico) com base em limites configuráveis. * Gera um relatório HTML com o inventário de certificados, incluindo formatação visual para severidade.
**Parâmetros:**
* `-ConfigPath <caminho_para_yaml>`: Caminho opcional para o arquivo de configuração YAML (padrão: `..\Config\orchestrator.yaml`).
**Configuração (via `orchestrator.yaml`):**
```yaml certwatch: warn_days: 30 crit_days: 7 html_report: "C:\Reports\CertInventory.html" stores: - location: LocalMachine name: My - location: CurrentUser name: My ```
**Exemplo de Uso:**
```powershell .\Cert-Watch.ps1 ```
Este script gerará um arquivo HTML no caminho especificado na configuração, que pode ser aberto em um navegador para visualização.
## Exemplos de Uso
Esta seção fornece exemplos práticos de como utilizar os scripts do WAS Orchestrator Kit v5.1. Os exemplos são projetados para ilustrar as operações mais comuns e demonstrar a flexibilidade e o poder do kit na automação de tarefas de gerenciamento e monitoramento de IIS/WAS. É importante notar que, para a execução de muitos desses scripts, é necessário ter privilégios de administrador no sistema Windows onde o IIS e o WAS estão instalados. Além disso, a política de execução do PowerShell pode precisar ser ajustada (por exemplo, para `RemoteSigned` ou `Bypass`) para permitir a execução de scripts baixados da internet. Recomenda-se sempre revisar o código dos scripts antes da execução em um ambiente de produção. Os exemplos a seguir cobrem desde a interação com o menu principal até a instalação de serviços e a geração de relatórios, fornecendo um guia passo a passo para as funcionalidades chave do kit.
### Executando o Menu Principal
O script `WAS-Orchestrator.ps1` oferece uma interface de menu interativa para acessar rapidamente as principais funcionalidades do kit. É a maneira mais simples de começar a usar o kit para tarefas manuais.
1. **Abra o PowerShell como Administrador.** 2. **Navegue até o diretório `Bundle/Scripts`** onde o kit foi extraído:
```powershell cd C:\caminho\para\WAS_Orchestrator_Kit_v5.1_FULL\Bundle\Scripts ```
3. **Execute o script principal:**
```powershell .\WAS-Orchestrator.ps1 ```
4. Um menu será exibido, permitindo que você escolha entre opções como iniciar/parar serviços, executar diagnósticos ou ativar o modo de teste seguro. Digite o número correspondente à opção desejada e pressione Enter.
``` === WAS Orchestrator v5.1 === 1. Iniciar IIS 2. Parar IIS 3. Iniciar WAS 4. Parar WAS 5. Safe Test Mode 6. Hardening Max 7. Diagnósticos 8. Executar DR-Plan 9. Validação de Integridade 10. Status do Exporter 0. Sair Escolha: _ ```
### Instalando o Metrics Exporter como Serviço
Para garantir que as métricas do IIS/WAS sejam exportadas continuamente, é recomendável instalar o `Metrics-Exporter.ps1` como um serviço Windows usando o `Metrics-Exporter-Service.ps1`. Este processo requer o NSSM (Non-Sucking Service Manager).
1. **Certifique-se de que o NSSM esteja disponível.** Por padrão, o script espera que o `nssm.exe` esteja em `C:\nssm\nssm.exe`. Se não estiver, você precisará baixá-lo e colocá-lo nesse local ou modificar o script `Metrics-Exporter-Service.ps1` para apontar para o caminho correto. 2. **Abra o PowerShell como Administrador.** 3. **Navegue até o diretório `Bundle/Scripts`**:
```powershell cd C:\caminho\para\WAS_Orchestrator_Kit_v5.1_FULL\Bundle\Scripts ```
4. **Instale o serviço:**
```powershell .\Metrics-Exporter-Service.ps1 -Action Install ```
5. Após a instalação, o serviço `WAS Metrics Exporter Service` será iniciado automaticamente. Você pode verificar seu status através do Gerenciador de Serviços do Windows ou usando o próprio script:
```powershell .\Metrics-Exporter-Service.ps1 -Action Status ```
6. Para desinstalar o serviço, use:
```powershell .\Metrics-Exporter-Service.ps1 -Action Uninstall ```
### Executando um Plano de DR
O `DR-Plan.ps1` permite automatizar a execução de um plano de recuperação de desastres definido em um arquivo YAML. Este exemplo assume que você tem um `DR-Plan.yaml` configurado no diretório `Bundle/Profiles`.
1. **Abra o PowerShell como Administrador.** 2. **Navegue até o diretório `Bundle/Scripts`**:
```powershell cd C:\caminho\para\WAS_Orchestrator_Kit_v5.1_FULL\Bundle\Scripts ```
3. **Execute o script `DR-Plan.ps1`:**
```powershell .\DR-Plan.ps1 ```
O script lerá o `DR-Plan.yaml` padrão e executará as ações definidas (iniciar site crítico, parar outros sites, reiniciar pools de aplicativos).
4. Você pode especificar um arquivo de plano diferente, se necessário:
```powershell .\DR-Plan.ps1 -PlanFile "C:\MyCustomPlans\EmergencyDR.yaml" ```
### Validando a Integridade do Kit
Para garantir que os arquivos do kit não foram adulterados, o `Validate-Install.ps1` pode ser usado para verificar sua integridade. Ele pode gerar um relatório HTML para fácil visualização.
1. **Abra o PowerShell como Administrador.** 2. **Navegue até o diretório `Bundle/Scripts`**:
```powershell cd C:\caminho\para\WAS_Orchestrator_Kit_v5.1_FULL\Bundle\Scripts ```
3. **Execute o script `Validate-Install.ps1` para gerar um relatório HTML:**
```powershell .\Validate-Install.ps1 -HtmlReport "C:\Reports\IntegrityReport_$(Get-Date -Format 'yyyyMMdd_HHmmss').html" ```
4. Um arquivo HTML será gerado no caminho especificado (neste caso, `C:\Reports\`). Abra este arquivo em um navegador para visualizar o relatório de integridade, que detalhará quaisquer arquivos ausentes, extras ou com hashes inconsistentes.
### Gerando Inventário de Certificados
O `Cert-Watch.ps1` é útil para monitorar a validade dos certificados SSL/TLS instalados no sistema, gerando um relatório HTML que destaca certificados próximos da expiração.
1. **Abra o PowerShell como Administrador.** 2. **Navegue até o diretório `Bundle/Scripts`**:
```powershell cd C:\caminho\para\WAS_Orchestrator_Kit_v5.1_FULL\Bundle\Scripts ```
3. **Execute o script `Cert-Watch.ps1`:**
```powershell .\Cert-Watch.ps1 ```
4. O script gerará um arquivo HTML (caminho configurado em `orchestrator.yaml`, por padrão `C:\Reports\CertInventory.html`) com uma tabela listando todos os certificados encontrados, suas datas de validade e a severidade (OK, Aviso, Crítico) com base nos dias restantes para expiração. Abra este arquivo em um navegador para revisar o inventário.
## Conclusão
O WAS Orchestrator Kit v5.1 representa uma solução abrangente e bem estruturada para o gerenciamento e monitoramento de ambientes IIS e WAS. Através de uma coleção de scripts PowerShell modulares, o kit aborda uma vasta gama de necessidades operacionais, desde o controle básico de serviços até funcionalidades avançadas como exportação de métricas para sistemas de monitoramento, automação de planos de recuperação de desastres, validação de integridade de arquivos e gerenciamento proativo de certificados SSL/TLS. A análise estática dos scripts revelou uma arquitetura robusta, com clara separação de responsabilidades e a inclusão de boas práticas de segurança, como a assinatura de código e a verificação de integridade. A disponibilidade de uma API HTTP local expande ainda mais as possibilidades de automação e integração com outras ferramentas de orquestração, tornando o kit uma peça valiosa em qualquer pipeline de DevOps ou estratégia de gerenciamento de infraestrutura. Embora a dependência de ferramentas externas como NSSM e a preferência por PowerShell 7+ para certas funcionalidades sejam pontos a serem considerados, o kit oferece soluções eficazes para mitigar esses aspectos, como o fallback básico para parsing de YAML. Em suma, o WAS Orchestrator Kit v5.1 é uma ferramenta poderosa que capacita administradores e engenheiros a manterem seus ambientes IIS/WAS seguros, eficientes e resilientes, minimizando a intervenção manual e otimizando a resposta a eventos críticos. Sua completude e a profundidade de suas funcionalidades o tornam um recurso indispensável para qualquer equipe que gerencie esses serviços em escala.
Download
https://repository.windev.com/resource.awp…
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 24 septembre 2025 - 14:10 |
Boa! Agora ficou claro o que você está procurando:
No Microsoft IIS (Internet Information Services), o recurso Mapeamentos de Manipulador (Handler Mappings) é fundamental para dizer ao servidor como ele deve processar cada tipo de requisição que chega.
⸻
📌 O que são os Mapeamentos de Manipulador
Eles definem qual módulo do IIS (ou programa externo) será responsável por tratar requisições com base em: • Extensão de arquivo (ex: .aspx, .php, .jpg, .css) • Caminho da URL (ex: /api/*, /site/admin/*) • Verbo HTTP (GET, POST, PUT, DELETE etc.)
Em outras palavras: o IIS recebe uma requisição → consulta os Handler Mappings → envia a requisição para o módulo ou programa correto.
⸻
📂 Exemplos de uso comum 1. ASP.NET • Arquivos .aspx → processados pelo manipulador PageHandlerFactory-Integrated. • Arquivos .ashx (handlers customizados) → processados por SimpleHandlerFactory-Integrated. 2. Arquivos estáticos • .html, .css, .js, .jpg → manipulados pelo módulo StaticFile. 3. Linguagens adicionais • Se você instalar suporte a PHP no IIS, ele cria um handler para .php, apontando para php-cgi.exe. • Para Python (via FastCGI), um handler pode mapear .py para o interpretador.
⸻
⚙️ Onde configurar
No IIS Manager: 1. Selecione seu site. 2. Abra a opção Mapeamentos de Manipulador (Handler Mappings). 3. Ali você pode: • Adicionar Script Map → aponta uma extensão para um executável (ex: .php → php-cgi.exe). • Adicionar Module Mapping → vincula uma extensão a um módulo do IIS. • Editar permissões de acesso (ex: GET, POST, HEAD).
⸻
🔎 Exemplo no web.config
<configuration> <system.webServer> <handlers> <!-- Mapeamento para ASPX --> <add name="ASP.NET-PageHandler" path="*.aspx" verb="*" type="System.Web.UI.PageHandlerFactory" resourceType="Unspecified" requireAccess="Script" />
<!-- Mapeamento para API customizada --> <add name="APIHandler" path="api/*.svc" verb="*" type="Namespace.APIHandler, MyApp" resourceType="Unspecified" requireAccess="Script" /> </handlers> </system.webServer> </configuration>
⸻
✅ Resumindo
Os Mapeamentos de Manipulador no IIS: • Definem quem processa cada tipo de requisição. • São essenciais para rodar ASP.NET, PHP, Python, ou qualquer aplicação dinâmica. • Podem ser configurados via IIS Manager ou diretamente no web.config.
⸻
Boa! Para sites WEBDEV no IIS, o que muda nos Mapeamentos de Manipulador depende do modo:
⸻
1) Site AWP (Active WebDev Pages)
Precisa mapear a extensão .awp para o executável do motor AWP da versão instalada.
Passos (IIS 7+ / 8 / 10): 1. Em ISAPI and CGI Restrictions, Permitir os executáveis do AWP da sua versão (ex.: WD300AWP.EXE e WD300INSTAWP.EXE).  2. Em Handler Mappings do site, Add Script Map: • Request path: *.awp • Executable: caminho completo do WDxxxAWP.EXE (ex.: …\Programs\ENGINE\WINDOWS\AWP\WD300AWP.EXE) — evite caminhos com espaço; se houver, coloque entre aspas.  3. Em Edit Feature Permissions para esse handler, marque Read, Script e Execute.  4. Em Request Restrictions do handler .awp, deixe as restrições de mapeamento desmarcadas (não exigir arquivo físico). Isso é recomendado pela doc de URL Rewriting para AWP/IIS. 
Resultado: qualquer URL terminando em .awp será processada pelo motor AWP do WEBDEV no IIS.
⸻
2) Site Session (dinâmico em modo sessão)
Em geral não cria mapeamento específico de extensão: o site roda pelo WEBDEV Application Server integrado ao IIS no “servidor virtual” correspondente. O essencial é habilitar o Application Server para o site/virtual server no Administrador do WEBDEV. 
Checklist para Session mode: • No WEBDEV Administrator > Advanced > Server > Virtual servers, marque o(s) site(s) IIS onde o Application Server deve atuar.  • Os mapeamentos padrão do IIS (arquivos estáticos, etc.) permanecem; você não precisa de um handler tipo *.awp (isso é só para AWP/CGI). As demais configurações de handler do IIS seguem a documentação do próprio IIS (<system.webServer><handlers>…) se você tiver necessidades especiais. 
⸻
Dicas rápidas • Versão correta: use o executável WDxxxAWP.EXE que corresponda à sua versão (ex.: 26 = WD260AWP.EXE, 30 = WD300AWP.EXE).  • Sem “arquivo deve existir”: para .awp, não exija arquivo físico; muitas rotas AWP são virtuais.  • HTTPS/ARR/Rewrite: se usar proxy/Reescrita de URL, mantenha o handler .awp ativo e as regras de rewrite respeitando a extensão. 
Perfeito, Adriano! Segue o passo-a-passo objetivo para IIS 10 com sites WEBDEV nos dois modos — AWP e Session — focando em Mapeamentos de Manipulador (Handler Mappings) e itens que costumam “pegar”.
⸻
A) Site WEBDEV em AWP (Active WebDev Pages)
1) Permitir os executáveis AWP no IIS • No IIS Manager → ISAPI and CGI Restrictions → Allow para o motor da sua versão (ex.: WD300AWP.EXE). 
2) Criar o handler para .awp • No site → Handler Mappings → Add Script Map… • Request path: *.awp • Executable: caminho completo do motor AWP (ex.: C:\...\WEBDEV\Programs\Engine\Windows\AWP\WD300AWP.EXE) • Name: algo como WEBDEV-AWP • Em Edit Feature Permissions… marque Read, Script e Execute. 
3) Não exigir arquivo físico (crítico) • No handler *.awp → Edit… → Request Restrictions… • DESMARQUE “File or folder”/“Check that file exists”. (URLs AWP podem ser virtuais; se exigir arquivo, o rewrite não funciona). 
4) (Opcional) Alias e imagens • Em alguns guias, cria-se um Virtual Directory WD300AWP apontando para Programs\AWP (perfis de compatibilidade). Conceda Read e Execute. 
5) Diagnóstico • No WEBDEV Administrator (Servidor) use o Diagnostic do virtual server para validar: • “.awp associado ao motor da versão” e “Check existence of file = NO”. 
Exemplo mínimo de web.config (mantendo controle pelo IIS)
<configuration> <system.webServer> <handlers> <!-- Handler para AWP --> <add name="WEBDEV-AWP" path="*.awp" verb="*" modules="IsapiModule" scriptProcessor="C:\PC SOFT\WEBDEV 30\Programs\Engine\Windows\AWP\WD300AWP.EXE" resourceType="Unspecified" /> </handlers>
<!-- Ex.: se usar URL Rewrite no IIS --> <rewrite> <rules> <rule name="AWP nice URLs" stopProcessing="true"> <match url="^app/(.*)$" /> <action type="Rewrite" url="/index.awp?route={R:1}" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
(Conceito <handlers> e criação de handlers no IIS: docs oficiais do IIS. )
⸻
Site WEBDEV em Session (dinâmico “puro”)
No modo Session, você não cria um handler específico para uma extensão como .awp. O processamento dinâmico vem do WEBDEV Application Server acoplado ao seu site IIS (virtual server). O que você precisa é habilitar o Application Server no(s) virtual server(s). 
Passos 1. Abra o WEBDEV Administrator (no servidor). 2. Advanced → Server… → Virtual servers… → marque o(s) site(s)/binding(s) do IIS que devem rodar sites WEBDEV. 3. Salve e rode o diagnóstico para confirmar. 
Os handlers padrão do IIS (arquivos estáticos etc.) continuam; você só adiciona handlers extras se tiver necessidades específicas (ex.: FastCGI de PHP junto, um endpoint próprio, WebDAV, etc.). 
⸻
Dicas de campo (que evitam dor de cabeça) • Versão certa do motor: se estiver em WEBDEV 26/28/30/2025, use o WDxxxAWP.EXE correspondente (ex.: 30 → WD300AWP.EXE).  • Rewrite no IIS: para rotas bonitas, use o URL Rewrite Module; ele convive bem com AWP e ASP.NET, desde que o handler .awp não exija arquivo físico.  • Diagnóstico da PC SOFT: ele aponta exatamente o que está faltando (associação .awp, permissões, alias, etc.). 
⸻
Show, Adriano! Segue o checklist imprimível + um modelo de web.config para você usar como guia no IIS com WEBDEV.
⸻
📑 Checklist – IIS + WEBDEV (Session e AWP)
🔹 Pré-requisitos • IIS instalado com ISAPI Extensions e ISAPI Filters habilitados. • WEBDEV Application Server instalado (mesma versão do WEBDEV do projeto). • Permissões de execução concedidas ao IIS (Read, Script, Execute).
⸻
🟢 Para sites AWP 1. Permitir ISAPI executável • IIS Manager → ISAPI and CGI Restrictions → Allow para WDxxxAWP.EXE. • (xxx = versão, ex.: WD300AWP.EXE para WEBDEV 30). 2. Adicionar Handler Map • IIS Manager → Site → Handler Mappings → Add Script Map… • Request path: *.awp • Executable: C:\PC SOFT\WEBDEV 30\Programs\Engine\Windows\AWP\WD300AWP.EXE • Name: WEBDEV-AWP 3. Editar Permissões • No handler WEBDEV-AWP → Edit Feature Permissions… • Marcar: Read, Script, Execute. 4. Remover exigência de arquivo físico • Ainda no handler *.awp → Request Restrictions… • Aba Mapping → desmarcar “File or folder must exist”. 5. (Opcional) Criar Virtual Directory • Alias: WDxxxAWP → aponta para …\Programs\Engine\Windows\AWP • Permissões: Read + Execute. 6. Testar diagnóstico • WEBDEV Administrator → Virtual servers → rodar diagnóstico. • Verificar: “AWP associated” e “File existence check = NO”.
⸻
🟢 Para sites Session 1. Habilitar no Virtual Server • WEBDEV Administrator → Advanced → Server → Virtual servers… • Marcar o site IIS onde seu app roda. 2. Rodar diagnóstico • Verificar: Session mode enabled, Application Server ativo. 3. Handlers padrão do IIS • Não precisa criar handler específico (ex.: .awp). • IIS cuida de arquivos estáticos; o motor do WEBDEV atende as requisições session.
⸻
📂 Modelo de web.config – AWP + Rewrite
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <!-- Handler para páginas AWP --> <handlers> <add name="WEBDEV-AWP" path="*.awp" verb="*" modules="IsapiModule" scriptProcessor="C:\PC SOFT\WEBDEV 30\Programs\Engine\Windows\AWP\WD300AWP.EXE" resourceType="Unspecified" /> </handlers>
<!-- Exemplo de regra de URL Rewrite --> <rewrite> <rules> <rule name="AWP nice URLs" stopProcessing="true"> <match url="^app/(.*)$" /> <action type="Rewrite" url="/index.awp?route={R:1}" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
⸻ Perfeito, Adriano — segue uma tabela “mão-na-massa” com os handlers que você normalmente encontra no IIS 10 (Windows Server 2016+), separados por contexto/feature. No fim, incluí o W.A.S. (WEBDEV Application Server) para AWP.
Observação: a lista exata varia conforme os Role Services instalados (ASP.NET 4.x, CGI/ISAPI, WebDAV, ASP.NET Core, URL Rewrite, etc.). Para extrair o que está ativo no seu servidor: appcmd list config -section:system.webServer/handlers (lê do applicationHost.config). 
Handlers comuns do IIS 10 (por feature)
Contexto / Feature Nome do handler (IIS) Path / Extensão Módulo / Tipo Anotações Núcleo (estático) StaticFile * / extensões conhecidas StaticFileModule Entrega arquivos estáticos; interfere se você espera que outro handler processe default docs sem extensão.  Núcleo (verbo HTTP) OPTIONSVerbHandler * (módulo nativo de protocolo) Trata requisições OPTIONS por padrão.  Núcleo (verbo HTTP) TRACEVerbHandler * (módulo nativo de protocolo) Trata TRACE (muitos desabilitam em produção).  CGI (opcional) CGI-exe *.exe CgiModule Necessário quando hospeda apps via CGI.  ISAPI (opcional) ISAPI-dll *.dll IsapiModule Para extensões ISAPI; às vezes aparece desabilitado até permitir Execute.  WebDAV (opcional) WebDAV * (vários verbos) WebDAVModule Publicação WebDAV; pode bloquear PUT/DELETE em apps — muitos removem no site/app.  ASP.NET 4.x (Integrated) PageHandlerFactory-Integrated *.aspx ManagedPipelineHandler Páginas Web Forms.  ASP.NET 4.x (Integrated) SimpleHandlerFactory-Integrated *.ashx ManagedPipelineHandler HTTP Handlers customizados.  ASP.NET 4.x (Integrated) WebServiceHandlerFactory-Integrated *.asmx ManagedPipelineHandler Web Services ASMX.  ASP.NET 4.x (Integrated) ExtensionlessUrlHandler-Integrated-4.0 URLs sem extensão ManagedPipelineHandler Roteia URLs sem extensão para ASP.NET 4.x.  ASP.NET Core (opcional) aspNetCore * (aplicação) AspNetCoreModuleV2 Handler do ANCM (Hosting Bundle). Se faltando → erro “bad module”.  URL Rewrite (opcional) (regra, não “handler”) — RewriteModule (módulo) Funciona como módulo; as regras ficam em <system.webServer><rewrite>. 
WEBDEV / W.A.S. (PC SOFT) — modo AWP
Contexto / Feature Nome do handler (sugestão) Path / Extensão Módulo / Tipo Anotações WEBDEV AWP WEBDEV-AWP *.awp IsapiModule → WDxxxAWP.EXE Criado via Add Script Map apontando para WD300AWP.EXE (ou sua versão). Desmarque “Check that file exists”. 
Para Session mode (dinâmico “puro” do WEBDEV), normalmente não se cria handler por extensão; o atendimento passa pelo WEBDEV Application Server vinculado ao site/virtual server, e você usa os handlers padrão do IIS para estáticos e o pipeline do W.A.S. para o app. (A documentação da PC SOFT concentra a necessidade de handler no AWP/CGI). 
⸻ Show! Vou seguir com o que faltava: scripts prontos (AppCmd + PowerShell) para auditar, comparar e aplicar um baseline de handlers no IIS 10 — já incluindo o WEBDEV AWP (W.A.S.) — e dicas de hardening. Tudo abaixo é “colar e usar”.
⸻
1) Exportar os handlers atuais (auditoria)
Via AppCmd (XML)
REM Executar em um PowerShell/cmd elevado (Administrador) cd %windir%\system32\inetsrv appcmd list config -section:system.webServer/handlers /config:* > C:\temp\handlers_current.xml
REM Por site específico: appcmd list config "Default Web Site" -section:system.webServer/handlers /config:* > C:\temp\handlers_current_default.xml
Via PowerShell (CSV “resumido”)
$site="Default Web Site" # troque se quiser $xml = & $env:windir\system32\inetsrv\appcmd.exe list config "$site" -section:system.webServer/handlers /config:* [xml]$doc = $xml $items = $doc.configuration.'system.webServer'.handlers.add $items | Select-Object name,path,verb,modules,type,scriptProcessor,resourceType,requireAccess | Export-Csv C:\temp\handlers_current_$($site -replace ' ','_').csv -NoTypeInformation -Encoding UTF8
⸻
2) Baseline seguro (padrões + AWP)
Ajuste caminhos de WEBDEV abaixo (ex.: 30 → WD300AWP.EXE).
2.1 Remover potenciais “intrusos” (opcional, recomendado)
cd %windir%\system32\inetsrv
REM Desabilitar/Remover WebDAV no site (bloqueia PUT/DELETE indevidos) appcmd set config "Default Web Site" -section:handlers /-"[name='WebDAV'']" appcmd delete module WebDAVModule
REM Desabilitar TRACE (segurança) appcmd set config -section:httpProtocol /allowKeepAlive:"True" REM só referência; TRACE é controlado via requestFiltering/trace appcmd set config -section:requestFiltering /allowDoubleEscaping:"False" REM (Se existir TRACEVerbHandler, remova-o do site) appcmd set config "Default Web Site" -section:handlers /-"[name='TRACEVerbHandler']"
2.2 Garantir os básicos (StaticFile, OPTIONS etc.)
REM StaticFile (se foi removido por engano) appcmd set config "Default Web Site" -section:handlers /+"[name='StaticFile',path:'*',verb:'GET,HEAD,POST',modules:'StaticFileModule',resourceType:'Either']"
REM OPTIONS (útil p/ CORS) appcmd set config "Default Web Site" -section:handlers /+"[name='OPTIONSVerbHandler',path:'*',verb:'OPTIONS',modules:'ProtocolSupportModule']"
2.3 Adicionar o handler WEBDEV-AWP
Troque o caminho do scriptProcessor para a sua versão (ex.: WEBDEV 30).
cd %windir%\system32\inetsrv
REM 1) Permitir o executável AWP em ISAPI/CGI Restrictions appcmd set config -section:isapiCgiRestriction /+"[path='C:\PC SOFT\WEBDEV 30\Programs\Engine\Windows\AWP\WD300AWP.EXE',description='WEBDEV AWP 30',allowed='True']"
REM 2) Adicionar o handler *.awp no site (NÃO exigir arquivo físico) appcmd set config "Default Web Site" -section:handlers /+"[name='WEBDEV-AWP',path:'*.awp',verb:'*',modules:'IsapiModule',scriptProcessor:'C:\PC SOFT\WEBDEV 30\Programs\Engine\Windows\AWP\WD300AWP.EXE',resourceType:'Unspecified',requireAccess:'Script']"
Por que resourceType='Unspecified'? Para o IIS não exigir arquivo físico (URLs AWP podem ser virtuais/roteadas). requireAccess='Script' garante permissão de execução.
⸻
3) Versões do WEBDEV (atalhos de caminho) • WEBDEV 26 → C:\PC SOFT\WEBDEV 26\Programs\Engine\Windows\AWP\WD260AWP.EXE • WEBDEV 28 → ...\WD280AWP.EXE • WEBDEV 30 → ...\WD300AWP.EXE • WEBDEV 2025 → ajuste conforme instalação (WD310AWP.EXE, se aplicável)
Se preferir manter um alias (Virtual Directory) como WD300AWP\, crie-o apontando para essa pasta e dê Read+Execute.
⸻
4) Aplicar handlers por application (não no site todo)
Se quiser o handler .awp só para um app/virtual dir dentro do site:
appcmd set config "Default Web Site/MinhaApp" -section:handlers /+"[name='WEBDEV-AWP',path:'*.awp',verb:'*',modules:'IsapiModule',scriptProcessor:'C:\PC SOFT\WEBDEV 30\Programs\Engine\Windows\AWP\WD300AWP.EXE',resourceType:'Unspecified',requireAccess:'Script']"
⸻
5) Comparar e sincronizar (PowerShell “diff” simples)
$site = "Default Web Site" $exportPath = "C:\temp" $appcmd = Join-Path $env:windir "System32\inetsrv\appcmd.exe"
# Exporta atual $xml = & $appcmd list config "$site" -section:system.webServer/handlers /config:* [xml]$doc = $xml $cur = $doc.configuration.'system.webServer'.handlers.add | ForEach-Object { [pscustomobject]@{ name = $_.name; path = $_.path; verb = $_.verb; modules = $_.modules type = $_.type; scriptProcessor = $_.scriptProcessor resourceType = $_.resourceType; requireAccess = $_.requireAccess } }
# Define itens mínimos do baseline (ajuste conforme seu padrão) $baseline = @( @{name='StaticFile'; path='*'; verb='GET,HEAD,POST'; modules='StaticFileModule'; resourceType='Either'; requireAccess=$null; type=$null; scriptProcessor=$null}, @{name='OPTIONSVerbHandler'; path='*'; verb='OPTIONS'; modules='ProtocolSupportModule'; resourceType=$null; requireAccess=$null; type=$null; scriptProcessor=$null}, @{name='WEBDEV-AWP'; path='*.awp'; verb='*'; modules='IsapiModule'; scriptProcessor='C:\PC SOFT\WEBDEV 30\Programs\Engine\Windows\AWP\WD300AWP.EXE'; resourceType='Unspecified'; requireAccess='Script'; type=$null} )
# Diff: o que falta do baseline? $need = foreach($b in $baseline){ if(-not ($cur | Where-Object { $_.name -eq $b.name })) { [pscustomobject]$b } } $need | Format-Table
# Aplicar o que falta foreach($n in $need){ $args = "/+`"[name='$($n.name)',path='$($n.path)',verb='$($n.verb)',modules='$($n.modules)'" if($n.type){ $args += ",type='$($n.type)'" } if($n.scriptProcessor){ $args += ",scriptProcessor='$($n.scriptProcessor)'" } if($n.resourceType){ $args += ",resourceType='$($n.resourceType)'" } if($n.requireAccess){ $args += ",requireAccess='$($n.requireAccess)'" } $args += "]`"" & $appcmd set config "$site" -section:system.webServer/handlers $args }
⸻
6) web.config mínimo (apenas para AWP neste app)
Use somente se quiser controlar por app/virtual dir (não no nível do site inteiro).
<?xml version="1.0" encoding="utf-8"?> <configuration> <system.webServer> <handlers> <add name="WEBDEV-AWP" path="*.awp" verb="*" modules="IsapiModule" scriptProcessor="C:\PC SOFT\WEBDEV 30\Programs\Engine\Windows\AWP\WD300AWP.EXE" resourceType="Unspecified" requireAccess="Script"/> </handlers> </system.webServer> </configuration>
⸻
7) Testes rápidos
REM Ver se o handler está visível appcmd list config "Default Web Site" -section:system.webServer/handlers
REM Teste HTTP local (PowerShell) powershell -Command "Invoke-WebRequest http://localhost/index.awp -UseBasicParsing | Select-Object StatusCode,Headers | Format-List"
⸻
Boas práticas (hardening e estabilidade) • Desinstale/Remova WebDAV se não usa (módulo e handler). • Desabilite TRACE e verifique verbos permitidos. • Mantenha URL Rewrite se usar rotas amigáveis; não marque “arquivo deve existir”. • Logue 404/500 e ative Failed Request Tracing durante setup. • Em produção, limite handlers ao necessário (evita interferências). • Padronize o caminho do WDxxxAWP.EXE e versionamento (documente).
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 24 septembre 2025 - 14:12 |
Gerei os dois arquivos: 1. Apply-WebDevAWP-IIS10.ps1 Baixar o PowerShell 2. Baseline-IIS10-Handlers.xml Baixar o XML
Dicas rápidas: • No .ps1, edite no topo: $SiteName, $WebDevAwpExe, $WebDevAwpDescription, $Harden, $ExportFolder. • Rode em PowerShell elevado (Administrador). Ele exporta o estado “before/after”, remove WebDAV/TRACE (se Harden=$true), garante StaticFile e OPTIONS e adiciona o handler WEBDEV-AWP + ISAPI/CGI Restriction. • No .xml, ajuste o caminho do scriptProcessor para a sua versão do WEBDEV (ex.: WD260AWP.EXE, WD280AWP.EXE, WD300AWP.EXE).
<# Apply-WebDevAWP-IIS10.ps1 Purpose: Apply a safe baseline of IIS 10 handlers on a specific site and add WEBDEV AWP handler. Tested on: Windows Server 2016/2019/2022 with IIS 10 Run as: Administrator (elevated PowerShell) #>
[CmdletBinding()] param( # === VARIABLES YOU SHOULD REVIEW === [string]$SiteName = "Default Web Site",
# Full path to your WEBDEV AWP engine executable (adjust version/path) [string]$WebDevAwpExe = "C:\PC SOFT\WEBDEV 30\Programs\Engine\Windows\AWP\WD300AWP.EXE",
# ISAPI/CGI restriction friendly description [string]$WebDevAwpDescription = "WEBDEV AWP 30",
# Optional: apply hardening (remove WebDAV handler/module and TRACE handler entry if present) [bool]$Harden = $true,
# Export folder to dump current/before/after state [string]$ExportFolder = "C:\temp" )
# --- PRECHECKS --- $ErrorActionPreference = "Stop" $appcmd = Join-Path $env:WINDIR "System32\inetsrv\appcmd.exe"
if (-not (Test-Path $appcmd)) { throw "appcmd.exe not found at $appcmd. Ensure IIS Management Scripts and Tools are installed." } if (-not (Test-Path $ExportFolder)) { New-Item -Path $ExportFolder -ItemType Directory -Force | Out-Null }
Write-Host "== Apply-WebDevAWP-IIS10 ==" -ForegroundColor Cyan Write-Host "Site: $SiteName" Write-Host "AWP: $WebDevAwpExe" Write-Host "Harden: $Harden" Write-Host ""
function Export-Handlers([string]$label) { $out = Join-Path $ExportFolder ("handlers_{0}_{1}.xml" -f ($SiteName -replace '[^\w-]','_'), $label) & $appcmd list config "$SiteName" -section:system.webServer/handlers /config:* | Out-File -FilePath $out -Encoding UTF8 Write-Host "Exported handlers ($label) to $out" }
function Handler-Exists([string]$name) { $xml = & $appcmd list config "$SiteName" -section:system.webServer/handlers /config:* [xml]$doc = $xml $doc.configuration.'system.webServer'.handlers.add | Where-Object { $_.name -eq $name } | ForEach-Object { return $true } return $false }
function Remove-Handler([string]$name) { if (Handler-Exists $name) { & $appcmd set config "$SiteName" -section:handlers "/-`"[name='$name']`"" | Out-Null Write-Host "Removed handler: $name" } }
function Add-Handler([hashtable]$h) { $name = $h.name if (Handler-Exists $name) { Write-Host "Handler already exists: $name" -ForegroundColor Yellow return } $args = "/+`"[name='{0}'" -f $h.name if ($h.path) { $args += ",path='{0}'" -f $h.path } if ($h.verb) { $args += ",verb='{0}'" -f $h.verb } if ($h.modules) { $args += ",modules='{0}'" -f $h.modules } if ($h.type) { $args += ",type='{0}'" -f $h.type } if ($h.scriptProcessor) { $args += ",scriptProcessor='{0}'" -f $h.scriptProcessor } if ($h.resourceType) { $args += ",resourceType='{0}'" -f $h.resourceType } if ($h.requireAccess) { $args += ",requireAccess='{0}'" -f $h.requireAccess } $args += "]`"" & $appcmd set config "$SiteName" -section:system.webServer/handlers $args | Out-Null Write-Host "Added handler: $name" }
function IsapiCgiRestriction-EnsureAllowed([string]$exePath, [string]$desc) { # Check if existing restriction matches path $current = & $appcmd list config -section:isapiCgiRestriction if ($current -match [Regex]::Escape($exePath)) { Write-Host "ISAPI/CGI Restriction already present for: $exePath" -ForegroundColor Yellow # Ensure allowed true & $appcmd set config -section:isapiCgiRestriction "/[path='$exePath'].allowed:`"True`"" | Out-Null return } & $appcmd set config -section:isapiCgiRestriction "/+`"[path='$exePath',description='$desc',allowed='True']`"" | Out-Null Write-Host "ISAPI/CGI Restriction added: $exePath" }
function Remove-Module([string]$moduleName) { # Removes a module entry from applicationHost.config (global) if present $modulesList = & $appcmd list modules if ($modulesList -match ("Module `"*{0}`"* " -f [Regex]::Escape($moduleName))) { & $appcmd delete module $moduleName | Out-Null Write-Host "Deleted global module: $moduleName" } else { Write-Host "Global module not present: $moduleName" -ForegroundColor Yellow } }
# --- 1) Export BEFORE --- Export-Handlers -label "before"
# --- 2) Hardening (optional) --- if ($Harden) { # Remove WebDAV (handler + module) Remove-Handler -name "WebDAV" Remove-Module -moduleName "WebDAVModule"
# Remove TRACE handler if exists Remove-Handler -name "TRACEVerbHandler" }
# --- 3) Ensure basic handlers --- Add-Handler @{ name='StaticFile'; path='*'; verb='GET,HEAD,POST'; modules='StaticFileModule'; resourceType='Either' }
Add-Handler @{ name='OPTIONSVerbHandler'; path='*'; verb='OPTIONS'; modules='ProtocolSupportModule' }
# --- 4) WEBDEV AWP: ISAPI restriction + handler --- if (-not (Test-Path $WebDevAwpExe)) { Write-Host "WARNING: AWP executable not found on disk: $WebDevAwpExe" -ForegroundColor Yellow } IsapiCgiRestriction-EnsureAllowed -exePath $WebDevAwpExe -desc $WebDevAwpDescription
Add-Handler @{ name='WEBDEV-AWP'; path='*.awp'; verb='*'; modules='IsapiModule'; scriptProcessor=$WebDevAwpExe; resourceType='Unspecified'; requireAccess='Script' }
# --- 5) Export AFTER --- Export-Handlers -label "after"
Write-Host "`nDone. Review exported files under $ExportFolder" -ForegroundColor Green
<?xml version="1.0" encoding="UTF-8"?> <!-- Baseline-IIS10-Handlers.xml Purpose: Version this file in Git to represent a minimal-safe handler set for IIS 10 + WEBDEV AWP. Note: This is a fragment representing <system.webServer><handlers>. Apply using your CM process or compare with 'appcmd list config -section:system.webServer/handlers' on target servers. --> <configuration> <system.webServer> <handlers> <!-- Static files (ensure present) --> <add name="StaticFile" path="*" verb="GET,HEAD,POST" modules="StaticFileModule" resourceType="Either" />
<!-- OPTIONS verb handler (CORS preflight etc.) --> <add name="OPTIONSVerbHandler" path="*" verb="OPTIONS" modules="ProtocolSupportModule" />
<!-- WEBDEV AWP handler (adjust path to your installed version) --> <add name="WEBDEV-AWP" path="*.awp" verb="*" modules="IsapiModule" scriptProcessor="C:\PC SOFT\WEBDEV 30\Programs\Engine\Windows\AWP\WD300AWP.EXE" resourceType="Unspecified" requireAccess="Script" />
<!-- Intentionally NOT including WebDAV or TRACE in this baseline --> </handlers> </system.webServer> </configuration>
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 24 septembre 2025 - 14:16 |
Exemplo para todos os sites
Perfeito! Aqui está a versão para todos os sites do IIS:
Apply-WebDevAWP-IIS10-AllSites.ps1 Baixar o PowerShell
Como usar (resumo): 1. Abra PowerShell como Administrador. 2. Edite no topo do script, se necessário: • $WebDevAwpExe (aponte para o WDxxxAWP.EXE da sua versão), • $WebDevAwpDescription, • $Harden (true para remover WebDAV/TRACE), • $ExportFolder, • $IncludeSites / $ExcludeSites (opcional). 3. Execute: .\Apply-WebDevAWP-IIS10-AllSites.ps1
O script: • Descobre todos os sites via appcmd list site; • (Opcional) remove WebDAV (módulo global) e TRACE (handler por site); • Garante StaticFile e OPTIONSVerbHandler em cada site; • Adiciona o handler WEBDEV-AWP (*.awp → IsapiModule → WDxxxAWP.EXE) com resourceType='Unspecified' e requireAccess='Script'; • Tira snapshots “before/after” por site no diretório definido.
Se quiser, eu agrego uma flag para aplicar também em Virtual Directories específicos (e não no site inteiro), ou gerar um .cmd simples para chamar o .ps1 com parâmetros padronizados.
<# Apply-WebDevAWP-IIS10-AllSites.ps1 Purpose : Apply a safe IIS 10 handlers baseline to ALL sites and add WEBDEV AWP handler. Requires: Windows Server 2016/2019/2022 + IIS 10, run as Administrator Note : Uses appcmd.exe so it works even without the WebAdministration module imported. #>
[CmdletBinding()] param( # === GLOBAL VARIABLES TO REVIEW ===
# Full path to your WEBDEV AWP engine executable (adjust to your installed version) [string]$WebDevAwpExe = "C:\PC SOFT\WEBDEV 30\Programs\Engine\Windows\AWP\WD300AWP.EXE",
# ISAPI/CGI restriction friendly description [string]$WebDevAwpDescription = "WEBDEV AWP 30",
# Apply hardening (remove WebDAV handler/module and TRACE handler if found) [bool]$Harden = $true,
# Export folder (BEFORE/AFTER snapshots per site) [string]$ExportFolder = "C:\temp",
# Optional allow-list. If empty -> all sites. [string[]]$IncludeSites = @(),
# Optional deny-list [string[]]$ExcludeSites = @() )
$ErrorActionPreference = "Stop" $appcmd = Join-Path $env:WINDIR "System32\inetsrv\appcmd.exe"
if (-not (Test-Path $appcmd)) { throw "appcmd.exe not found at $appcmd. Install IIS Management Scripts and Tools." } if (-not (Test-Path $ExportFolder)) { New-Item -Path $ExportFolder -ItemType Directory -Force | Out-Null }
Write-Host "== Apply-WebDevAWP-IIS10 (ALL SITES) ==" -ForegroundColor Cyan Write-Host "AWP Executable : $WebDevAwpExe" Write-Host "Hardening : $Harden" Write-Host "Export Folder : $ExportFolder" Write-Host ""
function Get-AllSites { # Parse sites from appcmd to avoid module dependencies $sitesRaw = & $appcmd list site # Example line: "SITE "Default Web Site" (id:1,bindings:http/*:80:,state:Started)" $names = @() foreach($line in $sitesRaw){ if ($line -match '^SITE\s+"([^"]+)"') { $names += $matches[1] } } return $names }
function Export-Handlers([string]$site,[string]$label) { $safeSite = ($site -replace '[^\w-]','_') $out = Join-Path $ExportFolder ("handlers_{0}_{1}.xml" -f $safeSite, $label) & $appcmd list config "$site" -section:system.webServer/handlers /config:* | Out-File -FilePath $out -Encoding UTF8 Write-Host "[$site] Exported handlers ($label) -> $out" }
function Handler-Exists([string]$site,[string]$name) { $xml = & $appcmd list config "$site" -section:system.webServer/handlers /config:* [xml]$doc = $xml $exists = $false $doc.configuration.'system.webServer'.handlers.add | ForEach-Object { if ($_.name -eq $name) { $exists = $true } } return $exists }
function Remove-Handler([string]$site,[string]$name) { if (Handler-Exists $site $name) { & $appcmd set config "$site" -section:handlers "/-`"[name='$name']`"" | Out-Null Write-Host "[$site] Removed handler: $name" } }
function Add-Handler([string]$site,[hashtable]$h) { $name = $h.name if (Handler-Exists $site $name) { Write-Host "[$site] Handler already exists: $name" -ForegroundColor Yellow return } $args = "/+`"[name='{0}'" -f $h.name if ($h.path) { $args += ",path='{0}'" -f $h.path } if ($h.verb) { $args += ",verb='{0}'" -f $h.verb } if ($h.modules) { $args += ",modules='{0}'" -f $h.modules } if ($h.type) { $args += ",type='{0}'" -f $h.type } if ($h.scriptProcessor) { $args += ",scriptProcessor='{0}'" -f $h.scriptProcessor } if ($h.resourceType) { $args += ",resourceType='{0}'" -f $h.resourceType } if ($h.requireAccess) { $args += ",requireAccess='{0}'" -f $h.requireAccess } $args += "]`"" & $appcmd set config "$site" -section:system.webServer/handlers $args | Out-Null Write-Host "[$site] Added handler: $name" }
function IsapiCgiRestriction-EnsureAllowed([string]$exePath, [string]$desc) { $current = & $appcmd list config -section:isapiCgiRestriction if ($current -match [Regex]::Escape($exePath)) { # Ensure allowed true (idempotent) & $appcmd set config -section:isapiCgiRestriction "/[path='$exePath'].allowed:`"True`"" | Out-Null Write-Host "[GLOBAL] ISAPI/CGI Restriction already present (allowed): $exePath" -ForegroundColor Yellow return } & $appcmd set config -section:isapiCgiRestriction "/+`"[path='$exePath',description='$desc',allowed='True']`"" | Out-Null Write-Host "[GLOBAL] ISAPI/CGI Restriction added: $exePath" }
function Remove-GlobalModule([string]$moduleName) { $modulesList = & $appcmd list modules if ($modulesList -match ("Module `"*{0}`"* " -f [Regex]::Escape($moduleName))) { & $appcmd delete module $moduleName | Out-Null Write-Host "[GLOBAL] Deleted module: $moduleName" } else { Write-Host "[GLOBAL] Module not present: $moduleName" -ForegroundColor Yellow } }
# --- Discover target sites --- $targets = Get-AllSites if ($IncludeSites.Count -gt 0) { $targets = $targets | Where-Object { $_ -in $IncludeSites } } if ($ExcludeSites.Count -gt 0) { $targets = $targets | Where-Object { $_ -notin $ExcludeSites } }
if ($targets.Count -eq 0) { Write-Warning "No sites selected. Use IncludeSites or verify IIS has sites." return }
# --- Global hardening (optional) --- if ($Harden) { # Remove WebDAV module globally (optional) Remove-GlobalModule -moduleName "WebDAVModule" }
# Ensure ISAPI/CGI restriction for the AWP executable (global) if (-not (Test-Path $WebDevAwpExe)) { Write-Host "[WARN] AWP executable not found on disk: $WebDevAwpExe" -ForegroundColor Yellow } IsapiCgiRestriction-EnsureAllowed -exePath $WebDevAwpExe -desc $WebDevAwpDescription
# --- Process every site --- foreach ($site in $targets) { Write-Host "=== SITE: $site ===" -ForegroundColor Cyan
# 1) Export BEFORE Export-Handlers -site $site -label "before"
# 2) Site-level hardening if ($Harden) { Remove-Handler -site $site -name "WebDAV" Remove-Handler -site $site -name "TRACEVerbHandler" }
# 3) Ensure minimal handlers Add-Handler -site $site -h @{ name='StaticFile'; path='*'; verb='GET,HEAD,POST'; modules='StaticFileModule'; resourceType='Either' }
Add-Handler -site $site -h @{ name='OPTIONSVerbHandler'; path='*'; verb='OPTIONS'; modules='ProtocolSupportModule' }
# 4) Add WEBDEV AWP handler Add-Handler -site $site -h @{ name='WEBDEV-AWP'; path='*.awp'; verb='*'; modules='IsapiModule'; scriptProcessor=$WebDevAwpExe; resourceType='Unspecified'; requireAccess='Script' }
# 5) Export AFTER Export-Handlers -site $site -label "after" }
Write-Host "`nAll done. Snapshots saved to $ExportFolder" -ForegroundColor Green
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 24 septembre 2025 - 14:21 |
Exemplo para aplicar também em Virtual Directories específicos
Adicionei o script para aplicar em Virtual Directories / Applications específicos:
Apply-WebDevAWP-IIS10-Targets.ps1 Baixar o PowerShell
<# Apply-WebDevAWP-IIS10-Targets.ps1 Purpose : Apply IIS 10 handlers baseline + WEBDEV AWP specifically to selected Virtual Directories/Applications. Requires: Windows Server 2016/2019/2022 + IIS 10, run as Administrator Notes : Uses appcmd.exe so it works without importing WebAdministration. #>
[CmdletBinding()] param( # === GLOBAL VARIABLES TO REVIEW ===
# Full path to your WEBDEV AWP engine executable (adjust to your installed version) [string]$WebDevAwpExe = "C:\PC SOFT\WEBDEV 30\Programs\Engine\Windows\AWP\WD300AWP.EXE",
# ISAPI/CGI restriction friendly description [string]$WebDevAwpDescription = "WEBDEV AWP 30",
# Apply hardening (remove TRACE handler if found on the target; WebDAV is typically site/global) [bool]$Harden = $true,
# Export folder (BEFORE/AFTER snapshots per target) [string]$ExportFolder = "C:\temp",
<# Targets are IIS application/virtual directory paths in the form: - "Default Web Site/App1" - "Default Web Site/VD_WebDev" If you pass only a SiteName (e.g., "Default Web Site"), the handler is applied at the site root. #> [Parameter(Mandatory=$true)] [string[]]$Targets )
$ErrorActionPreference = "Stop" $appcmd = Join-Path $env:WINDIR "System32\inetsrv\appcmd.exe"
if (-not (Test-Path $appcmd)) { throw "appcmd.exe not found at $appcmd. Install IIS Management Scripts and Tools." } if (-not (Test-Path $ExportFolder)) { New-Item -Path $ExportFolder -ItemType Directory -Force | Out-Null }
Write-Host "== Apply-WebDevAWP-IIS10 (TARGETS) ==" -ForegroundColor Cyan Write-Host "AWP Executable : $WebDevAwpExe" Write-Host "Hardening : $Harden" Write-Host "Export Folder : $ExportFolder" Write-Host ""
function Export-Handlers([string]$path,[string]$label) { $safe = ($path -replace '[^\w-]','_') $out = Join-Path $ExportFolder ("handlers_{0}_{1}.xml" -f $safe, $label) & $appcmd list config "$path" -section:system.webServer/handlers /config:* | Out-File -FilePath $out -Encoding UTF8 Write-Host "[$path] Exported handlers ($label) -> $out" }
function Handler-Exists([string]$path,[string]$name) { $xml = & $appcmd list config "$path" -section:system.webServer/handlers /config:* [xml]$doc = $xml $exists = $false $doc.configuration.'system.webServer'.handlers.add | ForEach-Object { if ($_.name -eq $name) { $exists = $true } } return $exists }
function Remove-Handler([string]$path,[string]$name) { if (Handler-Exists $path $name) { & $appcmd set config "$path" -section:handlers "/-`"[name='$name']`"" | Out-Null Write-Host "[$path] Removed handler: $name" } }
function Add-Handler([string]$path,[hashtable]$h) { $name = $h.name if (Handler-Exists $path $name) { Write-Host "[$path] Handler already exists: $name" -ForegroundColor Yellow return } $args = "/+`"[name='{0}'" -f $h.name if ($h.path) { $args += ",path='{0}'" -f $h.path } if ($h.verb) { $args += ",verb='{0}'" -f $h.verb } if ($h.modules) { $args += ",modules='{0}'" -f $h.modules } if ($h.type) { $args += ",type='{0}'" -f $h.type } if ($h.scriptProcessor) { $args += ",scriptProcessor='{0}'" -f $h.scriptProcessor } if ($h.resourceType) { $args += ",resourceType='{0}'" -f $h.resourceType } if ($h.requireAccess) { $args += ",requireAccess='{0}'" -f $h.requireAccess } $args += "]`"" & $appcmd set config "$path" -section:system.webServer/handlers $args | Out-Null Write-Host "[$path] Added handler: $name" }
function IsapiCgiRestriction-EnsureAllowed([string]$exePath, [string]$desc) { # Global scope check $current = & $appcmd list config -section:isapiCgiRestriction if ($current -match [Regex]::Escape($exePath)) { & $appcmd set config -section:isapiCgiRestriction "/[path='$exePath'].allowed:`"True`"" | Out-Null Write-Host "[GLOBAL] ISAPI/CGI Restriction already present (allowed): $exePath" -ForegroundColor Yellow return } & $appcmd set config -section:isapiCgiRestriction "/+`"[path='$exePath',description='$desc',allowed='True']`"" | Out-Null Write-Host "[GLOBAL] ISAPI/CGI Restriction added: $exePath" }
# Ensure ISAPI/CGI restriction for the AWP executable (global) if (-not (Test-Path $WebDevAwpExe)) { Write-Host "[WARN] AWP executable not found on disk: $WebDevAwpExe" -ForegroundColor Yellow } IsapiCgiRestriction-EnsureAllowed -exePath $WebDevAwpExe -desc $WebDevAwpDescription
foreach ($path in $Targets) { Write-Host "=== TARGET: $path ===" -ForegroundColor Cyan
# 1) Export BEFORE Export-Handlers -path $path -label "before"
# 2) Target-level hardening (TRACE handler entry) if ($Harden) { Remove-Handler -path $path -name "TRACEVerbHandler" }
# 3) Ensure minimal handlers (these get defined at this level for isolation) Add-Handler -path $path -h @{ name='StaticFile'; path='*'; verb='GET,HEAD,POST'; modules='StaticFileModule'; resourceType='Either' }
Add-Handler -path $path -h @{ name='OPTIONSVerbHandler'; path='*'; verb='OPTIONS'; modules='ProtocolSupportModule' }
# 4) Add WEBDEV AWP handler (AWP extension) Add-Handler -path $path -h @{ name='WEBDEV-AWP'; path='*.awp'; verb='*'; modules='IsapiModule'; scriptProcessor=$WebDevAwpExe; resourceType='Unspecified'; requireAccess='Script' }
# 5) Export AFTER Export-Handlers -path $path -label "after" }
Write-Host "`nAll targets processed. Snapshots saved to $ExportFolder" -ForegroundColor Green
Como usar (exemplos): 1. Aplicar em um Virtual Directory chamado VD_WebDev dentro do Default Web Site:
.\Apply-WebDevAWP-IIS10-Targets.ps1 ` -WebDevAwpExe "C:\PC SOFT\WEBDEV 30\Programs\Engine\Windows\AWP\WD300AWP.EXE" ` -Targets @("Default Web Site/VD_WebDev")
2. Aplicar em dois Applications:
.\Apply-WebDevAWP-IIS10-Targets.ps1 ` -Targets @("Default Web Site/App1","Default Web Site/App2") ` -Harden $true -ExportFolder "C:\audit\handlers"
3. Aplicar no site inteiro (caso queira forçar no nível do site, mesmo script aceita):
.\Apply-WebDevAWP-IIS10-Targets.ps1 -Targets @("Default Web Site")
O script: • Garante a ISAPI/CGI Restriction para o WDxxxAWP.EXE globalmente; • Exporta snapshots before/after por alvo; • (Opcional) remove TRACEVerbHandler no nível do alvo (-Harden $true); • Garante StaticFile e OPTIONSVerbHandler no nível do alvo; • Adiciona o handler WEBDEV-AWP (*.awp → IsapiModule → WDxxxAWP.EXE) com resourceType='Unspecified' e requireAccess='Script'.
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 24 septembre 2025 - 14:26 |
# IIS 10 + WEBDEV AWP Handlers – Deployment Package
This package contains scripts to audit, baseline, and configure IIS 10 **Handler Mappings** and add the **WEBDEV AWP** handler (`*.awp → IsapiModule → WDxxxAWP.EXE`). Tested on Windows Server 2016/2019/2022 with IIS 10. **Run as Administrator.**
## Files
- `Apply-WebDevAWP-IIS10.ps1` – Apply to a **single site** (steps 2–5 of the guide). - `Apply-WebDevAWP-IIS10-AllSites.ps1` – Apply to **all sites** in IIS. - `Apply-WebDevAWP-IIS10-Targets.ps1` – Apply to **specific Applications/Virtual Directories** (e.g., `Default Web Site/VD_WebDev`). - `Baseline-IIS10-Handlers.xml` – Baseline fragment for `<system.webServer><handlers>` (for Git versioning/compare). - `Deploy-WebDevAWP.cmd` – Interactive wrapper to call the PowerShell scripts with sane defaults.
> Ensure the path to your WEBDEV AWP engine is correct (e.g. `C:\PC SOFT\WEBDEV 30\Programs\Engine\Windows\AWP\WD300AWP.EXE`).
---
## Prerequisites
1. Windows Server 2016+ with **IIS 10** installed. 2. Role services: **ISAPI Extensions** and **ISAPI Filters**. 3. **WEBDEV Application Server** installed with the matching version of your app. 4. PowerShell run **as Administrator**. 5. Optional (recommended): Install **IIS Management Scripts and Tools** (for `appcmd.exe`).
---
## Quick Start (Recommended)
1. Copy all files to a folder on the server, e.g. `C:\Admin\WebDevAwpHandlers\`. 2. Edit variables at the top of the scripts or use the `.cmd` **wrapper**. 3. Right‑click **`Deploy-WebDevAWP.cmd`** → **Run as administrator**. 4. Choose: - `1` – Apply to **one site**; - `2` – Apply to **all sites**; - `3` – Apply to **specific targets** (applications/virtual directories).
The scripts will: - Export **before/after** snapshots of handler mappings to the configured folder (e.g. `C:\temp\handlers\`); - (Optional) harden the config by removing **WebDAV** and **TRACE** handler entries; - Ensure **StaticFile** and **OPTIONSVerbHandler** handlers; - Add **WEBDEV‑AWP** (`*.awp → IsapiModule → WDxxxAWP.EXE`) with `resourceType='Unspecified'` and `requireAccess='Script'`; - Ensure **ISAPI/CGI Restriction** allows the AWP executable globally.
---
## Validating the Installation
### A) Using IIS Manager (GUI) 1. Open **IIS Manager** → select your **Site** (or **Application**/VD). 2. Open **Handler Mappings** and confirm you see: - `StaticFile` (modules: `StaticFileModule`) - `OPTIONSVerbHandler` (modules: `ProtocolSupportModule`) - `WEBDEV-AWP` (modules: `IsapiModule`, **Executable** path points to `WDxxxAWP.EXE`) 3. For `WEBDEV-AWP` → **Edit** → **Request Restrictions…**: - **DO NOT** require “File or folder must exist” (resourceType is set to `Unspecified`).
### Using AppCmd (CLI) ```bat cd %windir%\system32\inetsrv appcmd list config "Default Web Site" -section:system.webServer/handlers ``` Look for `WEBDEV-AWP` with the correct `scriptProcessor` path.
### C) Test an AWP URL From the server: ```powershell Invoke-WebRequest http://localhost/index.awp -UseBasicParsing | Select-Object StatusCode,Headers | Format-List ```
If using **Application Request Routing / URL Rewrite**, keep the AWP handler active and avoid “file must exist” checks for `.awp` routes.
---
## Rolling Back
1. Handlers are stored under `<system.webServer><handlers>` at the appropriate level (machine/site/app). 2. Use the **before** snapshot exported by the script to manually reconcile differences, or remove specific entries: ```bat cd %windir%\system32\inetsrv appcmd set config "Default Web Site" -section:handlers "/-[name='WEBDEV-AWP']" appcmd set config -section:isapiCgiRestriction "/[path='C:\PC SOFT\WEBDEV 30\Programs\Engine\Windows\AWP\WD300AWP.EXE'].allowed:\"False\"" ``` 3. If you removed WebDAV and need it back: ```bat dism /online /enable-feature /featurename:IIS-WebDAV /All %windir%\system32\inetsrv\appcmd.exe add module /name:WebDAVModule /image:%windir%\System32\inetsrv\WebDAV.dll ```
---
## Notes & Tips
- Match the **AWP executable** to your WEBDEV version: `WD260AWP.EXE`, `WD280AWP.EXE`, `WD300AWP.EXE` (etc.). - For **Session mode** apps, a `.awp` handler isn’t required; only AWP/CGI apps need it. - Avoid having **WebDAV** enabled on sites that don’t need it; it can block `PUT/DELETE` verbs. - During setup, enable **Failed Request Tracing** to debug odd routing behaviors. - For source control, commit `Baseline-IIS10-Handlers.xml` and compare with production exports.
---
## Troubleshooting
- **HTTP 404 for `.awp`**: Check that you **don’t require file existence** and that the handler is at the correct **level** (site vs app). - **HTTP 500 on execution**: Confirm the AWP path is valid, ACLs permit execution, and **ISAPI/CGI Restriction** is **Allowed**. - **Module not found**: Ensure required role services are installed (ISAPI Extensions/Filters, URL Rewrite if used, etc.). - **ARR/Reverse Proxy**: Preserve the `.awp` extension in rewrite rules, or rewrite to an `.awp` endpoint.
---
## Example – Minimal `web.config` (app/VD level)
```xml <?xml version="1.0" encoding="utf-8"?> <configuration> <system.webServer> <handlers> <add name="WEBDEV-AWP" path="*.awp" verb="*" modules="IsapiModule" scriptProcessor="C:\PC SOFT\WEBDEV 30\Programs\Engine\Windows\AWP\WD300AWP.EXE" resourceType="Unspecified" requireAccess="Script"/> </handlers> </system.webServer> </configuration> ```
---
## License / Disclaimer
Scripts provided “as is”, without warranty. Review and test in a staging environment before production.
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 595 messages |
|
Posté le 24 septembre 2025 - 14:38 |
Bora automatizar o IIS com PowerShell! Aqui está um “menu” do que dá pra fazer (e exemplos prontos). Tudo funciona no IIS 10 (WS 2016+). Use preferencialmente o módulo WebAdministration; quando faltar algo, dá pra chamar o appcmd.exe.
O que dá pra automatizar no IIS com PowerShell
1) Sites, Apps e Pools • Criar/alterar Application Pools (CLR, pipeline, identidade, recycling). • Criar Sites e Applications (físico, pool, permissões NTFS). • Start/Stop/Recycle de site/pool; política de reciclagem por horário/memória.
Import-Module WebAdministration # App Pool New-WebAppPool -Name "MyPool" Set-ItemProperty IIS:\AppPools\MyPool -Name managedRuntimeVersion -Value "v4.0" Set-ItemProperty IIS:\AppPools\MyPool -Name processModel.identityType -Value "ApplicationPoolIdentity"
# Site New-Item "IIS:\Sites\MySite" -bindings @{protocol="http";bindingInformation="*:80:mysite.local"} ` -physicalPath "D:\Sites\MySite" Set-ItemProperty IIS:\Sites\MySite -Name applicationPool -Value "MyPool"
# Application (virtual dir com pool dedicado) New-WebApplication -Site "MySite" -Name "api" -PhysicalPath "D:\Sites\MySite\api" -ApplicationPool "MyPool"
2) Bindings, HTTPS, SNI e Certificados • Criar/editar bindings HTTP/HTTPS. • Associar certificado por thumbprint; habilitar SNI e TLS modernos.
# HTTPS com certificado (thumbprint) e SNI New-WebBinding -Name "MySite" -Protocol https -Port 443 -HostHeader "mysite.local" $cert = "THUMBPRINT_AQUI" Push-Location IIS:\SslBindings Get-Item cert:\LocalMachine\My\$cert | New-Item 0.0.0.0!443!mysite.local Pop-Location
# HSTS (via header) Add-WebConfigurationProperty -pspath 'IIS:\' -filter "system.webServer/httpProtocol/customHeaders" ` -name "." -value @{name='Strict-Transport-Security'; value='max-age=31536000; includeSubDomains; preload'}
3) Handlers, Módulos e MIME • Adicionar/editar Handler Mappings (ISAPI/CGI/Managed). • Habilitar/desabilitar módulos. • Extensões MIME personalizadas.
# Handler .awp → AWP Engine (exemplo PC SOFT) $app = "IIS:\Sites\MySite" Add-WebConfigurationProperty -pspath $app -filter "system.webServer/handlers" -name "." ` -value @{name='WEBDEV-AWP'; path='*.awp'; verb='*'; modules='IsapiModule'; scriptProcessor='C:\PC SOFT\WEBDEV 30\Programs\Engine\Windows\AWP\WD300AWP.EXE'; resourceType='Unspecified'; requireAccess='Script'}
# Módulo (ex.: remover WebDAV) Remove-WebGlobalModule WebDAVModule -ErrorAction SilentlyContinue
# MIME .webp Add-WebConfigurationProperty -pspath "IIS:\" -filter "system.webServer/staticContent" -name "." ` -value @{fileExtension='.webp'; mimeType='image/webp'}
4) URL Rewrite / ARR (reverse proxy) • Criar regras de rewrite/redirect. • Proxy reverso (ARR) para backends (com preserveHost/cabeçalhos).
# Regra simples de rewrite $rule = @" <rule name='SpaRewrite' stopProcessing='true'> <match url='.*' /> <conditions logicalGrouping='MatchAll'> <add input='{REQUEST_FILENAME}' matchType='IsFile' negate='true' /> <add input='{REQUEST_FILENAME}' matchType='IsDirectory' negate='true' /> </conditions> <action type='Rewrite' url='/index.html' /> </rule> "@ Add-WebConfiguration -pspath "IIS:\Sites\MySite" -filter "system.webServer/rewrite/rules" -value $rule
5) Segurança e Filtragem • requestFiltering (tamanho de upload, fileExtensions allow/deny, verbos). • IP Restrictions, Authentication (Windows/Basic/Anonymous). • Headers de segurança (CSP, X-Frame-Options, X-Content-Type-Options).
# Limite de upload 100MB Set-WebConfigurationProperty -pspath "IIS:\Sites\MySite" ` -filter "system.webServer/security/requestFiltering/requestLimits" ` -name "maxAllowedContentLength" -value 104857600
# Desabilitar Directory Browsing Set-WebConfigurationProperty -pspath "IIS:\Sites\MySite" ` -filter "system.webServer/directoryBrowse" -name "enabled" -value false
# Headers de segurança $headers = @( @{name='X-Content-Type-Options';value='nosniff'}, @{name='X-Frame-Options';value='SAMEORIGIN'}, @{name='Referrer-Policy';value='no-referrer-when-downgrade'} ) foreach($h in $headers){ Add-WebConfigurationProperty -pspath "IIS:\Sites\MySite" -filter "system.webServer/httpProtocol/customHeaders" -name "." -value $h -ErrorAction SilentlyContinue }
6) Logging, FREB e Diagnóstico • Configurar logs (formato, diretório, campos). • Ativar Failed Request Tracing (FREB) por status/código. • Coletar eventos, acessar applicationHost.config e backups.
# Habilitar FREB para 400-999 Set-WebConfigurationProperty -pspath "IIS:\Sites\MySite" ` -filter "system.webServer/tracing" -name "enabled" -value true Add-WebConfigurationProperty -pspath "IIS:\Sites\MySite" ` -filter "system.webServer/tracing/traceFailedRequests" -name "." ` -value @{path="*"} Add-WebConfigurationProperty -pspath "IIS:\Sites\MySite" ` -filter "system.webServer/tracing/traceFailedRequests/add/failureDefinitions/statusCodes" -name "." ` -value @{statusCode="400-999"}
7) Deploy & Config as Code • Backup/Restore da configuração (exportar seção handlers, sites). • Transform/merge de web.config por ambiente. • Provisionar IIS inteiro em script único/CI.
# Exportar handlers do site $appcmd = "$env:WINDIR\System32\inetsrv\appcmd.exe" & $appcmd list config "MySite" -section:system.webServer/handlers /config:* > C:\temp\handlers_mysite.xml
# Backup completo & $appcmd add backup "pre_deploy_$(Get-Date -f yyyyMMddHHmmss)"
Reciclagem, Health Check e Auto-Heal • Agendar reciclagem por horário/consumo. • Ping máximo e Rapid-Fail Protection. • Retry automático em falhas.
# Reciclagem diária às 03:00 Set-ItemProperty IIS:\AppPools\MyPool -Name recycling.periodicRestart.schedule ` -Value @{value="03:00:00"}
# Rapid-Fail Protection Set-ItemProperty IIS:\AppPools\MyPool -Name failure.rapidFailProtection -Value true Set-ItemProperty IIS:\AppPools\MyPool -Name failure.rapidFailProtectionMaxCrashes -Value 5 Set-ItemProperty IIS:\AppPools\MyPool -Name failure.rapidFailProtectionInterval -Value (New-TimeSpan -Minutes 5)
9) FTPS / WebDAV / Compression / Static Cache • Ligar Dynamic/Static Compression. • Static Content caching com cacheControl. • Configurar FTPS e WebDAV (ou remover, se não usa).
# Static Compression + Cache-Control Set-WebConfigurationProperty -pspath "IIS:\Sites\MySite" -filter "system.webServer/urlCompression" -name doStaticCompression -value true Set-WebConfigurationProperty -pspath "IIS:\Sites\MySite" -filter "system.webServer/staticContent/clientCache" -name cacheControlMode -value "UseMaxAge" Set-WebConfigurationProperty -pspath "IIS:\Sites\MySite" -filter "system.webServer/staticContent/clientCache" -name cacheControlMaxAge -value ([TimeSpan]::FromDays(30))
10) Integração com Windows / ACLs / Permissões • Garantir permissões NTFS para IIS AppPool\NomeDoPool. • Criar usuários locais/AD e vincular a Pools específicos.
# Permissão NTFS para leitura/execução do pool $path = "D:\Sites\MySite" $poolUser = "IIS AppPool\MyPool" icacls $path /grant "$poolUser:(OI)(CI)RX" /T
⸻
“Pacotão” de automação
Se quiser, eu junto tudo em scripts prontos por tarefa (ex.: “01-CreateSite.ps1”, “02-EnableHttps.ps1”, “03-Hardening.ps1”, “04-LogsAndFreb.ps1”, “05-UrlRewrite.ps1”) ou numa orquestração única com parâmetros (-SiteName, -Host, -CertThumb, -EnableARR, -AddWebDevAwp, etc.) — igual ao padrão que te entreguei para handlers/AWP.
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|