anúncios

sexta-feira, 26 de outubro de 2018

Conhecendo e instalando o Telegram no Linux

O que é Telegram?

O Telegram é um serviço de mensagens instantâneas baseado na nuvem. O Telegram foi fundado em 2013 pelo irmãos Nikolai e Pavel Durov, os fundadores do VK, a maior rede social da Rússia [1]. O Telegram é uma empresa independente, não ligado ao VK. Baseia-se em Berlim, Alemanha [2].

Telegram precisa de um número de telefone para usar. Telegram é multiplataforma, tem clientes para desktop e móvel, como iOS, Android, Windows, além de uma versão para navegadores web. Diferente do WhatsApp, que limita para até 256 pessoas em cada grupo, no Telegram o usuário pode criar um grupo com até 100.000 membros.

Os usuários podem enviar mensagens e trocar fotos, vídeos, stickers e arquivos de qualquer tipo. Os clientes do Telegram possuem código aberto, porém seus servidores são proprietários. O serviço também providencia APIs para desenvolvedores independentes.

Características
  • Todas as conversas são criptografadas;
  • Streaming de vídeos e músicas;
  • Ligações de voz com aprendizado de IA;
  • Sincronização na nuvem entre dispositivos;
  • Maior velocidade no envio de mensagens;
  • Temas;
  • Modo noturno automático baseado no pôr e nascer do sol, em tempo programado ou no sensor de luminosidade;
  • Múltiplas contas Telegram em um único aplicativo, e alternação rápida entre essas contas;
  • Distribuição de servidores em todo o mundo para maior segurança e velocidade;
  • API em código aberto e protocolo livre para todos;
  • Gratuito, sem propaganda e mensalidades;
  • Pode enviar fotos, vídeos e arquivos: todos os tipos de arquivos suportados, até 1,5GB de tamanho;
  • Canais públicos ou privados com número ilimitado de seguidores;
  • Grupos para 200 membros e se convertido para supergrupo, passa a ter capacidade para 100 000 membros;
  • Chats secretos com criptografia end-to-end;
  • Mensagens de auto-destruição em chats secretos;
  • Auto-destruição de imagens e vídeos com contador em chats privados;
  • Status de leitura da mensagem: 1 traço = enviada, 2 traços = aberta;
  • Interação com bots, softwares programados para interagir de acordo com os comandos enviados e que se comportam como usuários;
  • Envio de stickers;
  • Possibilidade de criar pacotes de stickers com o @Stickers;

Depois de conhecer o Telegram e suas características, podemos seguir os procedimentos de instalação do Telegram no GNU/Linux, o qual se aplica a qualquer distribuição.

Procedimento de instalação do Telegram no GNU/Linux
Faça o download do Telegram no site abaixo conforme a arquitetura do seu computador
Plataforma Linux 32 bits

Plataforma Linux 64 bits

Instalação

$ tar -Jxf tsetup.1.4.3.tar.xz
# mv Telegram /opt
$ /opt/Telegram &

Agora só adicionar o aplicativo Telegram no menu do ambiente gráfico na distro que utiliza.
Participe dos grupo abaixo:

Grupo Linux+LPIC

Grupo Linguagens de Programação

Grupo FreeBSD

Grupo Infra TI Corporate

Grupo CodeIgniter Brasil

Canal Blog Computação

Referências

[1] Meet Telegram, A Secure Messaging App From The Founders Of VK, Russia’s Largest Social Network, TechCrunch . Data de publicação: 27 de outubro de 2013.

[2] Tweet by Telegram, Telegram official Publicado pela conta do Twitter em: 21 de fevereiro de 2014.

Feito!

sábado, 29 de setembro de 2018

Configurando Vhost do Apache no CentOS

O que é Vhost?

Vhost é a capacidade de ter diversos sites ou sistemas no mesmo servidor de forma isolada. Assim é possível ter vários domínios ou subdomínios no mesmo servidor.
O presente howto tem como objetivo explicar os procedimentos de configurar Vhost do Apache no RHEL/CentOS, mas também funciona em distros derivadas do RHEL/CentOS, como o Fedora por exemplo.

Configuração do Vhost

Considerando que já tenha o ambiente com Apache, PHP e os módulos PHP necessários já instalado, caso ainda não tenha, então segue o howto de configuração do ambiente PHP 7 no Linux (CentOS/Fedora) .

Caso já tenha o ambiente PHP 7 no CentOS/Fedora, então segue os procedimentos abaixo:
Primeiro é necessário adicionar a linha seguinte no final do arquivo /etc/httpd/conf/httpd.conf
# vim /etc/httpd/conf/httpd.conf
IncludeOptional sites-enabled/*.conf

No CentOS/Fedora é necessário criar os diretórios sites-enabled e sites-available, pois esses diretórios são fundamentais dos arquivos Vhosts.

# mkdir /etc/httpd/sites-available
# mkdir /etc/httpd/sites-enabled

O nome app.conf coloca o nome que quiser, geralmente é comum colocar o nome do domínio/subdomínio do Vhost correspondente.

# vim /etc/httpd/sites-available/app.conf

Altere o arquivo para ficar como este, apenas altere o diretório de localização do seu site ou sistema.


< VirtualHost *:80>
ServerName app.local
DocumentRoot "/var/www/html/app/public"
ErrorLog ${APACHE_LOG_DIR}/app.error.log
CustomLog ${APACHE_LOG_DIR}/app.access.log combined
  < Directory "/var/www/html/app/public">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
  < /Directory>
< /VirtualHost>

Nota: A configuração do Vhost acima é de uma aplicação web, que funciona na rede interna, para rede externa, só alterar o ServerName para o nome de domínio válido no registro.br.

Habilitar o Vhost app.conf

# ln -s /etc/httpd/sites-available/app.conf /etc/httpd/sites-enabled/app.conf

Reiniciar o Apache2


# systemctl restart httpd.service

Liberação do serviço HTTP no Firewalld

# firewall-cmd --zone=public --permanent --add-service=http
# firewall-cmd --reload


Adicionar o nome definido no ServerName do Vhost no arquivo hosts

Como neste caso o Vhost é na rede interna, então para simular o domínio é necessário adicionar no arquivo /etc/hosts o IP do servidor seguido do nome ServerName definido no arquivo Vhost.

# vim /etc/hosts
IPSERVIDOR    app.local

Para que uma máquina com Windows possa acessar a aplicação com o Vhost, o arquivo hosts é C:\Windows\System32\drivers\etc\hosts
Abrir com Bloco de Notas como Administrador o arquivo hosts no caminho mencionado.

Abre o browser e acesse http://app.local

Para criar outro Vhost, copie o arquivo do Vhost e troque o ServerName, DocumentRoot e Directory para o Vhost corresponde, habilita o novo Vhost, reiniciar o Apache e adicione no arquivo hosts.

Feito!

domingo, 23 de setembro de 2018

Configurando Vhost do Apache no Debian

O que é Vhost?

Vhost é a capacidade de ter diversos sites ou sistemas no mesmo servidor de forma isolada.
Assim é possível ter vários domínios ou subdomínios no mesmo servidor.
O presente howto tem como objetivo explicar os procedimentos de configurar Vhost do Apache no Debian, mas também funciona em distros derivadas do Debian, como o Ubuntu por exemplo.

Configuração do Vhost

Considerando que já tenha o ambiente com Apache, PHP e os módulos PHP necessários já instalado, caso ainda não tenha, então segue o howto de configuração do ambiente PHP 7 no Linux (Debian/Ubuntu) .

Caso já tenha o ambiente PHP 7 no Debian/Ubuntu, então segue os procedimentos abaixo:
O Apache tem um arquivo de configuração de Vhost de exemplo, então pode fazer uma cópia deste arquivo para cada Vhost que for criar, depois alterar o ServerName, DocumentRoot e Directory para o Vhost correspondente.

# cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/app.conf
O nome app.conf coloca o nome que quiser, geralmente é comum colocar o nome do domínio/subdomínio do Vhost correspondente.

# vim /etc/apache2/sites-available/app.conf
Altere o arquivo para ficar como este, apenas altere o diretório de localização do seu site ou sistema.
< VirtualHost *:80 >
ServerName app.local
DocumentRoot "/var/www/html/app/public"
ErrorLog ${APACHE_LOG_DIR}/app.error.log
CustomLog ${APACHE_LOG_DIR}/app.access.log combined
< Directory "/var/www/html/app/public" >
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
< /Directory >
< /VirtualHost >
Nota: A configuração do Vhost acima é de uma aplicação web, que funciona na rede interna, para rede externa, só alterar o ServerName para o nome de domínio válido no registro.br.

Habilitar o Vhost app.conf
# a2ensite app.conf

Reload do Apache2
# systemctl reload apache2

Como neste caso o Vhost é na rede interna, então para simular o domínio é necessário adicionar no arquivo /etc/hosts o IP do servidor seguido do nome ServerName definido no arquivo Vhost.
Para que uma máquina com Windows possa acessar a aplicação com o Vhost, o arquivo hosts é C:\Windows\System32\drivers\etc\hosts
Abrir com Bloco de Notas como Administrador o arquivo hosts no caminho mencionado.
Adicionar no arquivo hosts
IPSERVIDOR    app.local 
Abre o browser e acesse http://app.local

Para criar outro Vhost, copie o arquivo do Vhost criado anteriormente e troque o ServerName, DocumentRoot e Directory para o Vhost corresponde, habilita o novo Vhost, reload no Apache e adicione no arquivo hosts.

Feito!

sábado, 8 de setembro de 2018

Configurando Webmail RainLoop

O que é RainLoop Webmail?

RainLoop Webmail é um moderno cliente de e-mail que pode instalar em um servidor próprio e permite adicionar os domínios permitidos na respectiva conta do e-mail correspondente.
Possui suporte aos protocolos IMAP e SMTP, incluindo SSL e STARTTLS.
Integração com Facebook, Google, Twitter e Dropbox.

Requerimentos:
Servidores de aplicação web: Apache, Nginx, Lighttp e qualquer outro que tenha suporte a linguagem PHP com a versão mínima 5.4.
PHP extensions: cURL, iconv, json, libxml, dom, openssl, DateTime, PCRE, SPL
Browser: Google Chrome, Firefox, Opera 10+, Safari 3+, Internet Explorer 11 or EDGE RainLoop Webmail foi projetado com o uso eficiente de memória em mente, para que ele funcione bem em servidores web de baixo custo.

Depois de conhecer o RainLoop Webmail e pra que ser serve, podemos seguir os procedimentos de instalação e configuração do RainLoop Webmail em seu servidor GNU/Linux Debian/CentOS/Ubuntu Server.

Procedimentos de instalação e configuração
Considerando que já tenha o Apache+PHP com as extensões do PHP instalados, caso ainda não tenha, segue o howto de instalação do ambiente PHP 7 no Linux
Caso já tenha o ambiente PHP 7 no Debian, então segue os procedimentos abaixo
$ wget -c "https://www.rainloop.net/repository/webmail/rainloop-community-latest.zip"
# mkdir /var/www/html/rainloop
# unzip rainloop-community-latest.zip -d /var/www/html/rainloop
# chown -R www-data:www-data /var/www/html/rainloop

Permissões no /var/www/html/rainloop
# cd /var/www/html/rainloop
# find . -type d -exec chmod 755 {} \;
# find . -type f -exec chmod 644 {} \;


VirtualHost no Apache para o RainLoop Webmail
# vim /etc/apache/sites-available/rainloop.conf
< VirtualHost *:80 >
    ServerAdmin root.saitam@saitam.int
    ServerName webmail.saitam.int
    DocumentRoot "/var/www/html/rainloop"
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    < Directory "/var/www/html/rainloop" >
 DirectoryIndex index.php index.html index.htm
 AllowOverride All
 Order allow,deny
 Allow from all
    < /Directory >
< /VirtualHost >
ESC +:wq (salva e sai do editor Vim)
Ativar Vhost RainLoop Webmail
#a2ensite rainloop.conf
Reload do Apache
#systemctl reload apache2

Caso estiver configurando o RainLoop Webmail em um servidor na intranet, então para ser acessível nas máquinas de sua rede deve adicionar o IP do servidor RainLoop Webmail no arquivo hosts com o mesmo nome definido no ServerName.

No Windows o arquivo host o caminho é: C:\Windows\System32\drivers\etc\hosts
Abrir com Bloco de Notas como Administrador o arquivo hosts no caminho mencionado.

No GNU/Linux o caminho do arquivo hosts é: /etc/hosts

O conteúdo do arquivo hosts deve ter a seguinte linha
x.y.z.w webmail.dominio.int
Trocar x.y.z.w pelo respectivo endereço IP do servidor RainLoop Webmail e o webmail.dominio.int pelo mesmo nome definido no ServerName do Vhost.

Acesso ao RainLoop Webmail
Painel de administração do RainLoop Webmail, onde adiciona os domínios do servidor de e-mail e as configurações dos protocolos IMAP e SMTP, incluindo SSL e STARTTLS.
No browser é: http://webmail.dominio.int/?admin OU https://webmail.dominio.com.br/?admin
Por default, o usuário e password administrativo é admin/12345. Obviamente trocar o usuário/password default pelo de sua preferência.

Após adicionar os domínios e configurar os protocolos IMAP e SMTP do servidor de e-mail, pode acessar no browser acesse: http://webmail.dominio.int OU https://webmail.dominio.com.br

Feito!

terça-feira, 21 de agosto de 2018

7 anos de blog

O blog esta completando hoje, 21 de Agosto de 2018, 7 anos!

Gostaria de agradecer a todos pelo prestígio e a paciência de ler os posts que são publicados. Espero continuar compartilhando conhecimentos no blog para nossos leitores. Continuem prestigiando e divulgando o blog Mundo da Computação Integral, assim aumentamos nossa comunidade.

domingo, 13 de maio de 2018

Upgrade PHP 5.6/7.0 para 7.2 no Debian

De acordo com a postagem no Twitter sobre a recomendação de atualizar a versão do PHP para versão atual. Até a data de publicação deste post, a versão atual do PHP é 7.2.

"#PHP 5.6 is now in security fix only mode, which runs until the end of 2018. Plan your upgrades to PHP 7!"
https://twitter.com/official_php

Então, chega de conversa e vamos seguir os procedimentos seguintes para atualizar a versão do PHP no Debian.

# apt-get install apt-transport-https lsb-release ca-certificates
# wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
# sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
# apt-get update
# apt-get install php7.2-cli php7.2-common php7.2-curl php7.2-gd php7.2-json php7.2-mbstring php7.2-mysql php7.2-xml php7.2-fpm libapache2-mod-php7.2
Teste a versão do PHP com o comando seguinte: php --version
Se o retorno for 7.2, então está OK, pode desabilitar o módulo da versão anterior do PHP.
# a2dismod php5.6 ou
# a2dismod php7.0
# a2enmod php7.2
# service apache2 restart
# apt-get purge php5.6* ou
# apt-get purge php7.0*

Referência
https://tecadmin.net/install-php-debian-9-stretch/
Feito!

sábado, 10 de março de 2018

Configurando um servidor DNS no Debian

O que é DNS e pra que serve?

O Domain Name System (DNS) é um sistema de gerenciamento de nomes hierárquico e distribuído para computadores, serviços ou qualquer recurso conectado à Internet ou numa rede privada.

O DNS apresenta uma arquitetura cliente/servidor, podendo envolver vários servidores DNS na resposta a uma consulta. A função do servidor DNS é resolver nomes para os endereços IP e de endereços IP para nomes respectivos, e permitindo a localização de hosts no determinado domínio.

O software mais utilizado para configurar servidor DNS no GNU/Linux e FreeBSD é o BIND. Este software geralmente se encontra localizado no servidor DNS primário. O servidor DNS secundário é uma espécie de cópia de segurança do servidor DNS primário.

Depois de conhecer o DNS e para que serve, pode-se seguir o howto seguinte para configurar o servidor DNS na sua rede, apenas adapte o endereço IP e o nome de domínio.

Observação 1: Para uso de servidor DNS na rede interna é comum usar o sufixo .int para representar interno e não confundir com um domínio externo. Já se for configurar o servidor DNS na rede externa disponível na Internet, usa normal, só antes deve registrar o domínio no https://registro.br

Observação 2: O presente howto foi configurado e testado na distribuição Linux Debian 9, mas pode ser configurado na distro Ubuntu também.

Ok. Vamos nessa então? Abre o terminal, logue como root e segue os procedimentos seguintes.

# apt-get update
# apt-get install bind9 dnsutils whois
Observação: Este howto será utilizado o editor de texto Vim, mas o leitor pode usar outro editor que achar melhor.
Para novatos no editor Vim, para salvar e sair é ESC + :x

Configurando endereço IP fixo
# vim /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug enp0s3
iface enp0s3 inet static
address 192.168.1.6
netmask 255.255.255.0
gateway 192.168.1.1
# This is an autoconfigured IPv6 interface
iface enp0s3 inet6 auto
Alterar os arquivos hosts e hostname respectivamente
# vim /etc/hosts
Adicione a linha
127.0.0.1       localhost
127.0.1.1       perolanegra
192.168.1.6     perolanegra.saitam.int perolanegra
192.168.1.6     saitam.int
192.168.1.6     app.saitam.int
192.168.1.6     adm.saitam.int
192.168.1.6     carreiras.saitam.int

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

# vim /etc/hostname
perolanegra.saitam.int
Acessar até o diretório onde estão os arquivos do Bind
# cd /etc/bind
Criar as zona direta e reversa no arquivo named.conf.local
# vim named.conf.local
//Zona direta
zone "saitam.int" { //nome de domínio
  type master;
  file "/etc/bind/db.saitam"; //nome do arquivo que contém os endereços DNS
};

//Zona reversa
zone "1.168.192.in-addr.arpa" { //último quarteto do IP
  type master;
  file "/etc/bind/db.192";
};
Verificar se o arquivo de configuração contém erros
# named-checkconf
Criar os arquivos da zona direta e reversa
Zona direta
# vim db.saitam
;
; BIND data file for local loopback interface
;
$TTL    604800
@       IN      SOA     perolanegra.saitam.int root.saitam.int (
                         2018031000     ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@               IN      NS      perolanegra.
@               IN      A       192.168.1.6
@               IN      AAAA    ::1
router          IN      A       192.168.1.1
gateway         CNAME   router
app             IN      A       192.168.1.6
adm             IN      A       192.168.1.6
carreiras       IN      A       192.168.1.6
www             CNAME   saitam.int

Zona reversa
# vim db.192
;
; BIND reverse data file for local loopback interface
;
$TTL    604800
@       IN      SOA     perolanegra.saitam.int root.saitam.int. (
                         2018031000     ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      perolanegra.saitam.int.
6       IN      PTR     perolanegra.saitam.int.
6       IN      PTR     saitam.int.
1       IN      PTR     router.saitam.int.
6       IN      PTR     app.saitam.int.
6       IN      PTR     adm.saitam.int.
6       IN      PTR     carreiras.saitam.int.

Verificar se o arquivo de zona direta e reversa contém erros
# named-checkzone saitam.int /etc/bind/db.saitam.int
zone saitam.int/IN: loaded serial 2018031000
OK
# named-checkzone 1.168.192.in-addr /etc/bind/db.192
zone 1.168.192.in-addr/IN: loaded serial 2018031000
OK

Caso tenha ocorrido algum erro nos testes acima no seu servidor DNS, revise os arquivos de configuração com atenção, pois um ";" pode fazer a diferença na configuração do Bind.

Reiniciar o serviço Bind9
# /etc/init.d/bind9 restart
[ ok ] Restarting bind9 (via systemctl): bind9.service.

Para podermos usar o domínio configurado deve adicionar no arquivo /etc/resolv.conf Nas máquinas clientes deve trocar o IP do servidor DNS que utiliza pelo o IP da máquina que configurou o servidor DNS para poder resolver nomes usando o servidor DNS configurado.

# vim /etc/resolv.conf
domain saitam.int
search saitam.int
nameserver 192.168.1.6
Agora vamos verificar a resolução de nomes
# nslookup saitam.int
Server: 192.168.1.6
Address: 192.168.1.6#53

Name: saitam.int
Address: 192.168.1.6
# nslookup router
Server:         192.168.1.6
Address:        192.168.1.6#53

Name:   router.saitam.int
Address: 192.168.1.1
# nslookup 192.168.1.6
Server:         192.168.1.6
Address:        192.168.1.6#53

6.1.168.192.in-addr.arpa        name = carreiras.saitam.int.
6.1.168.192.in-addr.arpa        name = saitam.int.
6.1.168.192.in-addr.arpa        name = app.saitam.int.
6.1.168.192.in-addr.arpa        name = adm.saitam.int.
6.1.168.192.in-addr.arpa        name = perolanegra.saitam.int.
Referências
[1] https://pt.wikipedia.org/wiki/Domain_Name_System
[2] http://tldp.org/HOWTO/DNS-HOWTO-5.html
[3] https://www.isc.org/downloads/bind/

Feito!