Para atualizar a versão do PHP, basta acessar o Cpanel buscar por configuração PHP.
Para atualizar a versão do PHP, basta acessar o Cpanel buscar por configuração PHP.
O Postman é uma API cliente que permite desenvolvedores realizarem testes a partir de requisições HTTP.
É possível utilizar vários tipos de requisições, como exemplo, GET, POST, PUT e DELETE que são as mais comuns.
Para baixar o software post acesse: https://www.postman.com
Depois de ter instalado, acesse o programa e na tela inicial, no menu [File], clique em [new] ou clique no sinal [+] para abrir uma nova página de testes.
Em seguida selecionar o tipo de testes que deseja realizar, insira a URL e clique em Send.
https://fabianobento.com/webjson/products/
https://fabianobento.com/webjson/products/2
Teste com DELETE
POST
Consultando a informação na tabela.
php artisan migrate
[Illuminate\Database\QueryException] SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes (SQL: alter table users
add unique users_email_unique
(email
))
Este erro ocorre devido a capacidade de armazenamento do engine (charset) do banco de dados;
Inclua a linha $table->engine = ‘InnoDB’; nos arquivos [migrations] para evitar o erro.
Caso queira manter como MyISAM edite o arquivo Builder.php, conforme descrito abaixo.
Correção rápida: Edite o arquivo; vendor\laravel\framework\src\Illuminate\Database\Schema\Builder.php
Alterando a variável $ defaultStringLength = 255;, para $defaultStringLength = 250;. Conforme o exemplo abaixo;
Exemplo:
public static $defaultStringLength = 255;
public static $defaultStringLength = 250;
Instalar Webmin (versão 1.940) no CentOS 8 usando o arquivo tar.gz
O Webmin é um sistema que permite o gerenciamento dos principais servidores(plataforma unix) como; Apache, DNS, Squid, DHCP, Compartilhamento de arquivos, Banco de dados MySQL entre muito outros.
Uma das maiores vantanges é a administração através do browser(Navegador de internet) que pode ser feito localmente ou remoto em qualquer computador conectado a internet, e você não precisa editar os arquivos de configuração manualmente.
Após logar no servidor usando o Putty vamos instalar o servidor web e pacotes necessários;
Instalando o servidor web
yum install httpd -y
Instalando o pacote Perl
yum install perl perl5 -y
Fazendo o download
Para o download vamos acessar o diretório temporário, digite no terminal;
cd /tmp
Agora o comando para o download
wget https://sourceforge.net/projects/webadmin/files/webmin/1.940/webmin-1.940.tar.gz
Vamos instalar
[root@server /tmp]
# gunzip webmin-1.940.tar.gz
[root@server /tmp]
# tar xf webmin-1.940.tar
[root@server /tmp]
# cd webmin-1.940
[root@server /tmp/webmin-1.940]
# ./setup.sh /usr/local/webmin
Quando o arquivo script.sh for executado, ele irá fazer algumas perguntas:
– O diretório de configuração do webmin
(pode ser escolhido um diretorio diferente para que as configurações
sejam salvas quando você atualizar, se estiver usando o mesmo diretório
config esta será a unica pergunta)
– O diretório de log do Webmin
(Local para armazenar os arquivos de log do webserver)
– Diretório da instalação do Perl
(Normalmente é, /usr/bin/perl ou /usr/local/bin/perl)
– Tipo do sistema operacional
(O script irá mostrar uma lista de sistemas suporteados, se o seu não
estiver na lista escolha o mais proximo, mas poderá não funcionar
corretamente)
– Porta de funcionamento do servidor web
(porta padrão :10000)
– Usuário e Senha
(Usuário e senha usados para acessar o servidor Webmin)
– Nome do servidor Web
(nome da maquina em que o Webmin esta instalado)
– SSL
(So será perguntado se tiver instalado no sistema bibliotecas SSL Perl)
– Iniciar o Webmin na inicialização da maquina
(Se for suportado pelo sistema operacional o Webmin irá perguntar se deseja inicia-lo junto com a inicialização da maquina)
Apos instalado pode ser facilmente acessado por qualquer computador, basta digitar no navegador http://localhost:10000/ ou trocar o localhost pelo IP do servidor.
Post para a versão CentOS 5.5
Estarei ensinando como conectar ao banco de dados MySQL a partir do seu computador utilizando um SGBD.
A maioria das hospagens disponibilizam o PhpMyAdmin, que auxilia na criação e manutenção do banco de dados.
Mas por ser on-line, acaba por não ser muito útil na criação de querys e rotinas devido as opções para salvar os arquivos, debug nas rotinas e principalmente os testes.
O Cpanel possui o recurso Remote MySQL que permite liberar a conexão remota de hosts(servidores e computadores) ao banco de dados.
Vamos lá!
1º Passo – Acessar o Cpanel
Após conectar ao Cpanel localize o recurso MySQL Remoto.
2º Passo – Adicionar o IP/Host para conexão.
No campo Host, digite o IP ou nome do servidor no qual irá conceder a permissão de acesso, mas é recomendado usar um endereço IP.
Exemplos:
IP: 127.0.0.1
Host/Server: server1.fabianobento.com.br
Também pode ser utilizado o caractere %(porcentagem), como coringa, para permitir o acesso de qualquer lugar e computador.
Para delimitar uma subnet, utilize parte do IP com o caractere %.
Exemplo: 127.0.0.%
3º Remover permissão de acesso
Para remover a permissão de acesso, basta clicar sobre a opção Excluir, do item a ser removido a permissão de acesso.
POST Atualizado 09/2020
Vou fazer um artigo no qual recebo várias perguntas: Como gerar arquivos XML no padrão TISS da ANS. Vou demonstrar usando PHP e API DOM nesta primeira parte e futuramente complementarei com dados a partir de banco de dados MySQL.
O padrão TISS é determinado pela ANS, você poderá consultar outras informações do padrão TISS no site da Agência Nacional de Saúde.
Para seguir, é necessário ter noções básicas da linguagem PHP.
Obs.: Não vou ensinar como desenvolver um sistema com a finalidade de faturamento, apenas o passo a passo da geração do XML no padrão TISS usando o PHP e a biblioteca DOM.
Basicamente o faturamento dos atendimentos/contas, consiste no atendimento do beneficiário pelo prestador(clínica, hospital, laboratório, banco de sangue, clínicas de imagem, entre outros), que é credenciado as operadoras de saúde (Bradesco Saúde, Unimed, Postal Saúde, Geap, Cassi, Capesp, Saúde Itaú, Sul América,…).
O envio do faturamento é feito por lotes(vários atendimentos no mesmo lote, geralmente até 100 atendimentos no mesmo lote) e pode ser via portal da Operadora por digitação das contas (quando a mesma oferece o recurso) ou a partir do envio de arquivos XML. E cada operadora permite e aceita o envio até uma data limite de cada mês(competência), por exemplo; a operadora XYZ aceita que o envio seja feito até o dia 20, e fará o pagamento até o dia 19 do mês subsequente(30 dias após o envio). Desta forma os prestadores precisam ficar atentos ao cumprimento de envio nas datas certas para receber no prazo, caso contrário o pagamento pela operadora é feito na próxima competência.
A geração do XML consiste em dados dos pilares: Operadora de Saúde <-> Prestador de Serviços <-> Beneficiários/Segurados, ou seja, precisamos das informações de credenciamento do prestador de saúde, dados do prestador e do segurado. Abaixo uma exemplificação dos dados;
Dados da operadora:
Registro ANS: 1111
Versão TISS: 03.03.03
Dados do Prestador:
Código de Credenciamento: 12345
CNPJ: 00.000.000/0000-0 (Fictício)
Dados de faturamento:
Número da remessa/fatura/Lote: 123
Dados do atendimento:
Data e Hora: 03/04/2018 22:15:00
Nome: Fulano de Tal
Carteira: 4444444444444444
Validade da carteira: 31/12/2030
Recém nascido: Não
Tipo de Atendimento: Ambulatorial
Caráter do atendimento: Eletivo
Guia/Senha: 1111/2222
Médico: Dr. Fabiano
CRM: 0000
CBOS:
Código da tabela: 22
Procedimento TUSS: 10101012
Descrição do Procedimento: Consulta em consultório
Valor unitário: 500,00
Valor Total: 500,00
<?php #Definindo as variáveis #Dados Operadora: $_XML['versao_tiss']='030303'; $_XML['registro_ans'] = '1111'; #Dados Prestador: $_XML['codigo_credenciamento'] = '12345'; $_XML['cnpj'] = '0000000000000'; $_XML['prestador'] = 'Hospital ABCD'; #Dados do atendimento e beneficiário $_XML['data_hora'] = '03/04/2018 22:15:00'; $_XML['rn'] = 'N'; #Não $_XML['tipo_atd'] = 'Ambulatorial'; $_XML['carater'] = 'E'; #Eletivo $_XML['guia'] = '1111'; $_XML['senha'] = '2222'; $_XML['medico'] = 'Dr. Fabiano'; $_XML['crm'] = '0000'; $_XML['cbos'] = ''; #Dados do beneficiário $_XML['nome'] = 'Fulano de Tal'; $_XML['dt_nascimento'] = '01/01/1980'; $_XML['carteira'] = '4444444444444444'; $_XML['validade'] = '31/12/2030'; #Dados da Fatura / Lote $_XML['fatura_remessa'] = '123'; #Dados do procedimento realizado $_XML['tabela'] = '22'; $_XML['procedimento_tuss'] = '10101012'; $_XML['descricao_proced'] = 'Consulta em consultório'; $_XML['valor_unitario'] = '500,00'; $_XML['qtde'] = '1'; $_XML['valor_total'] = '500,00'; $_XML['tipoTransacao'] = 'ENVIO_LOTE_GUIAS'; $_XML['sequencialTransacao'] = '6658'; $_XML['dataRegistroTransacao'] = '2018-01-18'; $_XML['horaRegistroTransacao'] = '10:00:00'; # Utilize a variável $_XML['hash_dados'] para concatenar os dados e calcular o HASH antes do terceiro bloco $_XML['hash_dados'] = ''; #A variável $_XML['hash'] está nula pois deve ser calculada com os dados dos elementos(tags) do XML $_XML['hash'] = 'calculo do HASH'; //$_XML[''] = ''; // para criar novas variáveis apenas siga o padrão
Após a declaração das variáveis, vamos iniciar a geração da estrutura no nosso arquivo.
#versao XML e codificação $xml = new DOMDocument("1.0", "ISO-8859-1"); //também poderia ser UTF-8 #remove os espacos em branco $xml->preserveWhiteSpace = false; #Realizar a quebra dos blocos do XML por linha $xml->formatOutput = true; //Criação dos elementos do Namespace ans:mensagemTISS $xml->createAttributeNS( 'http://www.w3.org/2000/09/xmldsig#', 'ds:attr' ); $xml->createAttributeNS( 'http://www.w3.org/2001/XMLSchema-instance', 'xsi:attr' ); $xml->createAttributeNS( 'http://www.ans.gov.br/padroes/tiss/schemas http://www.ans.gov.br/padroes/tiss/schemas/tissV3_03_01.xsd', 'schemaLocation:attr' ); $xml->createAttributeNS( 'http://www.ans.gov.br/padroes/tiss/schemas', 'ans:attr' ); // Nó / Bloco Principal // ans:mensagemTISS $mensagemTISS = $xml->createElement("ans:mensagemTISS"); $xml->appendChild($mensagemTISS); /* primeiro bloco */ // ans:mensagemTISS / ans:cabecalho $cabecalho = $xml->createElement("ans:cabecalho"); $mensagemTISS->appendChild($cabecalho); // ans:mensagemTISS / ans:cabecalho / ans:identificacaoTransacao $identificacaoTransacao = $xml->createElement("ans:identificacaoTransacao"); $cabecalho->appendChild($identificacaoTransacao); # ans:tipoTransacao $tipoTransacao = $xml->createElement("ans:tipoTransacao", $_XML['tipoTransacao']); $identificacaoTransacao->appendChild($tipoTransacao); #sequencialTransacao $sequencialTransacao = $xml->createElement("ans:sequencialTransacao", $_XML['sequencialTransacao']); $identificacaoTransacao->appendChild($sequencialTransacao); #dataRegistroTransacao $dataRegistroTransacao = $xml->createElement("ans:dataRegistroTransacao", $_XML['dataRegistroTransacao']); $identificacaoTransacao->appendChild($dataRegistroTransacao); #horaRegistroTransacao $horaRegistroTransacao = $xml->createElement("ans:horaRegistroTransacao", $_XML['horaRegistroTransacao']); $identificacaoTransacao->appendChild($horaRegistroTransacao); // ans:mensagemTISS / ans:cabecalho / ans:origem $origem = $xml->createElement("ans:origem"); $cabecalho->appendChild($origem); // ans:mensagemTISS / ans:cabecalho / ans:origem / identificacaoPrestador $identificacaoPrestador = $xml->createElement("ans:identificacaoPrestador", $_XML['cnpj']); $origem->appendChild($identificacaoPrestador); // ans:mensagemTISS / ans:cabecalho / ans:destino $destino = $xml->createElement("ans:destino"); $cabecalho->appendChild($destino); // ans:mensagemTISS / ans:cabecalho / ans:registroANS $registroANS = $xml->createElement("ans:registroANS", $_XML['registro_ans']); $destino->appendChild($registroANS); // ans:mensagemTISS / ans:cabecalho / ans:Padrao $Padrao = $xml->createElement("ans:Padrao", $_XML['padrao_tiss']); $cabecalho->appendChild($Padrao); /* segundo bloco */ // ans:mensagemTISS / ans:prestadorParaOperadora $prestadorParaOperadora = $xml->createElement("ans:prestadorParaOperadora"); $mensagemTISS->appendChild($prestadorParaOperadora); // ans:mensagemTISS / ans:prestadorParaOperadora / loteGuias $loteGuias = $xml->createElement("ans:loteGuias"); $prestadorParaOperadora->appendChild($loteGuias); // ans:mensagemTISS / ans:prestadorParaOperadora / loteGuias / numeroLote $numeroLote = $xml->createElement("ans:numeroLote", $_XML['lote_remessa']); $loteGuias->appendChild($numeroLote); // ans:mensagemTISS / ans:prestadorParaOperadora / loteGuias / guiasTISS $guiasTISS = $xml->createElement("ans:guiasTISS"); $loteGuias->appendChild($guiasTISS); // ans:mensagemTISS / ans:prestadorParaOperadora / loteGuias / guiaConsulta $guiaConsulta = $xml->createElement("ans:guiaConsulta"); $loteGuias->appendChild($guiaConsulta); // ans:mensagemTISS / ans:prestadorParaOperadora / loteGuias / cabecalhoConsulta $cabecalhoConsulta = $xml->createElement("ans:cabecalhoConsulta"); $guiaConsulta->appendChild($cabecalhoConsulta); $registroANS = $xml->createElement("ans:registroANS", '132'); //registroANS $cabecalhoConsulta->appendChild($registroANS); $registroANS = $xml->createElement("ans:numeroGuiaPrestador", '1111'); //numeroGuiaPrestador $cabecalhoConsulta->appendChild($registroANS); $numeroGuiaOperadora = $xml->createElement("ans:numeroGuiaOperadora", '2222'); //numeroGuiaOperadora $guiaConsulta->appendChild($numeroGuiaOperadora); $dadosBeneficiario = $xml->createElement("ans:dadosBeneficiario"); //dadosBeneficiario $guiaConsulta->appendChild($dadosBeneficiario); $numeroCarteira = $xml->createElement("ans:numeroCarteira", '1122334455'); //numeroCarteira $dadosBeneficiario->appendChild($numeroCarteira); $atendimentoRN = $xml->createElement("ans:atendimentoRN", 'N'); //atendimentoRN $dadosBeneficiario->appendChild($atendimentoRN); $nomeBeneficiario = $xml->createElement("ans:nomeBeneficiario", 'Fulano de Tal'); //nomeBeneficiario $dadosBeneficiario->appendChild($nomeBeneficiario); //contratadoExecutante $contratadoExecutante = $xml->createElement("ans:contratadoExecutante"); $guiaConsulta->appendChild($contratadoExecutante); $codigoPrestadorNaOperadora = $xml->createElement("ans:codigoPrestadorNaOperadora", '001'); //codigoPrestadorNaOperadora $contratadoExecutante->appendChild($codigoPrestadorNaOperadora); $nomeContratado = $xml->createElement("ans:nomeContratado", 'Hospital Teste'); //nomeContratado $contratadoExecutante->appendChild($nomeContratado); $CNES = $xml->createElement("ans:CNES", '9999'); //CNES $contratadoExecutante->appendChild($CNES); //profissionalExecutante $profissionalExecutante = $xml->createElement("ans:profissionalExecutante"); //profissionalExecutante $guiaConsulta->appendChild($profissionalExecutante); $nomeProfissional = $xml->createElement("ans:nomeProfissional", 'Médico Teste'); //nomeProfissional $profissionalExecutante->appendChild($nomeProfissional); $conselhoProfissional = $xml->createElement("ans:conselhoProfissional", '02'); //conselhoProfissional $profissionalExecutante->appendChild($conselhoProfissional); $numeroConselhoProfissional = $xml->createElement("ans:numeroConselhoProfissional", '1234'); //numeroConselhoProfissional $profissionalExecutante->appendChild($numeroConselhoProfissional); $UF = $xml->createElement("ans:UF", 'SP'); //UF $profissionalExecutante->appendChild($UF); $CBOS = $xml->createElement("ans:CBOS", '201115'); //CBOS $profissionalExecutante->appendChild($CBOS); //dadosAtendimento $dadosAtendimento = $xml->createElement("ans:dadosAtendimento"); //dadosAtendimento $guiaConsulta->appendChild($dadosAtendimento); $tipoAtendimento = $xml->createElement("ans:tipoAtendimento", '05'); //tipoAtendimento $dadosAtendimento->appendChild($tipoAtendimento); $indicacaoAcidente = $xml->createElement("ans:indicacaoAcidente", '9'); //indicacaoAcidente $dadosAtendimento->appendChild($indicacaoAcidente); // Calculo o Hash - Você poderia gerar os dados, usar um (replace do PHP) para substituir as tags, e pegar apenas os dados $_XML['hash_dados'] = '' $_XML['hash'] = md5($_XML['hash_dados']); /* terceiro bloco */ // ans:mensagemTISS / ans:epilogo $epilogo = $xml->createElement("ans:epilogo"); $mensagemTISS->appendChild($epilogo); // ans:mensagemTISS / ans:epilogo / ans:hash $hash = $xml->createElement("ans:hash", $_XML['hash']); $epilogo->appendChild($hash); # Comando para salvar/gerar o arquivo XML TISS # Geralmente o nome do arquivo é o HASH que foi calculado ou número do lote, pois são informações únicas. # você pode usar as variáveis: $_XML['fatura_remessa'] . $_XML['hash'] $xml->save("xml_tiss.xml"); # Imprime / Gera o xml em tela echo $xml->saveXML(); ?>
Com o comando acima você terá o seguinte retorno: xml_tiss.xml
<?xml version="1.0" encoding="ISO-8859-1"?> <ans:mensagemTISS xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:schemaLocation="http://www.ans.gov.br/padroes/tiss/schemas http://www.ans.gov.br/padroes/tiss/schemas/tissV3_03_01.xsd" xmlns:ans="http://www.ans.gov.br/padroes/tiss/schemas"> <ans:cabecalho> <ans:identificacaoTransacao> <ans:tipoTransacao>ENVIO_LOTE_GUIAS</ans:tipoTransacao> <ans:sequencialTransacao>6658</ans:sequencialTransacao> <ans:dataRegistroTransacao>2018-01-18</ans:dataRegistroTransacao> <ans:horaRegistroTransacao>10:00:00</ans:horaRegistroTransacao> </ans:identificacaoTransacao> <ans:origem> <ans:identificacaoPrestador>0000000000000</ans:identificacaoPrestador> </ans:origem> <ans:destino> <ans:registroANS>111111</ans:registroANS> </ans:destino> <ans:Padrao>03.03.03</ans:Padrao> </ans:cabecalho> <ans:prestadorParaOperadora> <ans:loteGuias> <ans:numeroLote>123</ans:numeroLote> <ans:guiasTISS/> </ans:loteGuias> </ans:prestadorParaOperadora> <ans:epilogo> <ans:hash>calculo do HASH</ans:hash> </ans:epilogo> </ans:mensagemTISS>
Criando um Validador TISS usando PHP
Neste posto irei ensinar como criar um validador TISS de arquivos XML no padrão TISS da ANS, usando o PHP e banco de dados MySQL. Com o validador será possível validar os arquivos TISS e arquivos do monitoramento TISS.
Obs.: Vou escrever um passo a passo, mas é necessário ter noções básicas da linguagem PHP e banco MySQL.
Vou dividir o post nas seguintes etapas;
1ª Etapa -Criar o formulário HTML para envio do arquivo e seleção da versão
2ª Etapa – Verificar a estrutura do arquivo (que é a comparação com o arquivo XSD da ANS)
3ª Etapa – Validação dos dados do arquivo conforme a codificação da TUSS (Apenas para arquivos TISS)
4ª Etapa – Disponibilização dos arquivos para download e dica de instalação
E é claro, você poderá personalizar conforme a sua necessidade.
Antes de começarmos baixe os arquivos do padrão TISS no site da ANS, usando o link http://www.ans.gov.br/prestadores/tiss-troca-de-informacao-de-saude-suplementar, conforme os prints abaixo, ou clique aqui para baixar o último arquivo disponível (Componente de Comunicação 03.03.03)
Obs.: baixe todas as versões que queira utilizar no seu validador.
Usaremos também o arquivo bootstrap.min.css do Bootstrap (framework web CSS/JavaScript), baixe também neste link (https://getbootstrap.com) (deixarei no final todos os arquivos para download)
As pastas devem ser criadas no seu servidor httpd(Apache/IIS), dentro do diretório (www).
-validador-tiss (pasta principal)
–css
–xml (diretório para upload dos arquivos xml enviados)
–tiss (diretório com os arquivos baixados no site da ANS para validação TISS)
–tiss/03_03_03
–tiss/03_03_01
–tiss/03_02_02
–tiss/03_02_01
–tiss/03_02_00
Agora vamos criar nosso formulário para envio do arquivo e salvar com o nome index.php
Arquivo index.php
Observe que action do formulário aponta para (validar_arquivo.php), e temos um select para as versões dos XML.
<head>
<meta charset=”UTF-8″>
<title>Validador TISS</title>
<link rel=”stylesheet” href=”css/bootstrap.min.css“>
</head>
<body>
<div class=”container”>
<h1 >Validador TISS</h1>
<a class=”btn btn-lg ” href=”#seu-site” role=”button”>Validador de arquivos XML no padrão TISS</a>
<br>
<form id=”upload” name=”upload” enctype=”multipart/form-data” method=”post” action=”validar_arquivo.php“>
<div class=”form-group”>
<label for=”versao” class=”control-label”>Selecione a versão:</label>
<select name=”versao” class=”form-control”>
<option value=”tissV3_03_03.xsd” selected>TISS – 03.03.03</option>
<option value=”tissV3_03_02.xsd” >TISS – 03.03.02</option>
<option value=”tissV3_03_01.xsd” >TISS – 03.03.01</option>
<option value=”tissV3_03_00.xsd” >TISS – 03.03.00</option>
<option value=”tissV3_02_02.xsd” >TISS – 03.02.02</option>
<option value=”tissV3_02_01.xsd” >TISS – 03.02.01</option>
<option value=”tissV3_02_00.xsd” >TISS – 03.02.00</option>
<option value=”tissMonitoramentoV3_03_03“>Monitoramento TISS – 03.03.03</option>
<option value=”tissMonitoramentoV3_03_02“>Monitoramento TISS – 03.03.02</option>
<option value=”tissMonitoramentoV3_03_01“>Monitoramento TISS – 03.03.01</option>
<option value=”tissMonitoramentoV3_03_00“>Monitoramento TISS – 03.03.00</option>
<option value=”tissMonitoramentoV3_02_02“>Monitoramento TISS – 03.02.02</option>
<option value=”tissMonitoramentoV3_02_01“>Monitoramento TISS – 03.02.01</option>
<option value=”tissMonitoramentoV3_02_00“>Monitoramento TISS – 03.02.00</option>
</select>
</label>
</div>
<div class=”form-group”>
<label for=”arquivo_xml” class=”control-label”>Selecione o arquivo (XML) para validação</label>
<input id=”arquivo_xml” name=”arquivo_xml” type=”file” class=”form-control-file” placeholder=”Selecione o arquivo XML para validaçaõ…” />
</div>
<button type=”submit” class=”btn btn-primary”>Validar Arquivo</button>
</form>
</div>
</body>
A página ficará com o layout abaixo;
Agora copie todos os arquivos que baixou no site da ANS e coloque dentro da pasta (tiss), ficando da seguinte forma:
tiss/03_03_03
tiss/03_03_02
tiss/03_03_01
tiss/03_03_00
tiss/03_02_02
tiss/03_02_01
tiss/03_02_00
PHP LDAP – Autenticação de usuários
Olá pessoal, neste artigo de hoje estarei abordando a conexão/autenticação de usuários PHP via LDAP. (pode ser usada para autenticar no Active Directory do windows server), criar um login unificado.
Está conexão será utilizada em uma abordagem para projeto de criação de Intranet Corporativa básica, com poucas funcionalidades e que poderá ser aprimoradas conforme as necessidades surgirem.
O que é LDAP?
https://pt.wikipedia.org/wiki/LDAP
Uma utilização comum do LDAP é fornecer um “logon único” onde uma senha para um usuário é compartilhada entre muitos serviços, como a aplicação de um código de login da companhia para páginas web (de forma que a equipe loga apenas uma vez aos computadores da companhia e então são automaticamente logadas na intranet da companhia).
1º Passo – O primeiro passo é a configuração do PHP .
PHP LDAP
http://php.net/manual/pt_BR/book.ldap.php
Localize o arquivo php.ini dentro do diretório de instalação do servidor web (apache), e em seguida abra usando um editor de texto(notepad, edit plus, sublime…).
Encontre a linha ;extension=php_ldap.dll e remova o (;)ponto e vírgula no inicio, salve, feche e reinicie o serviço do servidor web (apache)
2º Passo – Criação do arquivo de conexão
Hoje vou mostrar como configurar o wamp server e preparar o ambiente de trabalho.
Testes realizados com o WAMP 2.4
WampServer 2.4 – Windows 32 Bits
Apache : 2.4.4
MySQL : 5.6.12
PHP : 5.4.16
PHPMyAdmin : 4.0.4
SqlBuddy : 1.3.3
XDebug : 2.2.3
Link para download:
http://sourceforge.net/projects/wampserver/files/WampServer%202/Wampserver%202.4/
Para trabalhar com vhosts temos que adicionar no arquivo hosts os alias com o nome do computador e os sites que você irá trabalhar, segue exemplo abaixo;
C:\Windows\System32\drivers\etc\hosts
127.0.0.1 localhost
127.0.0.1 nome-pc
127.0.0.1 meusite.local
127.0.0.1 meusite.dev
Na sequencia precisamos configurar o Apache para trabalhar com vhosts.
Localizar o arquivo httpd.conf
C:\wamp\bin\apache\Apache2.4.4\conf\httpd.conf
Descomentar as linhas abaixo
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so
#Include conf/extra/httpd-vhosts.conf
Include conf/extra/httpd-vhosts.conf
#LoadModule rewrite_module modules/mod_rewrite.so
LoadModule rewrite_module modules/mod_rewrite.so
Agora iremos editar o arquivo httpd-vhosts.conf, adicionando os alias de domínios que informamos no arquivo hosts.
C:\wamp\bin\apache\Apache2.4.4\conf\extra\httpd-vhosts.conf
Acrescentar as linhas abaixo
<VirtualHost localhost:80>
ServerAdmin mail@mail.com
DocumentRoot “C:/wamp/www”
ServerName localhost
ServerAlias localhost
ErrorLog “logs/localhost-error.log”
CustomLog “logs/localhost-access.log” common
</VirtualHost>
<VirtualHost nome-pc:80>
ServerAdmin mail@mail.com
DocumentRoot “C:/wamp/www”
ServerName nome-pc
ServerAlias nome-pc
ErrorLog “logs/nome-pc-error.log”
CustomLog “logs/nome-pc-access.log” common
</VirtualHost>
<VirtualHost meusite.local:80>
ServerAdmin mail@mail.com
DocumentRoot “C:/wamp/www/meusite.local”
ServerName meusite.local
ServerAlias meusite.local
ErrorLog “logs/meusite.local-error.log”
CustomLog “logs/meusite.local-access.log” common
</VirtualHost>
<VirtualHost meusite.dev:80>
ServerAdmin mail@mail.com
DocumentRoot “C:/wamp/www/meusite.dev”
ServerName meusite.dev
ServerAlias meusite.dev
ErrorLog “logs/meusite.dev-error.log”
CustomLog “logs/meusite.dev-access.log” common
</VirtualHost>
Após acrescentar os dados, salvar o arquivo e reiniciar os serviços do wamp server, e acessar os endereços configurados;
http://localhost
http://meusite.dev
http://meusite.local
Como instalar Apache, MySQL e PHP (LAMP) no CentOS 6.3
30/09/2012
Neste artigo vou descrever a maneira mais simples e rapida para configurar um servidor LAMP Apache, MySQL e PHP
Instalar o Apache
yum install httpd
instalar MySQL
yum install mysql-server
Iniciar o serviço do MySQL
service mysqld start
mysql_secure_installation
yum install php php-mysql
chkconfig httpd on
chkconfig mysqld on
service http start