Arquivo da categoria: Fedora

Instalando o Cockpit no CentOS 7

Pessoal, sei que não é novidade mas o Docker continua progredindo e com isso diversas ferramentas. De forma manual ele já é uma mão na roda e isso também não é novidade no entanto resolvi testar uma ferramente gráfica Web para gerenciamento dos Containers.

Neste artigo eu vos apresento o Cockpit que é um gerenciador de servidores simples e fácil que permite gerenciar tudo via Web Browser.

Alternar entre um terminal e a ferramenta Web não é um problema os serviços podem ser gerenciados totalmente pela interface o que facilita muito.

Além disso voce pode monitorar os serviços todos em uma só tela, para isso basta adicionar outros servidores com um simples clique.

Mãos a obra:

Instalando o Cockpit e suas dependências:

[root@server ~]# yum install cockpit

Habilite o serviço Cockpit pra sobreviver ao reboot:

[root@server ~]# systemctl enable cockpit.socket
ln -s '/usr/lib/systemd/system/cockpit.socket' '/etc/systemd/system/sockets.target.wants/cockpit.socket'
[root@server ~]#

Adicione o Cockpit a lista de serviços confiáveis do Firewalld:

[root@server ~]# firewall-cmd --permanent --zone=public --add-service=cockpit
success
[root@server ~]#
[root@server ~]# firewall-cmd --reload
success
[root@server ~]#
[root@server ~]# firewall-cmd --list-services
cockpit dhcpv6-client ssh
[root@server ~]#

Inicie o Serviço do Cockpit:

[root@server ~]# systemctl start cockpit.socket

Faça o Systemd recarregar os serviços:

[root@server ~]# systemctl daemon-reload

Reinicie o Serviço do Cockpit:

[root@server ~]# systemctl restart cockpit

Acesse a interface Web do Cockpit se autentique como root divirta-se!

Screenshot from 2015-06-22 17:19:26


Emulando o Chromecast utilizando o Fedora 20/21.

Acredito que muitos já conheçam o Chromecast e seus benefícios abaixo coloco uma descrição sobre ele:

O que é afinal o Chromecast?

Chromecast-Desktop

“O Chromecast é um dispositivo de streaming de mídia do tamanho de um pendrive que se conecta à porta HDMI na sua TV. Basta usar um smartphone Android, um tablet, um iPhone®, um iPad®, um notebook Windows ou Mac ou um Chromebook para transmitir seu entretenimento e seus apps favoritos diretamente para a tela da TV.” Google.

Bem, a descrição é bem objetiva e ativa a curiosidade de muita gente, afinal se está lendo este artigo acredito que já tenha despertado tal curiosidade…

Imagine agora todos os aplicativos que ama agora em sua TV tais como Youtube, Netflix, Vevo, Crackle, Rdio e até mesmo transmitir a tela de seu Celular para a TV.

Acredito que já é possível perceber que sou um entusiasta do produto e é isso que me motivou a escrever este artigo onde irei apresentar a vocês como emular o Chromecast usando o Fedora. Ainda assim é possível usar outras distribuições Linux e até mesmo o Windows mas irei focar apenas no Fedora 20/21.

Nós iremos utilizar o Leapcast que é um emulador do Chromecast para qualquer plataforma seja Linux, Windows ou Mac.

Agradecimentos ao Janez “dz0ny” Troha: https://github.com/dz0ny pelo desenvolvimento deste software além de todos os Contribuidores da Comunidade.

O Leapcast tem ainda algumas limitações, há algum tempo eles mudaram a API para outra versão o que inviabilizou o uso de alguns softwares para o mesmo.

A equipe de desenvolvimento do Leapcast está com a versão 2 da API e em breve teremos o Leapcast funcional novamente.

Por enquanto apenas o Youtube está funcionando e é suficiente para alguns testes e avaliações.

Então vamos lá, mãos a obra!

Nós precisaremos de alguns pacotes antes de iniciarmos a instalação, instalem usando o comando abaixo:

yum install git python-virtualenvwrapper python-pip python-twisted-web python-devel

É necessário ainda que o Google Chrome esteja instalado, nós o usaremos em conjunto com o Leapcast.

Caso o comando acima tenha sido executado com sucesso clone o diretório do GitHub:

git clone https://github.com/dz0ny/leapcast.git

Feito isso use o comando a seguir para instalarmos o Leapcast:

python setup.py develop

Verifique se o comando acima executou, caso não o tenha verifique a saída da comando e analise.

Para executarmos o Leapcast precisaremos preencher alguns parâmetros abaixo coloco um exemplo:

leapcast -i <Endereco IP> –name <Nome a escolher> –chrome /usr/bin/google-chrome –fullscreen

Substitua os campos acima de acordo com suas preferências e pressione Enter o resultado deve ser parecido com o exemplo abaixo:

INFO:root:Starting SSDP server
INFO:root:Starting LEAP server
INFO:root:Loading Config-JSON from Google-Server
INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): clients3.google.com
INFO:root:Parsing Config-JSON
INFO:root:Added edaded98-5119-4c8a-afc1-de722da03562 app
INFO:root:Added PlayMovies app
INFO:root:Added 00000000-0000-0000-0000-000000000000 app
INFO:root:Added 1812335e-441c-4e1e-a61a-312ca1ead90e app
INFO:root:Added 06ee44ee-e7e3-4249-83b6-f5d0b6f07f34 app
INFO:root:Added 2be788b9-b7e0-4743-9069-ea876d97ac20 app
INFO:root:Added GoogleSantaTracker app
INFO:root:Added 06ee44ee-e7e3-4249-83b6-f5d0b6f07f34_1 app
INFO:root:Added Pandora_App app
INFO:root:Added YouTube app
INFO:root:Added aa35235e-a960-4402-a87e-807ae8b2ac79 app
INFO:root:Added HBO_App app
INFO:root:Added Revision3_App app
INFO:root:Added Songza_App app
INFO:root:Added a7f3283b-8034-4506-83e8-4e79ab1ad794_2 app
INFO:root:Added Netflix app
INFO:root:Added GoogleMusic app
INFO:root:Added Post_TV_App app
INFO:root:Added 18a8aeaa-8e3d-4c24-b05d-da68394a3476_1 app
INFO:root:Added ChromeCast app
INFO:root:Added Hulu_Plus app
INFO:root:Added GoogleCastSampleApp app
INFO:root:Added GoogleCastPlayer app
INFO:root:Added Fling app
INFO:root:Added TicTacToe app

Agora para testar basta usar um Celular ou Tablet com Android ou iOS abrindo o aplicativo Youtube, desde que o servidor esteja na mesma rede sem fio o aplicativo irá apresentar um ícone como este abaixo no topo direito da tela:

Youtube-Android

Ao clicar neste ícone você irá ver o nome que colocou no último comando, basta selecioná-lo e neste instante já poderá ver o vídeo do Youtube sendo reproduzido na tela do Computador.

Um abraço e até a próxima.


Melhor How-to para entender definitivamente o Iptables.

O Iptables parece complicado a primeira vista no entanto o seu processo de funcionamento é bastante lógico, compreendendo seu fluxo fica mais fácil evoluir na construção de regras.

Visite o link para este How-to: http://fedorasolved.org/Members/kanarip/iptables-howto

Abraços.


Instalando o Fresh Player Plugin no Firefox – Fedora 20

Atualmente, para testar o Fresh Player Plugin (lembre-se, o programa está em estágios iniciais de desenvolvimento e sua funcionalidade é limitada. Ele não funciona com muitos sites, incluindo YouTube), você pode compilar ele a partir do código fonte seguindo as instruções abaixo.

Passo 1. Abra um terminal (Usando o Dash ou pressionando as teclas CTRL+ALT+T);

Passo 2. Instale as dependências necessárias com o comando abaixo:

yum install glib2-devel libX11-devel uriparser-devel cairo-devel pango-devel freetype-devel gtk2-devel gcc-c++ alsa-lib-devel libconfig-devel libevent-devel mesa-libGLES-devel git cmake

Passo 3. Baixe o código do programa com o comando a seguir:

git clone https://github.com/i-rinat/freshplayerplugin.git

Passo 4. Vá até a pasta criada;

cd freshplayerplugin

Passo 5. Crie uma pasta usando o comando abaixo:

mkdir build

Passo 6. Entre na pasta criada:

cd build

Passo 7. Inicie a preparação com esse comando:

cmake ..

Passo 8. Agora use o comando a seguir para compilar o programa:

make

Passo 9. Depois de compilado, copie o arquivo libfreshwrapper-pepperflash.so da pasta de compilação para a pasta de plugin do navegador. Para o Firefox, copie-o para /usr/lib64/mozilla/plugins/, usando o comando abaixo (para outros navegadores consulte a documentação dos mesmos):

cp libfreshwrapper-pepperflash.so /usr/lib64/mozilla/plugins/

Como o plugin é apenas um wrapper para o Pepper Flash do Google Chrome, você vai precisar do arquivo libpepflashplayer.so. O caminho do Pepper Flash é codificado para /opt/google/chrome/PepperFlash/libpepflashplayer.so e para obter libpepflashplayer.so nesse local, você terá que fazer o seguinte: Instalar a versão estável do Google Chrome.

Créditos para o Edivaldo que fez o tutorial para Ubuntu: http://www.edivaldobrito.com.br/fresh-player-plugin-pepper-flash-wrapper-para-o-firefox-e-outros-navegadores-compativeis-com-npapi/


Da virtualização a Aplicações Distribuídas. (Docker)

Neste post faremos uma abordagem sobre o Docker, o Docker é uma plataforma aberta para desenvolvedores e Sys-Admins instalarem, configurarem e executarem aplicações de forma indiferente ao ambiente, seja ele um Laptop, um Data Center ou numa Cloud.

O Docker é dividido em duas partes que cito abaixo:

– Docker Engine: Um conjunto de ferramentas leve e portátil.

– Docker Hub: Um serviço em Cloud para compartilhar aplicações e automatizar as tarefas.

O Docker permite que as aplicações sejam facilmente preparadas com seus devidos componentes e elimina os problemas de compatibilidade e convergência entre ambientes, sejam eles Desenvolvimento, QA ou Produção.

Como resultado os colaboradores podem embarcar rapidamente a mesma aplicação sem alterá-las entre Laptops, Data Centers ou qualquer Cloud.

Palavras de Solomon Hykes, Fundador e CTO da Docker.

Ok, Como o Docker se diferencia da Virtualização?

Containers vs. Virtualization

Containers vs. Virtualization

Máquinas Virtuais

Cada aplicação que é virtualizada inclui não somente a aplicação na qual pode conter dezenas de MB’s além de todo o Sistema Operacional na qual poderá ter centenas de MB’s.

Docker

O Docker Engine compreende apenas a aplicação suas dependências. Ele executa como um processo isolado no userspace do sistema operacional do host, compartilhando o kernel e outros  containers. Desta forma, ele aproveita as isolações de recursos e benefícios da alocação de VMs mas muito mais portável e eficiente.

O Docker já é bem utilizado por empresas tais como Ebay e Spotify.

Para usuários do Fedora a instalação é bem simples, para isso execute os comandos abaixo (Tomarei como exemplo a instalação da imagem do Owncloud rodando no Fedora):

[root@host ~]# yum install docker-io

Para iniciar o serviço execute o comando abaixo.

[root@host ~]# systemctl start docker.service

Execute o comando a seguir para permitir que o serviço inicie automaticamente após um reboot.

[root@host ~]# systemctl enable docker.service

Agora, vamos verificar se o serviço está ativo executando o comando abaixo.

[root@host ~]# systemctl status docker.service
docker.service – Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; static)
Active: active (running) since Mon 2014-09-01 17:51:34 BRT; 4s ago
Docs: http://docs.docker.com
Main PID: 21439 (docker)
CGroup: /system.slice/docker.service
└─21439 /usr/bin/docker -d -H fd:// –selinux-enabled

Sep 01 17:51:34 host docker[21439]: [d38cce51.init_networkdriver()] creating new bridge for docker0
Sep 01 17:51:34 host docker[21439]: [d38cce51.init_networkdriver()] getting iface addr
Sep 01 17:51:34 host docker[21439]: [d38cce51] -job init_networkdriver() = OK (0)
Sep 01 17:51:34 host docker[21439]: Loading containers: ……………………: done.
Sep 01 17:51:34 host docker[21439]: [d38cce51.initserver()] Creating pidfile
Sep 01 17:51:34 host docker[21439]: [d38cce51.initserver()] Setting up signal traps
Sep 01 17:51:34 host docker[21439]: [d38cce51] -job initserver() = OK (0)
Sep 01 17:51:34 host docker[21439]: [d38cce51] +job acceptconnections()
Sep 01 17:51:34 host docker[21439]: [d38cce51] -job acceptconnections() = OK (0)
Sep 01 17:51:34 host systemd[1]: Started Docker Application Container Engine.

Crie uma conta no site do Docker: https://hub.docker.com/ antes de executar os comandos a seguir.

Utilize as credenciais criadas no site do Docker Hub para permitir transações entre o serviço instalado e o Docker Hub de acordo com o comando a seguir.

[root@host ~]# docker login -e “endereco@dominio.com” -u “username” -p “password”

É possível listar as imagens disponíveis no Docker Hub executando o comando abaixo.

[root@host ~]# docker image -a

Após localizar a imagem a ser baixada do Hub execute o comando a seguir. (No caso eu escolhi a imagem fedora/owncloud)

Para baixar uma imagem do Hub após estar registrado utilize o comando abaixo:

[root@host ~]# docker pull fedora/owncloud

Enfim vamos agora executar o conteúdo de nossa imagem com o comando a seguir (Lembre que as imagens não são instaladas, são diretamente executadas)

[root@host ~]# docker run -d -p 443:443 fedora/owncloud

Abra seu browse e utilize o seguinte endereço: http://localhost/owncloud para configurar o Owncloud.

Para maiores detalhes acesse o site do Docker e verifique os detalhes de cada imagem gerada.

É possível gerar suas próprias imagens, o site disponibiliza diversas documentações para fazer seu próprio build.

Bem, por enquanto é isso.


SSSD: Bug utilizando Criptografia TLS em implementações (LDAP+Kerberos+GSSAPI).

Informação Importante!

A implementação do SSSD (LDAP+Kerberos+GSSAPI) não requer criptografia TLS para conexões TLS ou SSL, foram detectados problemas ao se configurar a conexão LDAP+TLS+GSSAPI tendo em vista que o mecanismo do GSSAPI falha ao tentar estabilizar o contexto de segurança da negociação quando um conexão TLS vier a falhar.

Referências: https://tools.ietf.org/html/rfc5056


389/RHDS memberOf plugin

Olá pessoal pra quem ainda não sabe o 389/Red Hat Directory Server (RHDS) tem o plugin “memberOf” (começando na versão Fedora DS 1.1.1, com grandes melhorias a partir de 389-DS 1.2.7, e desde o RHDS v8.1), que oferece a mesma funcionalidade como o recurso “memberOf” do Active Directory.

O plugin memberOf está desativado por padrão tanto no 389 quanto no RHDS. Uma vez ativado ele irá mostrar os valores de dn de todos os grupos como uma entrada no atributo memberOf. Ele funciona adicionando um atributo e o valor de entrada automaticamente, quando eles são adicionados a um grupo. Diferente da funcionalidade similar “isMemberOf” da última versão do Sun/Oracle Directory Server Enterprise Edition, memberOf retorna como um atributo de usuário padrão e, portanto, não precisa ser especificado explicitamente em uma pesquisa.

Pelo fato de ser um atributo standard, para adicionar o memberOf a uma entrada, pelo menos um objectclass deve ser incluido como um atributo permitido. O novo esquema 389/RHDS inclui a classe de objeto inetUsr, que permite memberOf.

[me@emyhost ~]$ ldapsearch -x -LLL -h localhost -D "cn=directory manager" 
-W -b "dc=example,dc=com" -s sub "uid=me"
Enter LDAP Password: 
dn: uid=me,ou=People,dc=example,dc=com
givenName: My
sn: Test
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
objectClass: inetUser
uid: me
* * *
memberOf: cn=Directory Administrators,dc=example,dc=com
memberOf: cn=Staff,ou=Groups,dc=example,dc=com
memberOf: cn=Users,ou=Groups,dc=example,dc=com

Para ativar o plugin, usar o console gui ou simplesmente alterar o valor de “nsslapd-pluginEnabled” em “cn=memberOf Plugin, cn=plugins, cn=config” de “off” para “on”. Se o diretório usa “uniquemember” em vez de “membro” como o atributo de membro do grupo, a primeira entrada deve ser substituída por este último na “memberofgroupattr”. Aqui estão algumas LDIFs para fazer o trabalho (aplicar usando ldapmodify):

dn: cn=memberOf Plugin,cn=plugins,cn=config
changetype: modify
replace: nsslapd-pluginenabled: on
-
replace: memberofgroupattr
memberofgroupattr: uniquemember

O plugin é então ativado após reiniciar o serviço de diretório.

Para modificar membros de grupos existentes (como um plugin do post-operation ele irá adicionar o atributo memberOf apenas para os membros do grupo recém-adicionados), o script de correção-memberof.pl está incluido. Ele pode ser encontrado em /usr/lib64/dirsrv/slapd-[nomedainstância]. A sintaxe fica assim:

fixup-memberof.pl -v -D "cn=directory manager" -w - 
 -b "dc=example,dc=com"

O script funciona ajustando o memberOf task no diretório. Isso pode ser feito manualmente, adicionando a seguinte entrada:

dn: cn=example memberof,cn=memberof task,cn=tasks,cn=config
objectclass: extensibleObject
cn:example memberof
basedn: ou=people,dc=example,dc=com
filter: (objectclass=groupofuniquenames)

(use ldapadd, ou ldapmodify com o parametro “-a”)

Referência: http://onemoretech.wordpress.com/2011/11/23/389rhds-memberof-plugin/


Configurando um DHCP com suporte a Múltiplas Subnets

Então pessoal, configurar um Servidor DHCP em Linux é uma tarefa fácil no entanto quando precisamos de maiores recursos isso pode se tornar uma dor de cabeça.

No meu caso eu estou utilizando uma Switch Layer 3 da marca Foundry modelo FastIron Edge X424 conforme artigo anterior e ela é parte essencial no funcionamento deste modelo de DHCP Server, então vamos lá.

Primeiramente instale o pacote do DHCP Server, no meu caso usei o Ubuntu 12.04.1 LTS, execute o comando:

apt-get install isc-dhcp-server

Depois de instalado o pacote vamos configurá-lo:

vim /etc/dhcp/dhcpd.conf

# option definitions common to all supported networks…
option domain-name “sci2013.org”;
option domain-name-servers  8.8.8.8;
authoritative;
default-lease-time 600;
max-lease-time 7200;

# Use this to enble / disable dynamic dns updates globally.
#ddns-update-style none;

# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
#authoritative;

# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
log-facility local7;
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.254;
range 192.168.1.1 192.168.1.250;
}

subnet 192.168.2.0 netmask 255.255.255.0 {
option routers 192.168.2.254;
range 192.168.2.20 192.168.2.200;
group {
host Instrutor4 {
hardware ethernet 74:86:7a:fb:f9:11;
fixed-address 192.168.2.6;
}
host Webconf4 {
hardware ethernet 74:86:7a:fb:f9:10;
fixed-address 192.168.2.7;
}
}
}

subnet 192.168.3.0 netmask 255.255.255.0 {
option routers 192.168.3.254;
range 192.168.3.10 192.168.3.200;
}
subnet 192.168.4.0 netmask 255.255.255.0 {
option routers 192.168.4.254;
range 192.168.4.10 192.168.4.100;

}

Configurando a Foundry a fim de permitir que os broadcasts dos hosts sejam direcionados para o DHCP Server a partir de cada Vlan individualmente configurada permitindo que o DHCP Server consiga decidir a qual subnet cada host pertence.

Lembrando que para que as configurações tenham efeito as Vlans devem estar configuradas e funcionando.

SSH@FESX424 Router(config)#interface ve 110

SSH@FESX424 Router(config-vif-110)#ip helper-address <IP>

Isso irá habilitar o encaminhamento de datagramas UDP em broadcast para o IP do DHCP Server, sem isso seu servidor ficará sem efeito.

É isso pessoal até…


Easy Life Fedora 16.

Caro leitor,

Visando facilitar a vida dos usuários do Fedora, foi criada uma ferramenta que permite tanto novos usuários quanto experientes a instalarem diversos softwares bastando apenas utilizar um clique.

Experimente esta ferramenta!

Inclusive já está disponível para o Fedora 16!!!

Link: http://www.projetofedora.org/easylife_para_fedora16


Fedora 16 Beta

É, faltam 13 dias para o lançamento do Fedora 16, pra os apressadinhos a versão Beta já está disponível.

Segue o Link: http://fedoraproject.org/en/get-prerelease

Um abraço a todos!