ArtigosDestaque

Pulse 2: Gestor de sistemas open source em Linux

Instalação do componente principal

Antes de se começar a instalação é preciso ter em conta vários aspectos:

– Este é um produto empresarial e vou usar Debian 5. Tem que se ter bons conhecimentos de Linux.
– Os requisitos técnicos para o servidor dependem. Para testes, basta uma máquina virtual, para muitos clientes comvém ser um servidor “a sério”. A instalação corre em cima de Mysql e o produto é desenvolvido em python e php.
– Caso não se pretenda instalar um servidor de Dns e Dhcp na máquina onde está instalado o Pulse, convém estar à vontade com estes dois sistemas externos, pois vai ser preciso.
– É necessário um ip fixo para o interface publico do servidor.
– Convém ter bastante espaço em disco para os pacotes a serem criados e as imagens dos computadores.

Para este artigo, criei uma máquina virtual com Debian 5 instalado, onde tem um disco de 100 GB.
Também estou numa rede sem um serviço de dhcp ou dns activos, pois implementei o dhcp no Debian.
Este artigo não é sobre a instalação do Debian e por isso não mostro essa parte. Digo apenas que é preciso colocar um ip fixo no servidor e configurar bem os ficheiros “/etc/hosts” e “/etc/hostname”.

Neste teste usei o ip 192.168.1.160 para o servidor. Este facto é importante, porque muitas vezes se coloca esse valor na configuração.

A primeira coisa a fazer, depois de instalar o Debian 5.0.8 é verificar que se tem os últimos updates:

apt-get update && apt-get dist-upgrade

Em seguida, adicionar uma entrada nos repositórios, editando o ficheiro “/etc/apt/sources.list” e adicionar a linha:

deb http://pulse2.mandriva.org/pub/pulse2/server/debian lenny stable

A parte “stable” é para a versão estável que é a versão 1.3. Para testarem a próxima versão, 1.3.1, é colocar “nextstable”.

A seguir tem que se fazer um update aos repositórios com o comando:

apt-get update

Depois temos que reconfigurar o debconf para colocar uma prioridade a médio. Para tal correr o comando:

dpkg-reconfigure debconf

Como é um servidor, não precisamos de Gui, por isso escolhemos “Dialog” como interface e “medium” como prioridade.

Em seguida, começamos a instalar programas. Alguns módulos de python, mysql server e um servidor de LDAP.
Para isso corremos o comando:

apt-get install mmc-agent python-mmc-dyngroup python-mmc-imaging
python-mmc-inventory python-mmc-msc python-mmc-pkgs python-mmc-pulse2
mmc-web-base mmc-web-dyngroup mmc-web-imaging mmc-web-inventory
mmc-web-msc mmc-web-pkgs mmc-web-pulse2 slapd mysql-server

O repositório do Pulse não tem uma chave, por isso o “apt-get” pede para confirmar se queremos instalar os pacotes.

Durante a instalação, vai ser preciso configurar o mysql server e o slapd.

A nível do mysql server é preciso definir a password de root. Não a deixem vazia por questões de segurança.

A nível do Slapd temos que configurar vários parâmetros.
A primeira pergunta é se queremos omitir a confiiguração do OpenLDAP. Não queremos omitir, como já se percebeu.

A seguir temos que definir o domínio de topo. Para exemplo coloquei “nemesis11.com“.

O nome da organização, que coloquei “nemesis11” como exemplo.

Colocar uma password para o utilizador “Administrator“.

Quando no pergunta se queremos permitir LDAPv2, escolhemos que não, pois o Pulse 2 usa LDAPv3.

No mysql, ele vai perguntar se queremos activar o modo compatibilidade com versões mais antigas do mysql. A resposta é não, até porque a ligação vai ser local e não é necessário para o Pulse 2.

O próximo passo é estender o schema do servidor de LDAP, devido a poder-se dar permissões a utilizadores no interface do Pulse 2.
Temos primeiro que copiar o ficheiro de schema para o sitio correcto, fazendo o seguinte:

cp /usr/share/doc/python-mmc-base/contrib/ldap/mmc.schema
/etc/ldap/schema/

A seguir temos que editar o ficheiro “/etc/ldap/slapd.conf” e na parte inicial, onde tem os includes, colocar a seguinte entrada:

include /etc/ldap/schema/mmc.schema

Em seguida temos que fazer restart ao serviço do servidor de LDAP, paraas alterações tomarem efeito:

/etc/init.d/slapd restart

Depois temos que criar as bases de dados para o pulse 2 e criar um utilizador e password que tenha acesso total às bases de dados.
Para não temos que correr vários comandos, vamos criar um ficheiro em “/root/database.sql“, com o seguinte conteúdo:

create database pulse2;
create database msc;
create database imaging;
create database inventory;
create database dyngroup;
create user 'mmc'@'localhost' identified by 'mmc';
grant all on pulse2.* to 'mmc'@'localhost';
grant all on msc.* to 'mmc'@'localhost';
grant all on imaging.* to 'mmc'@'localhost';
grant all on inventory.* to 'mmc'@'localhost';
grant all on dyngroup.* to 'mmc'@'localhost';
flush privileges;

Para corrermos estes comandos de sql, corremos o comando:

mysql -u root -p < /root/database.sql

Basta só colocar a password de “root” do mysql e os comandos vão ser executados.

Como repararam o utilizador criado é “mmc”, com a mesma password. Se quiserem colocar outra password, têm que editar os seguintes ficheiros:

/etc/mmc/plugins/dyngroup.ini
/etc/mmc/plugins/imaging.ini
/etc/mmc/plugins/inventory.ini
/etc/mmc/plugins/msc.ini
/etc/mmc/plugins/pulse2.ini

Depois de criado as bases de dados e o utilizador que acede ao mysql, temos que criar as tabelas dentro das bases de dados, correndo os seguintes shell scripts:

sh /usr/share/doc/python-mmc-pulse2/sql/install.sh
sh /usr/share/doc/python-mmc-msc/sql/install.sh
sh /usr/share/doc/python-mmc-imaging/sql/install.sh
sh /usr/share/doc/python-mmc-inventory/sql/install.sh
sh /usr/share/doc/python-mmc-dyngroup/sql/install.sh

Quando correrem cada um dos scripts, vão ter um output que coloca várias questões, mas é para escolher a de defeito e basta colocar a password de root de mysql:

Enter MYSQL host (default : "localhost", or $MYSQL_DATABASE if defined)

Enter MYSQL database (default : "pulse2", or $MYSQL_BASE if defined)

Enter MYSQL user (default : "root", or $MYSQL_USER if defined)

Enter MYSQL password (default : , or $MYSQL_PWD if defined)
*********
ERROR 1146 (42S02) at line 1: Table 'pulse2.version' doesn't exist
Update to v.1 succeeded

Como podem ver, no fim dá um erro de output sobre uma tabela. Não liguem. É normal.

Em seguida, temos que fazer as configurações, para o agente MMC.

Começamos por editar o ficheiro “/etc/mmc/plugins/base.ini“.
Temos que alterar duas entradas. De:

baseDN = dc=mandriva,dc=com

Para:

baseDN = dc=nemesis11,dc=com

E de:

password = secret

Para

password = password

Esta password tem que ser a mesma que foi definida na instalação do Slapd.

No fim do ficheiro “/etc/mmc/plugins/base.ini” é preciso tirar o comentário a duas linhas:

[computer]
method = inventory

A seguir temos que criar uma pasta de arquivo em “/home/archive“, com o comando:

mkdir /home/archives

Para acabar, antes de iniciarmos o serviço do agente MMC, temos que alterar mais um ficheiro em “/etc/default/mmc-agent” de:

ENABLE=no

Para:

ENABLE=yes

Em seguida podemos arrancar com o serviço, com o comando:

/etc/init.d/mmc-agent start

Este comando vai gerar um longo output e convém verificar se há erros ou não pelo meio.
O output deverá ser algo como:

Starting Mandriva Management Console XML-RPC Agent: mmc-agent 3.0.1 starting...
Using Python 2.5.2 (r252:60911, Jan 24 2010, 14:53:14)
Using Python Twisted 8.1.0
Running as euid = 0, egid = 0
Multi-threading enabled, max threads pool size is 20
Importing available MMC plugins
Created OU ou=Users,dc=nemesis11,dc=com
Created OU ou=Groups,dc=nemesis11,dc=com
Created OU ou=System,dc=nemesis11,dc=com
The default user group Domain Users does not exist. Please create it before adding new users.
This version is a community version.
Registering authenticator baseldap / base.BaseLdapAuthenticator
Registering authenticator externalldap / mmc.plugins.base.externalldap.ExternalLdapAuthenticator
Registering provisioner externalldap / mmc.plugins.base.externalldap.ExternalLdapProvisioner
Plugin base loaded, API version: 9:0:5 build(7770)
Msc database is connecting
Msc database connected
Plugin msc loaded, API version: 0:0:0 build(7729)
Dyngroup database is connecting
Dyngroup database connected (version:3)
Registering computer group manager dyngroup / mmc.plugins.dyngroup.group.DyngroupGroup
Registering computer profile manager dyngroup / mmc.plugins.dyngroup.profile.DyngroupProfile
Registering computer manager dyngroup / mmc.plugins.dyngroup.computers.DyngroupComputers
Plugin dyngroup loaded, API version: 0:0:0 build(7729)
ImagingDatabase is activating
ImagingDatabase finish activation
Registering computer profile manager imaging / mmc.plugins.imaging.profile.ImagingProfile
Registering imaging computer profile manager imaging / mmc.plugins.imaging.imaging.ComputerImagingImaging
Registering pulse2 manager imaging / mmc.plugins.imaging.pulse.ImagingPulse2Manager
Registering computer manager imaging / mmc.plugins.imaging.computer.InventoryComputers
Plugin imaging loaded, API version: 0:0:0 build(7729)
Inventory False
Inventory is activating
Inventory finish activation
Plugin inventory: Inventory database version is 10
Registering computer manager inventory / mmc.plugins.inventory.computers.InventoryComputers
Registering provisioner inventory / mmc.plugins.inventory.provisioning.InventoryProvisioner
Registering computer location manager inventory /
Plugin inventory loaded, API version: 0:0:0 build(7729)
Pkgs is activating
Plugin pkgs loaded, API version: 0:0:0 build(86)
Pulse2 database is connecting
Pulse2 database connected (version:1)
Registering pulse2 manager pulse2 / mmc.plugins.pulse2.pulse.Pulse2Pulse2Manager
Plugin pulse2 loaded, API version: 0:0:0 build(7729)
MMC plugins activation stage 2
Selecting authenticator baseldap / base.BaseLdapAuthenticator
Authenticator baseldap successfully validated
Selecting provisioners: None
Selecting computer manager: inventory
Plugin dyngroup: dynamic groups are enabled
QueryManager is trying to load plugin inventory
QueryManager plugin inventory loaded
QueryManager is trying to load plugin dyngroup
QueryManager plugin dyngroup is disabled by configuration.
funcGet halfstatic:
Path - DisplayName
Selecting computer location manager: inventory
SSL enabled, but peer verification is disabled.
Listening to XML-RPC requests
done.
Página anterior 1 2 3 4 5Página seguinte
Etiquetas

Artigos Relacionados

Back to top button
Close
Close