Zimbra: Howto de instalação do Zimbra 8.7 (OSE) no Ubuntu 16

photo

Olá ! Para esse ano, irei dedicar alguns artigos sobre instalação e dicas básicas do Zimbra. Analisado o perfil das minhas publicações, constatei que os posts estavam exclusivamente relacionados a implementações de funcionalidades ou correção de problemas. Portanto, você que está começando com Zimbra, espero que este blog também consiga te ajudar.

Vamos então ao primeiro artigo: Instalação do Zimbra 8.7 (Open Source) no Ubuntu 16 !

Continuar lendo “Zimbra: Howto de instalação do Zimbra 8.7 (OSE) no Ubuntu 16”

BtrFS : Redimensionando o sistema de arquivos

FN57XR2HWNUE89W.MEDIUM

Olá ! Recentemente precisei redimensionar um sistema de arquivos BTRFS (caso não conheça: https://elias.praciano.com/2016/02/introducao-ao-sistema-de-arquivos-btrfs/).  Para ser mais preciso, o ambiente estava com o BTRFS implementado utilizando LVM e o procedimento de redimensionamento do LVM  foi executado normalmente. Diferentemente dos outros sistemas de arquivos, não se utiliza o caminho do dispositivo de armazenamento para efetuar o redimensionamento, e sim o path do mesmo:

Por exemplo, para redimensionar um FS BTRFS montado em “/”, para o máximo do tamanho do volume:

btrfs filesystem resize max /

[Conversando] Linux, carreira e gratidão

Olá ! Esse é meu primeiro post que não possui teor técnico e não farei disso uma prática, porém, após quase 6 anos que decidi criar meu blog, muitas coisas (boas) aconteceram. Desta forma, gostaria de compartilhar essa experiência.

  • Bom, se em 2010, me dissessem onde eu estaria hoje (profissionalmente), eu mesmo não acreditaria ! Apesar de sempre ter estudado e atuado com Linux e soluções livres, no mercado de trabalho onde eu atuava eu nunca conseguia uma oportunidade de crescimento. Sei que boa parte era por naquela época ainda não ter concluído o ensino superior, mas o fato é que nunca aparecia uma oportunidade para iniciar uma carreira verdadeiramente. Entre essa “desilusão”, ouvia muitos comentários, alguns construtivos e outros não, que com Linux não havia como construir uma carreira, certa vez, um conhecido falou que “O Linux é Dom Quixote da computação”, eu não quis aprofundar a discussão, somente ouvi para refletir.
  • Decidi então começar a investir na certificação LPI e em estudos na área de segurança da informação. Mal sabia eu que isso iria mudar completamente minha carreira e vida. Ainda nos primeiros períodos da faculdade, por ter obtido a LPI 1, recebi uma chance de atuar com Linux e Softwares Livres, e o melhor, a oportunidade de se mudar para um mercado de trabalho de T.I. muito maior e aquecido. Precisamos ser gratos sempre, portanto, eu jamais poderia deixar de agradecer essa oportunidade que recebi e que me propiciou muitas conquistas, conhecimento e alegrias – especialmente  o fato de ter iniciado também uma carreira como professor, além de consultor. Mais uma vez, eu mesmo não acreditaria nisso ! Eu sempre fui muito tímido. Quem diria que dar aula seria uma das maiores paixões da minha vida !
  • Pra concluir, seis anos após ter ouvido sobre “não ter como construir uma carreira atuando com Linux”, sou um profissional especializado, certificado e mantenho esse blog (agradeço a todos que o visitam, vocês são a razão do blog existir) com muito entusiamo. Atualmente estou em uma colocação fantástica, a qual também sou especialmente grato, por atuar com pessoas e profissionais fantásticos, além do crescimento que me propicia.

Então, o que me motivou a escrever esse texto? Respondo: Me fizeram a seguinte pergunta recentemente: “Se alguém que estivesse começando na sua área, te pedisse conselhos, o que você diria?”.

Eu só posso dizer: Acredite em você ! Ame o que você faz ! Quando disserem que algo é impossível, talvez somente não querem que você vá além deles ! Você irá encontrar muita gente desiludida, que desistiu no caminho, portanto, se capacite, insista, então conquiste !

Obrigado !

Obs.: Desnecessário rebater sobre carreira e posição do Linux no mercado atual, não é mesmo? 🙂

Zimbra 8.6: Registrando o assunto e anexos de todas as mensagens

zimbra-no-lettermark - Copy

Olá ! Nesse artigo irei comentar sobre uma necessidade de frequente em ambientes de correio eletrônico: Registrar os assuntos e nome dos anexos das mensagens que trafegam pelo ambiente.

Os procedimentos contidos nesse tutorial foram validados na versão 8.6, portanto, caso precise implementar em alguma versão anterior, poderá ser necessário efetuar algum ajuste.

Primeiramente, arquivo /opt/zimbra/conf/custom_header_checks deve ser criado com o seguinte conteúdo:

/^Subject:/ WARN Subject :
/filename=\”?(.*)\”?$/ WARN Document Attachment :

Captura de tela de 2015-05-29 15:12:26

Para que o Zimbra registre as informações desejadas será necessário definir o parâmetro “zimbraMtaBlockedExtensionWarnRecipient” para FALSE:

Captura de tela de 2015-05-29 15:09:39

Após modificar o parâmetro acima, os serviços do Amavis e Postfix devem ser reiniciados e os parâmetros para que o Postfix registre os eventos já podem ser adicionados.

  1. $ zmprov mcf zimbraMtaBlockedExtensionWarnRecipient FALSE

  2. $ zmamavisdctl restart

  3. $ zmprov mcf zimbraMtaHeaderChecks “pcre:/opt/zimbra/conf/postfix_header_checks,  pcre:/opt/zimbra/conf/custom_header_checks”

  4. $ postfix reload

Captura de tela de 2015-05-29 15:11:27

Desta forma, toda mensagem que passar pelo servidor irá gerar o alerta com a informação de Assunto e arquivos em anexo.

Referências:

http://imanudin.net/2015/01/14/adding-subject-and-attachment-information-on-the-log-zimbra-8-58-6/

Arquivos MSG: Visualizando no Linux

email_logo

Olá !

Gostaria de compartilhar com vocês um procedimento para conseguir abrir mensagens .MSG – formato gerado pelo Outlook – no Linux. O Outlook salva as mensagens neste formato e mesmo clientes de E-mail com o Outlook não conseguem abrir.

Para conseguir visualizar mensagens neste formato, é necessário converter para .EML e a ferramenta msgconvert pode ser utilizada para isso:
Instalar: cpan -i Email::Outlook::Message
Executar: msgconvert ARQUIVO.MSG
Será gerado um arquivo de mesmo nome porém com o formato e extensão EML.

Windows não inicia após instalar o Ubuntu

Olá ! Um conhecido instalou o Ubuntu 13.10 em seu notebook e o Windows 7 passou a não inicializar mais, para corrigir precisei modificar os parâmetros de carregamento deste SO, da seguinte forma:

Entrada criada pelo Ubuntu:

menuentry "Windows 7 (loader) (on /dev/sda1)" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root 1EA0019AA0017A13
    chainloader +1
}

Entrada corrigida:

menuentry "Windows 7 (loader) (on /dev/sda1)" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    insmod ntldr
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root 1EA0019AA0017A13
    ntldr ($root)/bootmgr
}

Apache com mod_proxy e múltiplos VirtualHost

Recentemente, recebi a demanda de configurar um servidor Apache com mod_proxy para efetuar balanceamento de diversos sites, sendo que cada um deveria direcionar para os seus respectivos servidores de aplicação, conforme a representação abaixo:

mod_proxy_and_vhost

Para que isso seja possível, basta criar as entradas Virtualhost para cada endereço, e dentro da diretiva especificar as configurações do balanceamento. Seguindo a representação acima, vejamos como fica a configuração, que também contempla o direcionamento das conexões HTTP de todos os endereços para https:

Também publicado em: 

https://github.com/fsschmidt/outros/blob/master/mod_proxy_multiple_virtualhost.conf

### CONFIGURACAO DO BALANCER COM MULTIPLOS VIRTUALHOST ###
### site1.laboratorio.com.br
### site2.laboratorio.com.br
### site3.laboratorio.com.br

NameVirtualHost *:80

<VirtualHost *:80>

#EFETUA O DIRECIONAMENTO DAS CONEXÕES HTTP PARA HTTPS
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>

NameVirtualHost *:443

### SITE1 ####
<VirtualHost *:443>
ServerName site1.laboratorio.cim.br
<Proxy balancer://mycluster>
BalancerMember http://10.196.1.1:80 route=1
BalancerMember http://10.196.1.2:80 route=2
ProxySet stickysession=ROUTEID
</Proxy>
ServerAdmin webmaster@localhost
SetEnv proxy-initial-not-pooled 1
####
DocumentRoot /var/www/
RewriteEngine On
#RewriteRule ^rest(.*)$ https://%{SERVER_NAME}/prototype/rest/$1 [QSA,L]
LimitRequestLine 32768
ProxyRequests off
SSLEngine On
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /etc/ssl/certs/cert.pem
SSLCertificateKeyFile /etc/ssl/certs/cert.key
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/other_vhosts_access.log combined
LogLevel warn

SSLVerifyClient none
SSLVerifyDepth 10
SSLOptions +StdEnvVars +ExportCertData

Header add set-cookie “ROUTEID=PHPSESSION.%{BALANCER_WORKER_ROUTE}e; path=/” env=BALANCER_ROUTE_CHANGED
ProxyPreserveHost On
ProxyPass / balancer://mycluster/
ProxyPassReverse / balancer://mycluster/
</VirtualHost>

#######################

### SITE2 ####
<VirtualHost *:443>
ServerName site2.laboratorio.com.br
<Proxy balancer://mycluster>
BalancerMember http://10.196.2.1:80 route=1

BalancerMember http://10.196.2.2:80 route=2

ProxySet stickysession=ROUTEID

</Proxy>
ServerAdmin webmaster@localhost
SetEnv proxy-initial-not-pooled 1
####
DocumentRoot /var/www/
RewriteEngine On
#RewriteRule ^rest(.*)$ https://%{SERVER_NAME}/prototype/rest/$1 [QSA,L]
LimitRequestLine 32768
ProxyRequests off
SSLEngine On
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /etc/ssl/certs/cert.pem
SSLCertificateKeyFile /etc/ssl/certs/cert.key
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/other_vhosts_access.log combined
LogLevel warn

SSLVerifyClient none
SSLVerifyDepth 10
SSLOptions +StdEnvVars +ExportCertData

Header add set-cookie “ROUTEID=PHPSESSION.%{BALANCER_WORKER_ROUTE}e; path=/” env=BALANCER_ROUTE_CHANGED
ProxyPreserveHost On
ProxyPass / balancer://mycluster/
ProxyPassReverse / balancer://mycluster/
</VirtualHost>

#######################

### SITE 3 ####
<VirtualHost *:443>
ServerName site3.laboratorio.com.br
<Proxy balancer://mycluster>
BalancerMember http://10.196.3.1:80 route=1
BalancerMember http://10.196.3.2:80 route=2
ProxySet stickysession=ROUTEID
</Proxy>
ServerAdmin webmaster@localhost
SetEnv proxy-initial-not-pooled 1
####
DocumentRoot /var/www/
RewriteEngine On
#RewriteRule ^rest(.*)$ https://%{SERVER_NAME}/prototype/rest/$1 [QSA,L]
LimitRequestLine 32768
ProxyRequests off
SSLEngine On
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /etc/ssl/certs/cert.pem
SSLCertificateKeyFile /etc/ssl/certs/cert.key
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/other_vhosts_access.log combined
LogLevel warn

SSLVerifyClient none
SSLVerifyDepth 10
SSLOptions +StdEnvVars +ExportCertData

Header add set-cookie “ROUTEID=PHPSESSION.%{BALANCER_WORKER_ROUTE}e; path=/” env=BALANCER_ROUTE_CHANGED
ProxyPreserveHost On
ProxyPass / balancer://mycluster/
ProxyPassReverse / balancer://mycluster/
</VirtualHost>