Instalando o Shibboleth Service Provider (2.3) no Gentoo [Dica]
Publicado por Perfil removido em 23/09/2010
[ Hits: 5.934 ]
Findados meus testes, achei interessante publicar aqui também um artigo de minha autoria explicando como fazer a instalação do Shibboleth Service Provider no Gentoo.
O procedimento ainda é experimental e os ebuilds ainda não estão na árvore do portage. No entanto, tenho tido casos de sucesso nesta instalação e caso alguém esteja tentando algo parecido, talvez possa ser útil.
Segue meu artigo na íntegra [salvo pequenas correções], como em:
http://linux.lcc.ufmg.br/index.php/component/content/article/36-gentoo/114-instalando-o-shibboleth-service-provider-23-no-gentoo.html
O Shibboleth Service provider (shibboleth-sp) é uma interessante ferramenta para sistemas que utilizam o procedimento de exportação de atributos, conhecido como single sign-on. Vejamos como podemos instalá-lo no Gentoo.
Não podemos contar ainda com o shibboleth-sp na árvore do portage, o que significa - em poucas palavras - que não possuímos ainda ebuilds oficiais do shibboleth-sp [nem de suas dependências] na árvore oficial do portage.
Como forma de contornar esta situação, submeti junto aos desenvolvedores do Gentoo uma proposta de inclusão do shibboleth-sp versão 2.3 e suas dependências, que pode ser visualizada e acompanhada à partir desta entrada no bugs.gentoo.org.
A ideia desta proposta é incluir suporte ao Shibboleth Service Provider à partir da versão 2.3 que é a mais recente até agora. Para isto, foi necessário submeter também três outras dependências que não constavam na árvore do portage:
dev-libs/log4shib-1.0.4
dev-libs/xmltooling-1.3.3
dev-libs/opensaml-2.3
Além do próprio shibboleth-2.3.
Aos interessados em utilizar estes ebuilds em caráter de teste apenas apresento os procedimentos necessários para fazê-lo.
O primeiro passo é certificar que existe uma estrutura de overlay para a árvore do portage definida no sistema. Podemos conferir isto observando a seguinte entrada no arquivo /etc/make.conf.
Caso este comando não retorne nenhum resultado, é necessário adicionar uma entrada no arquivo /etc/make.conf que pode ser feita via o seguinte comando:
# echo "PORTDIR_OVERLAY=/usr/local/portage-overlay"
E então, cria-se o diretório de overlay da seguinte maneira:
# mkdir -p /usr/local/portage-overlay
Uma vez criada a estrutura [caso não exista], o procedimento para se instalar o shibboleth-2.3 é bastante simples.
Assumindo o diretório overlay em /usr/local/portage-overlay, primeiro criamos os diretórios necessários para a instalação:
# mkdir -p /usr/local/portage-overlay/dev-libs/log4shib
# mkdir -p /usr/local/portage-overlay/dev-libs/xmltooling
# mkdir -p /usr/local/portage-overlay/dev-libs/opensaml
# mkdir -p /usr/local/portage-overlay/www-misc/shibboleth
# mkdir -p /usr/local/portage-overlay/www-misc/shibboleth/files
Agora, é necessário baixar os ebuilds dos respectivos pacotes e dois arquivos extras para o shibboleth.
Como estes arquivos estão sujeitos à modificação, não os referenciarei diretamente aqui. Eles devem ser obtidos no endereço http://bugs.gentoo.org/show_bug.cgi?id=309051 e colocados na estrutura overlay da seguinte maneira:
log4shib-1.0.4.ebuild -> dev-libs/log4shib
xmltooling-1.3.3.ebuild -> dev-libs/xmltooling
opensaml-2.3.ebuild -> dev-libs/opensaml
shibboleth-2.3.ebuild -> dev-libs/shibboleth
shibd.conf -> dev-libs/shibboleth/files
shibd.init -> dev-libs/shibboleth/files
Agora, precisamos obter os arquivos fontes dos respectivos programas:
# wget 'http://shibboleth.internet2.edu/downloads/log4shib/1.0.4/log4shib-1.0.4.tar.gz'
# wget 'http://shibboleth.internet2.edu/downloads/opensaml/cpp/2.3/xmltooling-1.3.3.tar.gz'
# wget 'http://shibboleth.internet2.edu/downloads/opensaml/cpp/2.3/opensaml-2.3.tar.gz'
# wget 'http://shibboleth.internet2.edu/downloads/shibboleth/cppsp/2.3/shibboleth-sp-2.3.tar.gz'
Feito isto, precisamos criar os hashes dos ebuilds:
# cd /usr/local/portage-overlay/dev-libs/log4shib
# ebuild log4shib-1.0.4.ebuild manifest
# cd /usr/local/portage-overlay/dev-libs/xmltooling
# ebuild xmltooling-1.3.3.ebuild manifest
# cd /usr/local/portage-overlay/dev-libs/opensaml
# ebuild opensaml-2.3.ebuild manifest
# cd /usr/local/portage-overlay/www-misc/shibboleth
# ebuild shibboleth-2.3.ebuild manifest
Criada esta estrutura, podemos proceder com a instalação propriamente dita:
# ACCEPT_KEYWORDS="~x86" emerge log4shib
# ACCEPT_KEYWORDS="~x86" USE="icu" emerge =xerces-c-3.0.1
# ACCEPT_KEYWORDS="~x86" USE="-xalan" emerge xml-security-c
# ACCEPT_KEYWORDS="~x86" USE="log4shib xerces xmlsec" emerge xmltooling
# ACCEPT_KEYWORDS="~x86" USE="log4shib xerces xmlsec zlib" emerge opensaml
# ACCEPT_KEYWORDS="~x86" USE="apache22" emerge shibboleth
Ao final do processo, ainda é necessário configurar o shibboleth mas, o processo de instalação em si, se bem sucedido termina aqui.
Este procedimento ainda é experimental. No entanto, tenho tido bastante sucesso na instalação do shibboleth no Gentoo em meus testes.
Comentários são sempre bem vindos e, em caso de algum erro, por favor não se esqueça de postá-lo.
Conheça o Debian Package Search
Shell script com texto colorido
TARDIS96 OS - Uma distribuição Linux feita para iniciantes
Instalando MySQL 5.1 no Debian 5 x86_64 pelo apt-get
[1] Comentário enviado por albfneto em 23/09/2010 - 12:44h
vc está usando método de overlay local manual.
apenas complementando, que em gentoo, se vc achar o
Shibboleth já em um overlay, bastará uns comandos:
# layman -a "overlay que tem o pacote"
# emerge -av shibboleth
Ainda, se a Flag, a variável "~x86" já estiver no make.conf como default, isto é,
gentoo com make.conf para 32 bits, pacotes unstable branch, não é preciso usar as linhas
"accept_keywords"
vc está usando método de overlay local manual. apenas complementando, que em gentoo, se vc achar o Shibboleth já em um overlay, bastará uns comandos: # layman -a "overlay que tem o pacote" # layman -S # emerge --sync # emerge -av shibboleth para instalar. Ainda, se a Flag, a variável "~x86" já estiver no make.conf como default, isto é, gentoo com make.conf para 32 bits, pacotes unstable branch, não é preciso usar as linhas "accept_keywords"