Antes de desligar seu servidor é necessário parar o serviço do oracle pois quando você religar o servidor o serviço não vai subir automaticamente.

mão na massa!

Na console do linux faça o seguinte

1
sqlplus / as sysdba
1
shutdown immediate

Depois disso de exit e digite

1
#lsnrctl stop

Agora é só desligar o servidor as duas formas mais comuns são:

1
2
3
4
5
#/sbin/shutdown -h now
e
#/sbin/shutdown -r now
 
a opção -h suspende a máquina, e a opção -r reinicializa.

Hoje vou mostrar como instalar e configurar o script PHPSysInfo no Red Hat 6.2,
O PhpSysInfo é um script PHP que exibe as informações do Hardware e Sistema, mas antes temos que instalar e configurar o Apache + PHP.
print_phpsysinfo

Para ver uma demostração do script funcionando acesse o link
http://phpsysinfo.sourceforge.net/phpsysinfo

Começando vamos instalar o apache e PHP, no terminal digite o comando abaixo lembrando que é necessário estar logado como root.

1
yum install httpd php php-xml -y

vamos configurar servidor web para iniciar junto com o OS.

1
chkconfig httpd on

agora inicie o servidor web com o comando

1
service httpd start

abra o navegador e digite o ip do servidor para ver se esta funcionando, será mostrada uma tela conforme imagem abaixo.
Red Hat

agora vamos criar uma pasta com o nome ‘phpsysinfo’ dentro do diretorio /var/www/

1
mkdir /var/www/phpsysinfo

Baixe o script no link http://phpsysinfo.sourceforge.net/ e descompacte ele no diretorio que criamos acima.

Renomeie o arquivo config.php.new para config.php

1
rename config.php.new config.php

em seguida vamos alterar a pagina padrão do apache para mostrar o script como principal.

Edite o arquivo /etc/httpd/conf/httpd.conf acrescente no final do arquivo as linhas abaixo, alterando conforme as configurações do seu server.

1
2
3
4
5
6
7
8
NameVirtualHost *:80
<virtualHost *:80>
    ServerAdmin eu@fabianobento.com.br
    DocumentRoot /var/www/phpsysinfo
    ServerName srv01.fabianobento.com.br
    ErrorLog logs/srv01.fabianobento.com.br-error_log
    CustomLog logs/srv01.fabianobento.com.br-access_log common
</virtualHost>

vamos editar o arquivo welcome.conf para não carregar mais a pagina padrão do apache.
usando o vi ou um outro de sua preferencia abra o arquivo /etc/httpd/conf/conf.d/welcome.conf e comente todas as linhas usando o #(sharp) na primeira coluna.

1
/etc/httpd/conf/conf.d/welcome.conf

reinicie o serviço apache

1
service httpd restart

Não esqueça de liberar a porta 80 no firewall (IPTABLES)

Pronto! agora você ja pode ver as estatisticas do sistema.

Ajustando a hora do seu servidor Linux

Para ver qual o horário acesse o terminal e digite o comando.

date

você terá um retorno como abaixo.

Qua Mai  2 08:04:41 BRT 2012

Caso seja necessário corrigir o horario entre com o comando

date -s "xx:xx:xx" (informe o novo horario)
clock -w (gravar na bios)

Pronto! o horário do seu servidor foi corrigido.

até a próxima.

Liberar acesso remoto no MySQL

O Padrão da instalação do MySQL é configurado apenas o acesso local.
Para habilitar o acesso remoto, use o comando abaixo que irá permitir o acesso remoto, em tudo no banco de dados com o usuário root de qualquer máquina remota,

1
2
 
GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY 'senha'
mysql_permissao_acesso_remoto

mysql_permissao_acesso_remoto

Caso precise liberar o firewall, digite o comando abaixo no console.

1
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

Agora é só conectar.

Oficina: Linux e a arte do servidor proxy

Proxy é um servidor que atende a requisições repassando os dados do cliente à frente: um usuário (cliente) conecta-se a um servidor proxy, requisitando algum serviço, como um arquivo, conexão, página web, ou outro recurso disponível em outro computador.
Um servidor proxy pode, opcionalmente, alterar a requisição do cliente ou a resposta do computador e, algumas vezes, pode disponibilizar este recurso mesmo sem se conectar ao servidor especificado. Pode também atuar como um servidor que armazena dados em forma de cache em redes de computadores. São instalados em máquinas com ligações tipicamente superiores às dos clientes e com poder de armazenamento elevado.
Esses servidores têm uma série de usos, como filtrar conteúdo, providenciar anonimato, entre outros.

Nesta oficina abordaremos:
-Conceitos e Teorias sobre Proxy;
-Opções do mercado;
-Instalação & configuração do Linux CentOS;
-Preparação do ambiente de testes e configurações iniciais;
-Instalação e configuração do Squid;
-Configuração do Firewall;
-Instalação e configuração do Webmin;
-Testes e mais testes!

Palestrante: Fabiano Bento Da Silva
Local: CDI – Unifran, Franca-SP
Entrada: 1Kg de alimento não perecível.
Data: 22 de Setembro de 2012 das 8:30 às 12:00hs.
Não é necessária a inscrição antecipada. Aberto ao público interessado.

(o material usado na palestra será disponibilizado aqui, assim como as fotos do evento)
Está procurando mais eventos?

http://cleandev.org

PHP Conference Brasil – O principal evento de PHP da América Latina
de 29 Novembro a 02 Dezembro

Em continuidade ao sucesso obtido nos 6 anos anteriores, com mais de 4.500 participantes, a PHP Conference Brasil 2012, que comemorará 7 anos, apresentará os seguintes macro-temas, escolhidos durante uma enquete com o público:

29 Novembro – Cursos Mão na Massa
Com um profissional por máquina, os cursos trazem os melhores instrutores, garantindo uma boa formação para os profissionais interessados.

30 Novembro – Palestras
Palestras de qualidade, com os assuntos mais relevantes e atuais e tópicos básicos, intermediários e avançados pra ninguém ficar de fora.

1 Dezembro – Palestras
Palestrantes de peso apresentam assuntos interessantes, casos de uso e exemplos de código. Profissionais reconhecidos e empresas de renome dão o tom do evento

2 Dezembro – Um dia para relaxar
Palestrantes de peso apresentam assuntos interessantes, casos de uso e exemplos de código. Profissionais reconhecidos e empresas de renome dão o tom do evento.

Mais informações acesse o site do evento http://www.phpconf.com.br/

Atenção!! Faltam 258 dias não vão esquecer!!! rsrs

http://www.phpconf.com.br/

PHP CONF

Tendo a necessidade para um maior controle das ligações que são feitas e dividir os custos por setor da empresa, iremos integrar o LOG que o software remora cria a cada ligação que é feita.
O PABX intelbras permite controlar as ligações atráves de usuário e senha, os usuário vão de 00 a 99, o pabx está conectado no servidor atraves da porta serial.
O remora gera 2 tipos de LOG, sendo um por ramal onde originou as ligações e outro por codigo de usuário que fez as ligações. Este logs ficam dentro na pasta(INTEGRA) onde o remora foi instalado.

Esta integração será feita usando um script PHP que ficara como uma tarefa agendada(CRON), para ser executada 2 vezes por dia, as 12h e 24h.

arquivos de log
Por código sendo os 2 ultimos caracteres no nome do arquivo o codigo de usuário.
CODIGO00.TXT, CODIGO01.TXT, CODIGO02.TXT, CODIGO03.TXT, CODIGO04.TXT…

CONTEUDO DO ARQUIVO CODIGO00.TXT

1
2
3
4
Hora     T OP TR RRRRR NNNNNNNNNNNNNNNNNNNN HH:MM:SS HH:MM:SS DD/MM/AAAA CL 99999,99 CP DDDDDDDDDDDDDDDDDDDDDDDDD
15:55:43 S 12 32   304 99999999             15:36:35 00:00:18 20/10/2011  5     0,28 00 CELULAR DDD 016
15:55:45 S 12 04   304 99999999             15:37:24 00:00:14 20/10/2011  7     0,13 00 FRANCA
16:00:06 S 12 31   304 99999999             15:59:41 00:00:23 20/10/2011  5     0,00 00 Fabiano celular

CONTEUDO DO ARQUIVO RMO00300.TXT
Por ramal sendo os 5 ultimos caracteres no nome do arquivo o numero do ramal.
RMO00300.TXT

1
2
3
03   300 99999999         10:30:54 00:00:07 20110627         0,15 12
32   300 99999999         10:41:51 00:02:46 20110627         2,10 12
01   300 99999999         10:50:51 00:00:07 20110627         0,15 12

Obs.: não esqueça de configurar o PHP para conectar ao oracle

Caso seu servidor web esteja em um ambiente separado do servidor com o remora instalado, você poderá criar scripts em shell para transferir os arquivos ou compartilhar a pasta, enfim faça da maneira que irá te atender.

Vamos ao que interessa;
O codigo está comentado, por isso não vou explicar passo a passo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
set_time_limit(0); //definiar tempo para execução do script caso o arquivo tenha muitas linhas
ob_start();
 
require_once('conecta_oracle.php');
//configure conforme o seu ambiente.
// "\ip_servidorpasta_compartilhadaarquivos do LOG"
$diretorio_data = "C:\intranet\www\data_txt\";
 
//listar arquivos do diretorio.
$$dir = @opendir($diretorio_data);
$i=0;
while (false !== ($file = readdir($$dir))) {// while pastas
	if ($file != "." && $file != ".." && $file != "Thumbs.db" && $file != $dir) { // if pastas
		$i++;
		$indice[$i] = "$file";
		$nm_arquivo 	= $indice[$i] = "$file";
		$tipo		= substr($indice[$i], 0, 6);
		$codigo_ramal	= substr($indice[$i], 6, 2);
 
 
// recebe parametros
	if($tipo == 'CODIGO'){
		//imprimi o nome do arquivo
		echo $nm_arquivo;
		echo ' -- '.$i.'<br />';
 
		$arquivo = $diretorio_data.$nm_arquivo;
 
			if (file_exists($arquivo)) {
 
			$ponteiro = fopen ("$arquivo", "r");
 
			$num_linhas = 0;
			$caracteres = 0;
 
				while (!feof ($ponteiro)) {
					if ($linha = fgets($ponteiro, 4096)){
						$num_linhas++;
						$caracteres += strlen($linha);
 
						if ($num_linhas != "1"){ // ignorar a primeira linha do arquivo cabeçalho.
							$DATA_IMPORTACAO = date('d/m/Y');//;
							$DS_USUARIO = 'import';
							$CD_PABX = $codigo_ramal;
 
							$HR_LEITURA			= substr($linha, 0, 9);
							$DS_TIPO			= substr($linha, 9, 1);
							$DS_OP 				= substr($linha, 11, 2);
							$DS_TR 				= substr($linha, 14, 2);
							$NR_RAMAL 			= substr($linha, 17, 5);
							$NR_LIGACAO 		= substr($linha, 23, 20);
							$HR_LIGACAO			= substr($linha, 44, 8);
							$DS_DURACAO 		= substr($linha, 53, 8);
							$DT_LIGACAO			= substr($linha, 62, 10);
							$DS_CL 				= substr($linha, 73, 2);
							$VL_LIGACAO			= substr($linha, 76, 8);
							$DS_CP 				= substr($linha, 85, 2);
							$DS_DESTINO 		= substr($linha, 88, 25);
 
							$consulta = "INSERT INTO hak_pabx_registro_codigo_tb (
							NR_SEQUENCIA, DATA_IMPORTACAO, DS_USUARIO, CD_PABX, HR_LEITURA, DS_TIPO, DS_OP, DS_TR,
							NR_RAMAL, NR_LIGACAO, HR_LIGACAO, DS_DURACAO, DT_LIGACAO, DS_CL, VL_LIGACAO, DS_CP, DS_DESTINO
							)
							VALUES (
							HAK_TELEFONIA_SEQ.Nextval, '$DATA_IMPORTACAO', '$DS_USUARIO', '$CD_PABX', '$HR_LEITURA', '$DS_TIPO', '$DS_OP', '$DS_TR',
							'$NR_RAMAL', '$NR_LIGACAO',	'$HR_LIGACAO', '$DS_DURACAO', '$DT_LIGACAO', '$DS_CL', '$VL_LIGACAO', '$DS_CP', '$DS_DESTINO'
							)";
 
								$stid = oci_parse( $conexao, "".$consulta."" ) or die ( " erro " . oci_error() );
 
								oci_execute ( $stid );
									//$exec = oci_execute( $stid , OCI_DEFAULT);
								oci_commit( $conexao );  // commits all new values: 1, 2, 3, 4, 5
 
						}//if ignora primeira linha
					}//if
				}//while
				echo 'total de importações: ' . $num_linhas_total  = $num_linhas_total + $num_linhas;
				fclose ($ponteiro);//FECHA O PONTEIRO DO ARQUIVO
				// você poderá apagar o arquivo para não importar o mesmo arquivo 2 vezes, ou renomear
//unlink("$arquivo");
				//rename($arquivo, "importado".$arquivo."000");//
			}//exists
			else { // FILE EXISTS
				echo "O arquivo $arquivo não FOI FOI ENCONTRADO";
				}
	}//tipo
 
	}
} // fecha while
 
oci_free_statement($stid);
oci_close($conexao);//fecha a conexão atual

Read More →

Bom pessoal, o objetivo desse tutorial é ensinar a vocês como enviar SMS atraves de um script PHP usando um modem, ou seu aparelho de celular.

Neste tuto estou usando o programa de gateway OZEKI NG, que pode ser baixado e usado por 30 dias grátis.

Eu andei pesquisando e não encontrei muita coisa sobre o assunto, porém existem várias empresas que oferecem o serviço gateway de SMS e cobram cerca de 0,20 por mensagem enviada.

As operadoras de telefonia movel cobram R$ 0,50 centavos por dia, para você enviar ilimitadas mensagens resumindo você gastaria apenas R$ 15,00 por mês para enviar ilimitados SMS.
Para começar baixe o programa no site: Ozekisms
http://www.ozekisms.com/index.php?owpn=112
http://www.ozekisms.com/index.php?owpn=433&dpath=%2Fattachments%2F113%2Finstall_1327415285_OzekiNG-SMS-Gateway_4.2.5.zip&dname=Ozeki+NG+SMS+Gateway+v4.2.5&dsize=+%289.3+MB%29+

Em seguida instale o programa(não vou entrar em detalhes da instalação) pois é bem simples além de ter uma opção para detectar automaticamente seu dispositivo e a porta(ex. das portas COM1, COM2, COM3, COM4).

Após instalado você poderá acessar o gateway para fazer as configurações.
http://127.0.0.1:9501/

Você pode se certificar em qual porta seu dispositivo esta atraves do gerenciador de dispositivos do windows.

Apos configurado aguarde alguns minutos para o programa reconhecer o dispositivo e enviar as mensagens.

O proximo passo é criar um formulário e o script php que enviára as informações para o gateway.

Read More →

Oracle/PLSQL: Criando Sequence (CREATE SEQUENCE)

Uma sequence é um gerador de numeros sequenciais, e pode ser parametrizada conforme sua necessidade.

Comando para criar a sequence
Sintaxe

create sequence TESTE_SEQ
minvalue 1
maxvalue 9999999999
start with 1
increment by 1
nocache
cycle;

minvalue = Valor minimo
max value = valor máximo que poderá chegar
start with = valor inicial
increment by 1 = (incremento), se este valor for 2, a sequence será incrementada como; 1,3,5,7,…
CYCLE = Sequencia será recomeçada ao atingir o valor maximo
NO CYCLE = default
OWNED BY table.col = Associa a uma coluna
OWNED BY NONE = sem associação

para testar a sequence

Read More →

Cria um arquivo com o nome teste.bat e coloque o codigo abaixo.

WINDOWS – teste.bat

1
2
md pasta_teste
exit

LINUX – teste.sh

1
2
mkdir /var/www/html
exit

O SCRIPT PHP

1
2
3
4
5
//WINDOWS
exec ('C:intranetwwwscriptsteste.bat');
 
//LINUX
exec('/home/teste/teste.sh');

Não esqueça de atribiur as permissões de leitura, escrita e execução para o script.(777)