sexta-feira, 17 de fevereiro de 2017

Variáveis ​​de ambiente

 

Uma variável de ambiente é um valor dinâmico carregado na memória que pode ser usado por vários processos operando simultaneamente. Na maioria dos sistemas operacionais, a localização de algumas bibliotecas ou dos executáveis ​​principais do sistema pode ser diferente dependendo da instalação.
Portanto, é possível, a partir de um determinado programa, fazer referência a um local baseado nas variáveis ​​de ambiente que definem esses dados.

 

Em Windows

No Windows, as variáveis ​​de ambiente são colocadas entre o caractere "%". Assim, para exibir o valor de uma variável de ambiente, basta digitar o seguinte tipo de comando:
Echo % NAME_OF_THE_VARIABLE %

Aqui está uma lista não exaustiva das principais variáveis ​​de ambiente em sistemas Windows:

Variável de ambiente
Descrição
%APPDATA%
Retorna um caminho de acesso para o diretório padrão contendo os programas do usuário (por padrão: C: \ Arquivos deProgramas \ .
% CMDCMDLINE%
Retorna o comando exato usado para acessar o interpretador de comandos ( cmd.exe ).
%COMPUTERNAME%
Retorna o nome atribuído ao computador.
%DATE%
Retorna a data do dia.
% ERRORLEVEL%
Contém o código de erro do último comando utilizado.
% HOMEDRIVE%
Contém a letra da unidade na qual o diretório do usuário atual está localizado.
% HOMEPATH%
Contém o caminho de acesso completo ao diretório do usuário atual.
% NUMBER_OF_PROCESSOR%
Contém o número de processadores presentes no sistema.
% OS%
Contém uma cadeia de caracteres descrevendo o sistema operacional instalado. Observe que Windows 2000 é identificado como WINDOWS_NT .
%PATH%
Especifica o caminho de acesso aos principais executáveis ​​do sistema.
% PATHEXT%
Descreve as extensões que o sistema considera executáveis.
% PROCESSOR_ARCHITECTURE%
Descreve a arquitetura do processador ( x86 para máquinas Intel, IA64 para arquiteturas RISC).
%RANDOM%
Retorna um inteiro entre 0 e 32167 escolhido aleatoriamente pelo sistema.
% SYSTEMDRIVE%
Contém a letra da unidade em que o sistema está localizado (geralmente C :) .
% SYSTEMROOT%
Contém o caminho de acesso ao diretório raiz do sistema.
% TEMP%
Contém o caminho de acesso de diretório temporário para os aplicativos.
% TMP%
Contém o caminho de acesso de diretório temporário para os aplicativos.
%TIME%
Retorna a data do dia.
% USERDOMAIN%
Contém o domínio ao qual pertence a conta atual.
% USERNAME%
Contém o nome de usuário correspondente à conta atual.
%USERPROFILE%
Contém a localização do perfil de usuário da conta atual.
% WINDIR%
Contém o caminho de acesso ao diretório do sistema (geralmente C: \ WINDOWS ou C: \ WINNT ).

No Windows, o comando set permite a criação, modificação e exibição das variáveis ​​de ambiente. No entanto, as alterações são feitas apenas na sessão em andamento.
Para exibir uma variável, o seguinte comando é usado:
Set VariableName
Para criar uma variável, o seguinte comando é usado:
Set VariableName = value
Para excluir uma variável, o seguinte comando é usado:
Set VariableName =
É possível usar qualquer caractere como um valor, incluindo espaços. No entanto, para poder usar caracteres especiais (<,>, |, & ou ^), basta colocar o caractere de escape (^) na frente deles ou aspas em torno deles, que será parte do valor, uma vez que todos os caracteres Após o sinal =são tidos em conta. Por exemplo, para definir "preto & branco" como o valor:
Set color = black ^ & white
ou
set varname = "novo & nome"

 

Em UNIX

Em sistemas UNIX , as variáveis ​​de ambiente são precedidas pelo caractere "$" e colocadas entre chaves, mesmo que as chaves não são obrigatórias. Dada a variedade de sistemas UNIX (particularmente as diferentes distribuições do Linux ), as variáveis ​​de ambiente Assim, para exibir o valor de uma variável de ambiente, basta digitar um dos seguintes comandos:
Echo $ VARIABLE
echo $ { VARIABLE }

 

Aqui está uma lista não exaustiva das principais variáveis ​​de ambiente em sistemas UNIX:

Variável de ambiente
Descrição
$ ARCH
Contém a descrição da arquitetura da máquina.
$ DISPLAY
Contém a ID do terminal de exibição a ser usado no administrador da janela (X11).
$ HOME
Retorna o caminho de acesso ao diretório do usuário atual.
$ HOST
Retorna o nome do computador.
$ LANG
Retorna o código de idioma padrão.
$ PATH
Retorna uma lista de caminhos de acesso para diretórios que contêm executáveis, separados por ponto e vírgula.
$ PRINTER
Contém o nome da impressora padrão.
$ SHELL
Indica o caminho do interpretador de comandos utilizado.
$ USER
Retorna o ID do usuário atual.

quarta-feira, 8 de fevereiro de 2017

Configurar Local DB SQL Server

Para podermos configurar uma base de dados local do Sql Server, criado por exemplo através do Visual Studio, podemos usar o comando sqllocaldb conforme as opções abaixo

 
C:\Windows\System32\>sqllocaldb /?
Microsoft (R) SQL Server Express LocalDB Command Line Tool
Version 13.0.1601.5
Copyright (c) Microsoft Corporation.  All rights reserved.
Usage: SqlLocalDB operation [parameters...]
Operations:
-?
    Prints this information
create|c ["instance name" [version-number] [-s]]
    Creates a new LocalDB instance with a specified name and version
    If the [version-number] parameter is omitted, it defaults to the
    latest LocalDB version installed in the system.
    -s starts the new LocalDB instance after it's created
delete|d ["instance name"]
    Deletes the LocalDB instance with the specified name
start|s ["instance name"]
    Starts the LocalDB instance with the specified name
stop|p ["instance name" [-i|-k]]
    Stops the LocalDB instance with the specified name,
    after current queries finish
-i request LocalDB instance shutdown with NOWAIT option
-k kills LocalDB instance process without contacting it
share|h ["owner SID or account"] "private name" "shared name"
    Shares the specified private instance using the specified shared name.
    If the user SID or account name is omitted, it defaults to current user.
unshare|u ["shared name"]
    Stops the sharing of the specified shared LocalDB instance.
info|i
    Lists all existing LocalDB instances owned by the current user
    and all shared LocalDB instances.
info|i "instance name"
    Prints the information about the specified LocalDB instance.
versions|v
    Lists all LocalDB versions installed on the computer.
trace|t on|off
    Turns tracing on and off
SqlLocalDB treats spaces as delimiters. It is necessary to surround
instance names that contain spaces and special characters with quotes.
For example:
   SqlLocalDB create "My LocalDB Instance"
The instance name can sometimes be omitted, as indicated above, or
specified as "". In this case, the reference is to the default LocalDB
instance "MSSQLLocalDB".

segunda-feira, 6 de fevereiro de 2017

Configurar IIS para Mapguide Open Source

Instalar MapGuide 2.4 on IIS

Instruções passo a passo para instalar MapGuide 2.4 no IIS.

Estas instruções devem também trabalhar com MapGuide 2.5 / 2.6. Renomeie ocorrências de "2.4" e "24", com o correspondente MapGuide versão.

Prerequisite: Microsoft .NET Framework 4

If Microsoft .NET Framework 4 or 4.5 is not installed, install ​Microsoft .NET Framework 4 (Web Installer).

Pré-requisitos: IIS

Windows Server 2008

  1. Open Start -> Server Manager -> Roles
  2. Roles Summary -> If "Web Server (IIS)" is not installed, Add Role
  3. Web Server (IIS) -> Add Role Services
  4. Install
    • Web Server (IIS) -> Application Development Features -> ASP.NET, which also installs .NET Extensibility, ISAPI Extensions and ISAPI Filters
    • Web Server (IIS) -> Application Development Features -> CGI, which also enables FastCGI in IIS7 and above
      clip_image001[7]

Windows 7 e 10

  1. Open Start -> Control Panel -> Programs -> Programs and Features -> Turn Windows features on or off
  2. Install
    • Internet Information Services, which also installs several default features
    • Internet Information Services -> World Wide Web Services -> Application Development Features -> ASP.NET, which also installs .NET Extensibility, ISAPI Extensions and ISAPI Filters
    • Internet Information Services -> World Wide Web Services -> Application Development Features -> CGI, which also enables FastCGI in IIS7 and above
      clip_image002[6]

Manual configuration: IIS

If MapGuide has been installed with a manual configuration, IIS will need to be manually configured.

  1. For Windows 7, open Start -> Control Panel -> System and Security -> Administrative Tools -> Internet Information Services (IIS) Manager
  2. Open [root]\Application Pools -> Actions -> Add Application Pool...
    • Name: MapGuide24AppPool
    • .NET Framework version: .NET Framework v4.0.30319
    • Managed pipeline mode: Integrated
  3. Tb podemos ter em alternativa para Mapguide 2.0
    • .NET Framework version: .NET Framework v2.0.50727
    • Managed pipeline mode: classic
    • Start application pool immediately: True
      clip_image003[6] clip_image005[6]
  1. IMPORTANTE……MUITO IMPORTANTE

Se não abrigarmos a corrermos o aplicativo em 32bits poderemos ter erros como no caso do fgci

clip_image007[6]

Mais à frente vamos configurar no passo 6 vamos configurar o módulo ISAPI para correr mapagent\isapi_MapAgent.dll

Ao criarmos este módulo ele adiciona ao webconfig a primitiva preCondition="bitness32". Ou seja, o IIS só corre o módulo ISAPi caso corra em 32 bits.

Como está a correr a 64 bits ele ignora a configuração e tenta correr a aplicação como se de um ficheiro estático se tratasse.

Para ultrapassar isso devemos forçar a aplicação criada MapGuide24AppPool, a correr a 32bits.

clip_image009[6]clip_image011[6]

  1. Open [root] -> FastCGI Settings (If there is no FastCGI Settings (ie. Windows Server 2008), install ​IIS 7.0 Administration Pack) -> Actions -> Add Application...
    • Full Path: C:\Program Files\OSGeo\MapGuide\Web\Php\php-cgi.exe
    • FastCGI Properties:
      • Max Instances: 0
      • Activity Timeout: 70

clip_image012[6]

  1. Open [root] -> ISAPI and CGI Restrictions -> Actions -> Add...
    • ISAPI or CGI path: C:\Program Files\OSGeo\MapGuide\Web\www\mapagent\isapi_MapAgent.dll
    • Description: MapGuide 2.4 MapAgent? ISAPI handle
    • Allow extension path to execute: True
      clip_image013[6]
  2. Open [root] -> MIME Types -> Actions -> Add...
    • File name extension: .json
    • MIME type: application/json
      clip_image014[6]
  3. Open [root]\Sites\Default Web Site -> Actions -> View Applications -> Actions -> Add Application...
    • Alias: mapguide
    • Application pool: MapGuide24AppPool (or MapGuide25AppPool)
    • Physical path: C:\Program Files\OSGeo\MapGuide\Web\www
      clip_image015[6]
  4. Open [root]\Sites\Default Web Site\mapguide -> Error Pages -> Select "401" -> Actions -> Remove
    • Are you sure that you want to remove the selected custom error page? Yes
  5. Open [root]\Sites\Default Web Site\mapguide -> Handler Mappings -> Actions -> Add Module Mapping...
    • Request path: *.php
    • Module: FastCgiModule?
    • Executable (optional): C:\Program Files\OSGeo\MapGuide\Web\Php\php-cgi.exe
    • Name: MapGuide_2.4_PHP_via_FastCGI
      clip_image016[6]
    • Do you want to create a FastCGI application for this executable? Yes
  6. Right-click [root]\Sites\Default Web Site\mapguide\mapagent -> Convert to Application
    • Alias: mapagent
    • Application pool: MapGuide24AppPool
    • Physical path: C:\Program Files\OSGeo\MapGuide\Web\www\mapagent
      clip_image017[6]
  7. Open [root]\Sites\Default Web Site\mapguide\mapagent -> Handler Mappings -> Select "CGI-exe" -> Actions -> Edit Feature Permissions...
    • Read: True
    • Write: True
    • Execute: True
      clip_image018[6]
  8. Open [root]\Sites\Default Web Site\mapguide\mapagent -> Handler Mappings -> Actions -> Add Script Map...
    • Request path: mapagent.fcgi
    • Executable: C:\Program Files\OSGeo\MapGuide\Web\www\mapagent\isapi_MapAgent.dll
    • Name: MapGuide 2.4 MapAgent? ISAPI handler
      clip_image019[6]
    • Open Request Restrictions...
      • Mappings -> Invoke handler only if request is mapped to: False
        clip_image020[6]
    • Do you want to allow this ISAPI extension? Yes
  9. Right-click [root]\Sites\Default Web Site\mapguide\mapviewernet -> Convert to Application
    • Alias: mapviewernet
    • Application pool: MapGuide24AppPool (or MapGuide25AppPool)
    • Physical path: C:\Program Files\OSGeo\MapGuide\Web\www\mapviewernet
      clip_image021[6]
  10. For .NET API: Right-click [root]\Sites\Default Web Site\mapguide -> Add Application...
    • Alias: mapviewerajax
    • Application pool: MapGuide24AppPool
    • Physical path: C:\Program Files\OSGeo\MapGuide\Web\www\mapviewernet
      clip_image022[6]
  11. For .NET API: Open [root]\Sites\Default Web Site\mapguide\mapviewerajax -> Default Document -> Add...
    • Name: ajaxviewer.aspx

Test

  1. http://192.168.1.14/mapguide/mapagent/mapagent.fcgi
  1. Open http:
    localhost\mapguide\mapagent\index.html -> Other -> Create Session -> Submit
    • Username: Administrator
    • Password: admin