Passo a Passo da instalação do GLPI, além de sua descrição.


JBWEBMASTER – Apresentação e instalação do GLPI.

Olá pessoal, nesse tutorial irei explicar o que é, para que serve, instalação e demonstração do GLPI, usando a teoria através de pesquisas e um passo a passo através de um tutorial de instalação. Para facilitar o apredizado as informações foram divididas  por etapas, como:

  1. O QUE É HELP DESK?
  2. O QUE É ACORDO DE NÍVEL DE SERVIÇO?
  3. O QUE É GLPI?
  4. APRESENTAÇÃO DA FERRAMENTA E SUA INSTALAÇÃO

O QUE É HELP DESK?

Help Desk é uma ferramenta usada para solicitação de melhoria ou correção de máquinas ou serviços, designando o serviço de apoio aos usuários para suporte e resolução de problemas técnicos nas diversas áreas da TIC, sendo que este apoio pode ser tanto dentro de uma empresa, quanto externamente.

O QUE É ACORDO DE NÍVEL DE SERVIÇO?

Um acordo de nível de serviço é a parte de contrato de serviços entre duas ou mais entidades no qual o nível da prestação de serviço é definido formalmente, sendo que na prática, o termo é usado no contexto de tempo de entregas de um serviço ou de um desempenho específico.

O QUE É GLPI?

GLPI é uma aplicação livre, distribuído sob a licença GPL para a gestão de parques de computador e helpdesk. Escrito em PHP, é composto de um conjunto de serviços web, para identificar e gerenciar todos os componentes do hardware e dos softwares, otimizando o trabalho dos profissionais de TIC. Oferece um sistema de atendimento a solicitações de usuário integrado com uma ferramenta de inventário, dessa forma podendo haver uma integração com o OCS Inventory, o destaque fica para o suporte a 22 idiomas e análise de TCO do inventario.

APRESENTAÇÃO DA FERRAMENTA E SUA INSTALAÇÃO

Requisitos importantes para a instalação do GLPI são:

  • XAMPP
  • PHP
  • MYSQL

Os principais recursos da aplicação se articulam em torno dos seguintes eixos:

  • Inventário dos computadores, periféricos, rede, impressoras e produtos afins.
  • Gestão de licenças (adquiridas, a serem adquiridas, sites, OEM..) e datas de expiração.
  • Indicação do hardware por área geográfica (sala, piso…).
  • Gestão das informações comerciais e financeiras (compra, garantia e extensão, amortização).
  • Gestão do estado do hardware.
  • Gestão dos pedidos de intervenção para todos os tipos de hardware do inventário.
  • Interface do usuário final para pedido de intervenção.
  • Gestão das empresas, contratos, documentos ligados aos elementos dos inventários…
  • Reserva de equipamentos.
  • Gestão de um sistema de base de conhecimentos hierárquicos (FAQ), gestão de um FAQ público.
  • Criação de relatórios sobre o hardware, dos relatórios da rede, dos relatórios sobre as intervenções.

No ultimo tópico mostrarei a integração do GLPI e o OCS Inventory NG, sendo uma solução muito valiosa para a automatização de funções.

Para poder instalar o GLPI deve instalar o XAMPP, que é um servidor independente de plataforma, um software livre, que consiste principalmente na base de dados MYSQL, o servidor web Apache e os interpretadores para linguagens de script: PHP e Perl, ou pode instalar outro a sua escolha.

Para começar faça o download do GLPI que deverá estar em arquivo zip, então extraia no htdocs do xampp ou se estiver com outro servidor talvez seja a pasta www. Feito isso vamos no navegador digitamos localhost/glpi e começamos a instalação.

  • Escolha da LÍngua de sua preferência para seguir com a instalação do GLPI.
FIGURA 1 – INICIANDO A INSTALAÇÃO DO GLPI, SELECIONANDO A LÍNGUA.
FIGURA 2 - TERMOS DA LICENÇA.
FIGURA 3 - AVANÇAR PARA INSTALAR O GLPI.
  • Nesse passo da instalação, foi verificada uma quantidade insuficiente de memória alocada 32MB, visto que o mínimo é de 64MB.  Abaixo segue as instruções de como resolver.
FIGURA 4 - CHECANDO A COMPATIBILIDADE DO SEU AMBIENTE E VERIFICANDO QUE POSSUI UMA QUANTIDADE BAIXA DE MEMÓRIA.

Para mudar isso,  primeiro você deve descobrir qual php.ini o seu GLPI está usando, pois verifiquei que possui alguns na pasta xampp\php outro na pasta xampp\apache\bin, no meu caso e talvez seja o seu, está no caminho c:\xampp\apache\bin\php.ini, que descobrir quando verifiquei no meu navegador que o GLPI estava usando um arquivo PHP chamado install.php que fica em glpi/install/install.php, dessa forma abrir o arquivo pesquisei por php.ini e encontrei o caminho já passado anteriormente.

Encontrado o php.ini agora pesquise dentro do arquivo por memory_limit, lá deve está com 32MB ou um outro, altere para 64MB salve o arquivo e restart (reinicie) o seu apache, depois isso vá na página e aperte no botão tentar novamente ou similar que vai está no final da página. Seguindo esses passos deve resolver o problema ficando assim:

FIGURA 5 - COMPATIBILIDADE VERIFICADA COM SUCESSO.

Configurando o banco de dados MYSQL, aqui como é local mesmo, coloquei o servidor como localhost, usuário root, e senha “sem senha”.

 

FIGURA 6 - CONFIGURAÇÃO COM O BANCO DE DADOS.
FIGURA 7 - INICINADO A BASE DE DADOS.

Usuários e senhas usadas em diversos níveis de acesso são:

glpi/glpi – administrador.
tech/tech para usuário técnico.
Normal/normal para usuário conta simples.

E com isso termina a instalação. Usando usuário e a senha glpi, logando como adminstrador.

Tela inicial do GLPI:

FIGURA 8 - TELA INICIAL DO GLPI.

Espero que gostem e que tenha ajudado.

Valeu até apróxima!

Linguagem PHP: 1ªParte (Conexão com o Banco de Dados) – Criando uma Agenda de Contatos.


Criando uma Agenda de Contatos – Conexão com o banco de dados MySql.

Jbwebmaster – João Batista Dantas Bezerra Júnior

Olá pessoal, esse tutorial veio a pedido de um amigo da área, e tem como objetivo mostrar como construir e configurar uma conexão como o banco de dados MySql e suas principais funções para inserir, alterar e deletar, além de funções para contar a  quantidade dos dados, listar e executar os dados. Para mostrar essas funcionalidades desenvolvi um agenda eletrônica, nela você poderá inicialmente inserir, alterar, deletar, ver os dados já cadastrados, porém fica o desafio para quem estiver afim de aumentar seus conhecimentos, que é fazer gerar o relatório em PDF dos dados cadastrados, para isso você poderá tomar como base o post: Gerar um documento em PDF usando a biblioteca FPDF 2ª Parte, explicarei mais no final desse tutorial. Perceberá que em alguns casos usei o método GET e vou mostrar como mascarar esses dados que são enviados pelo navegador em minha sequência de post, mas quero que vocês façam essa alteração na agenda para aprender, pois nela não colocarei. Poderão adicionar também um login ao sistema e que dessa forma ficaria perfeito, sendo que para esse tutorial o login não é prioridade, então não foi implementado, porém ao final desse tutorial penso em colocar mais um tutorial falando sobre esse assunto.

Linguagem utilizada PHP e banco de dados MySql. As ferramentas utilizadas foram: O IDE Netbeans 6.9 (Oracle) e servidor web XAMPP (Apache) para testar as páginas. Você pode usar qualquer IDE de sua preferencia, porém vou utilizar o Netbeans por achar bastante completo. Para manipulação do banco de dados você poderá usar qualquer programa disponível no mercado para MySql, aqui vou utilizar o phpmyadmin, que já vem no xampp.

Agora vamos dar inicio ao tutorial de criação de uma agenda web. Abra o Netbeans e crie um novo projeto (pasta), dentro desse projeto crie 5 (cinco) novos diretórios são eles: BancoDados – Cadastro – Classes – Imagens – Manutencao – Utilitarios. A página index.php fica dentro do projeto fora de qualquer diretório. Dentro do diretório Classes, adicione uma nova classe php nomeando-a de Conexao.class.php, no caso de estar usando o Netbeans veja que ele já colocou o nome da classe como Conexaoclass, então retire class e deixe somente Conexao ficando assim:

<?php
/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of ConexaoClass
 *
 * @author João Batista
 */
class Conexao {
    //put your code here
}
?>

Feito isso, vamos retire esses comentários e insira os seus, no meu caso coloquei o que essa classe faz, autor, email e a data de sua criação, usando comentários de múltiplas linhas assim:

/*
 *******************************************************************************
 *         JBWEBMASTER - CLASSE PARA CONFIGURAÇÃO DO BANCO DE DADOS            *
 *                AUTOR: JOAO BATISTA DANTAS BEZERRA JUNIOR                    *
 *                E-MAIL: jbtrab@gmail.com                                     *
 *                        DATA: 18/12/2010                                     *
 * *****************************************************************************
 */

Dentro do escopo da classe “{ }”, crie as variáveis: $nomeHost, $user, $pass, $banco, todas do tipo private, então agora passamos para a criação do construtor da classe, que é a função de inicialização de uma classe e é nela onde passamos os parâmetros da classe. Crie public function __construct() { }, dentro dos parênteses adicione os parâmetros $nomeHost=”localhost”, $user=”root”, $pass=””, $banco=”agendatel”, veja que deixei sem senha, se você tiver senha é só adicionar nesse campo.

Entendendo os campos:

$nomeHost – nome da máquina ou computador que possui o servidor HTTP, que no nosso caso é localhost por estar estou usando o Xampp.
$user – nome de usuário, que por padrão é o nome do usuário que é o proprietário do processo do servidor, nosso caso é root.
$pass – a senha, que por padrão a senha vazia.
$banco – nome do banco de dados ao qual vai se conectar.

Agora dentro das chaves relacione a variável ao parâmetro assim:

$this->nomeHost = $nomeHost;

Faça isso para todos os parâmetros e no final o seu construtor deverá estar assim:

public function __construct($nomeHost="localhost", $user="root", $pass="", $banco="agendatel") {
        $this->nomeHost = $nomeHost;
        $this->user = $user;
        $this->pass = $pass;
        $this->banco = $banco;
    }

Construindo a função que realiza a conexão com banco de dados:

Crie uma função conectar(),public function conectar() { }, dentro das chaves insira uma variável chamada $conexao fazendo ela receber o valor da função mysql_connect(“$this->nomeHost”, “$this->user”, “$this->pass”) or die(“<h1 align=\”center\”>Não foi possível conectar ao servidor mySQL!<h1>”);

Note que os parâmetros agora são usados na função de conexão e que esse “or die” serve para matar caso os parâmetros não forem encontrados. Agora usando a condição if (se) verifique se essa variável não está vazia, caso seja verdade a função mysql_select_db() seleciona o banco de dados, caso for falso aparecerá a mensagem: “Não foi possível estabelecer conexão com o banco de dados!”, terminando a função.

Função conetar:

public function conectar() {
        $conexao = mysql_connect("$this->nomeHost", "$this->user", "$this->pass") or die("<h1 align=\"center\">Não foi possível conectar ao servidor mySQL!<h1>");
        if (!empty($conexao)) {
            mysql_select_db("$this->banco") or die("<h1 align=\"center\">Não foi possivel estabelecer conexão com o banco de dados!<h1>");
        }
    }

Feita a função conectar, será preciso desconectar e para isso usamos a função mysql_close(), que serve para fechar a conexão com o MySql.

Função desconectar:

public function desconectar() {
        mysql_close();
    }

Desenvolvendo a função de execução do sql chamada execSql, public function execSQL($sql) { }. Nela deverá passar uma variável por parâmetro, a $sql e criar uma variável chamada $query que receberá a consulta a ser enviada ao MySql através da função mysql_query($sql). Para tratar o erro de sql o “or die” foi colocado indicando um erro na query e mostrando o erro usando a função mysql_error().

Função execSQL:

public function execSQL($sql) {
        $query = @mysql_query($sql) or die
                        ("<b><center>Erro ao Executar o Query: $sql - </b></center><br />" . mysql_error());
        return $query;
    }

Quando executamos um sql, as vezes precisamos listar os dados encontrados, visando esse objetivo, vamos criar uma função chamada listarResultados, public function listarResultados($query) { }, nessa função vamos passar o parâmetro $query, essa variável recebe o que foi retornado pela função execSQL. Usando a função mysql_fetch_assoc, que retorna uma matriz associativa que corresponde a linha obtida, listamos os dados da instrução sql passada.

Função listarResultados:

public function listarResultados($query) {
        //obtém um linha do resultado como uma matriz associativa.
        $lista = @mysql_fetch_assoc($query);
        return $lista;
    }

Agora para finalizar nossa classe Conexão criaremos a função contar a quantidade dos dados chamada contarDados, protected function contarDados($query) { }, como na listarResultados, o contarDados possui o parâmetro $query, sendo usado na função mysql_num_rows($query), que serve para obter o número de linhas em um resultado, no nosso caso o número de linhas do que foi executado na função execSQL.

Função contarDados:

protected function contarDados($query) {
        //Obtém o número de linhas em um resultado
        $totalReg = mysql_num_rows($query);
        return $totalReg;
    }

Para finalizar esse post e a 1ª parte deste tutorial, o código completo da classe conexão devidamente comentado.

<?php

/*
 *******************************************************************************
 *         JBWEBMASTER - CLASSE PARA CONFIGURAÇÃO DO BANCO DE DADOS            *
 *                AUTOR: JOAO BATISTA DANTAS BEZERRA JUNIOR                    *
 *                E-MAIL: jbtrab@gmail.com                                     *
 *                        DATA: 18/12/2010                                     *
 * *****************************************************************************
 */

//CLASSE DE CONFIGURACAO DA CONEXAO
class Conexao {

    //NOME DO HOST
    private $nomeHost;
    //NOME DO USUÁRIO
    private $user;
    //SENHA DO USUÁRIO
    private $pass;
    //NOME DO BANCO DE DADOS
    private $banco;

    /**
     * Parâmetros para poder se conectar ao banco de dados.
     * @param <Sting> $nomeHost Nome da máquina ou computador que possui o servidor HTTP.
     * @param <Sting> $user O nome de usuário, que por padrão é o nome do usuário que é o proprietário do processo do servidor.
     * @param <Sting> $pass A senha, que por padrão a senha vazia.
     * @param <Sting> $banco Nome do banco de dados ao qual vai se conectar.
     */
    public function __construct($nomeHost="localhost", $user="root", $pass="", $banco="agendatel") {
        $this->nomeHost = $nomeHost;
        $this->user = $user;
        $this->pass = $pass;
        $this->banco = $banco;
    }

    /**
     * FUNCAO QUE REALIZA A CONEXAO COM BANCO DE DADOS.
     * Utilizando a função mysql_connect(), que Abre uma conexão com um servidor MySQL.
     * Depois verifica se a conexão nao está vazia ou null, caso seja verdade seleciona
     * o banco usando a funcao mysql_select_db() ou no caso de falso aparecerá a mensagem:
     * Não foi possivel estabelecer conexão com o banco de dados! e mata a função.
     */
    public function conectar() {
        $conexao = mysql_connect("$this->nomeHost", "$this->user", "$this->pass") or die("<h1 align=\"center\">Não foi possível conectar ao servidor mySQL!<h1>");
        if (!empty($conexao)) {
            mysql_select_db("$this->banco") or die("<h1 align=\"center\">Não foi possivel estabelecer conexão com o banco de dados!<h1>");
        }
    }

    /**
     * FUNÇÃO PARA DESCONECTAR.
     * Usando o mysql_close(), que fecha a conexão MySQL.
     */
    public function desconectar() {
        mysql_close();
    }

    /**
     * metodo utilizando para executar comandos SQL
     * @param <String> $sql Instrução SQL que deve ser passada, para que o método
     * mysql_query($sql)possa enviar uma consulta ao MySQL.
     * @return <String> $query Caso o que foi executado pela função mysql_query($sql) exista,
     * é retornado a instrução solicitada pelo SQL a $qr, se não a instrução de erro aparecerá.
     * A função mysql_error() retorna um texto com a mensagem de erro da operação MYSQL anterior.
     */
    public function execSQL($sql) {
        $query = @mysql_query($sql) or die
                        ("<b><center>Erro ao Executar o Query: $sql - </b></center><br />" . mysql_error());
        return $query;
    }

    /**
     * Método que executa e lista dados do banco de dados.
     * PARA FUNCIONAR DEVERAR TER ANTERIOMENTO USADO A FUNÇÃO EXECSQL.
     * @param <String> $query Variável que recebe o que foi retornado pela função execSQL
     * @return <String> $lista retona o que foi gerado pelo mysql_fetch_assoc($qr) e essa função
     * tem o objetivo de obter um linha do resultado como uma matriz associativa.
     */
    public function listarResultados($query) {
        //obtém um linha do resultado como uma matriz associativa.
        $lista = @mysql_fetch_assoc($query);
        return $lista;
    }

    /**
     * FUNÇÃO QUE RETORNA A QUANTIDADE DE LINHAS QUE TEM NA INSTRUÇÃO SQL QUE FOI
     * EXECUTADA. PARA FUNCIONAR DEVERAR TER ANTERIOMENTO USADO A FUNÇÃO EXECSQL.
     * @param <String> $query Variável que recebe o que foi retornado pela função execSQL
     * @return <String> $totalReg recebe o numero de linhas que executada pela função
     * mysql_num_rows($qr).
     */
    protected function contarDados($query) {
        //Obtém o número de linhas em um resultado
        $totalReg = mysql_num_rows($query);
        return $totalReg;
    }

}
?>

Bem pessoal, espero que tenha ajudado, o próximo post explica como inserir, deletar e alterar no banco de dados MySql, a construção de uma classe modelo.
Estudem e boa sorte!