Apache Instalar LetsEncrypt no Debian (Certificado SSL grátis!)

O Lets Encrypt  é um serviço que permite obter certificados digitais gratuitos, para permitir de uma forma fácil e gratuita disponibilizar https em qualquer site.

Os passos que enumero a seguir são para utilização no Debian (em distribuições derivadas como Ubuntu, Mint, etc.. deve funcionar! com sudo!)

Antes de começar é necessário já ter o Apache ou Ngix instalado e configurado para responder na porta 80 e 443!

Caso ainda não tenha git instalado temos que o instalar com o comando:
apt-get install git
A seguir fazemos um clone do repositório do GitHub:

git clone https://github.com/letsencrypt/letsencrypt

Antes de prosseguir é conveniente já ter a porta 443 reencaminhado para o servidor, pois durante o processo haverá uma validação do Lets Encrypt, em que há uma ligação à porta 443 para verificação!

Para o script configurar automaticamente os virtual hosts com SSL é necessário que o modulo ssl já esteja ativo no apache :
a2enmod ssl

Se não houver ficheiros de configuração para os hosts virtuais estes serão criados com as configurações corretas.

E por ultimo é só ir ao directório onde foi clonado o repositório e correr o script automático:

cd letsencrypt
./letsencrypt-auto

Este comando vai verificar se os pacotes necessários existem no sistema e caso não existam instala!

Quando as dependências estiverem satisfeitas um wizard questionará quais os sites configurados no Apache é que queremos configurar para usar ssl.

Caso o site tenha todo o conteúdo servido por https o icon da barra de endereço ficará verde… caso não fique ou haja algum aviso de “mixed content” pode ser necessário modificar o código do site para carregar scripts, css , imagens e outros conteúdos por https, ou deixar que o browser decida omitindo o prefixo do url (http ou https), por exemplo uma imagem carregada como img rsc=”http://antoniocampos.net/imagem.png” deverá ficar apenas img src=”//antoniocampos.net/imagen.png”, a omissão de protocolo é suportado por todos os browser recentes.

ssl

DIG – Testar configuração DNS

O comando dig em Linux é bastante útil para “ler” informações do sobre as configurações de DNS de um domínio e permite também indicar de que servidor queremos obter essa informação, se por exemplo estamos a configurar um novo servidor DNS para um domínio podemos com o dig testar as configurações que o novo servidor tem sem ter que alterar os servidores dns do domínio… permitindo alterar apenas os servidores dns quando estiver tudo OK.

O google “oferece” uma ferramenta que permite usar o comando dig numa interface web sem ter que se saber a sintaxe de cada switch do comando, podem usar no Caixa de Ferramentas do Google, nesta toobox existem outras ferramentas úteis para testar por exemplo a configuração dos registos MX, ou fazer debug aos cabeçalhos de uma mensagem de email para saber por onde passou antes de chegar ao destino.

 

SqlServer SELECT Case Sensitive

Sql Server

Por defeito o SQL ignora as maiúsculas e minúsculas no valor dos parâmetros… para forçar o SQL Server a ter em conta maiúsculas e minúsculas num determinado querie basta acrescentar ao query uma COLLATION que tenha em conta maiúsculas e minúsculas por exemplo SQL_Latin1_General_CP1_CS_AS, 

por exemplo “select * from Tabela where nome= ‘Antonio’  COLLATE SQL_Latin1_General_CP1_CS_AS AND sobrenome = ‘Campos’  COLLATE SQL_Latin1_General_CP1_CS_AS

sem o COLLATE SQL_Latin1_General_CP1_CS_AS o querie ia retornar qualquer linha desde que tivesse “antonio”  no nome independentemente de ter ou não letras maiúsculas.

 

Nova morada

Link

Decidi deixar de usar o domínio que usava neste blogue desde o seu inicio em 2005, embora não publique com muita frequência uso o servidor e o domínio para alojar algumas experiências e fazer testes.

Utilizei nestes 11 anos o serviço gratuito do no-ip.com, que nunca me deixou mal! quando criei a conta o domínio no-ip.com ainda fazia parte dos domínios que podia usar nas contas gratuitas, sei que isso já não é possível há alguns anos….

Neste período o blogue esteve offline algumas vezes com motivos como por exemplo, acidentalmente me “fechar” fora da firewall (Iptables) ou quando faltava a corrente eléctrica ou a internet e principalmente quando fazia alterações no servidor (que também me serve para outras coisas!!!) que corriam mal!

Não me esforcei muito para encontrar um novo domínio… substitui apenas o .no-ip.com por .net!!

Para esta alteração ser transparente renomeie o host antoniocampos.no-ip.com do apache para antoniocampos.net e apontei o host antoniocampos.no-ip.com para uma pasta que apenas tem um .htaccess que reencaminha todos os pedidos para o novo domínio exactamente com os mesmo parâmetros!!!

RewriteEngine on
RewriteRule ^(.*)$ http://antoniocampos.net/$1 [R=301,L]

Na configuração do WordPress alterei o domínio nas configurações reiniciei o Apache e parece que funcionou!!!

Como o servidor é fraquinho aproveitei para configurar o serviço cloudflare para me poupar alguma largura de banda e alguns pedidos…

Embora não seja coisa que me preocupa muito… segundo o video do Matt Cutts (da Google) esta alteração não deve afectar a indexação dos motores de busca… nem a “autoridade” (se é que tenho alguma!!) do site…

Componentes e controlos .net Framework

Syncfusion

Escolher componentes e controlos para uma aplicação não é tarefa fácil… temos que que ter em conta as funcionalidades que acrescentam à nossa aplicação, o “peso” que os componentes ou controlos terão no desempenho da aplicação, e o tempo que pouparão ao desenvolvimento.

Outro factor é o preço dos próprios componentes e controlos, se for para usar num ou mais projectos grandes a serem comercializados facilmente se dilui o preço de aquisição no preço de venda… se for para uma aplicação desenvolvida por uma pequena empresa ou por um freelancer para uso próprio a maioria dos “pacotes” de componentes têm preços que não compensam o custo, e limitamos-nos a usar o standard.

Em pensar nos freelancers e nas pequenas empresas, e também inspirada na Miscrosoft que nos “deu” a versão community do Visual Studio, uma empresa chamada Syncfusion criou uma versão “community” do seu pacote de componentes e controlos, esta versão gratuita (com valor comercial de quase 10 000€)  destina-se a programadores individuais ou equipas até 5 utilizadores que facturem por ano menos de $ 1 000 000 (USD).

Na versão gratuita do “ESSENTIAL STUDIO 2015 VOLUME 4” estão incluídos todos os componentes e controlos das versões pagas que enumero abaixo (esta lista está incompleta para a lista completa ver o site da Syncfusion)

WEB

  • ASP.NET MVC
  • ASP.NET Web Forms
  • JavaScript
  • LightSwitch
  • Silverlight

MOBILE

  • iOS
  • Android
  • Windows Phone
  • WinRT
  • Xamarin
  • JavaScript
  • Orubase
  • UWP

DESKTOP

  • Windows Forms
  • WPF
  • UWP

FILE FORMATS

  • Excel

  • PDF

  • Word

  • PowerPoint

Para saber mais sobre a licença gratuita basta ir ao site http://www.syncfusion.com/products/communitylicense.

 

Como não trabalho (para já!!) com Android ou IOS, não posso opinar quanto à qualidade dos componentes para estas plataformas, posso apenas comentar os componentes de Windows, para já os componentes que usei (da versão gratuita) foram apenas os destinados a WPF, e são de facto fáceis de usar e trazem um grande valor acrescentado à aplicação. Por exemplo se usar-mos a datagrid standard do .net teremos algo muito estático… ao usar a datagrid da SyncFusion temos filtros (como os do Excel), agrupamentos por colunas, etc… e o código a mais é praticamente nulo. O “menu” Ribbon (não existe equivalente na framework) também é muito simples de usar e modificar e deixa as nossas apps com um visual a que os utilizadores já se habituaram.

Sem dúvida algo a experimentar e usar…

PS. Este post não é patrocinado, é mais uma especie de agradecimento à empresa SyncFusion pelo excelente produto… e pela sua versão community, que tenho usado nos projectos pessoais.