Latest Entries »

Caso tenha alterado os campos “Endereço do WordPress (URL)” e “Endereço do Blog (URL)” em Configurações > Geral e não conseguiu mais acessar o admin  adicione isso ao seu wp-config.php:

define('WP_HOME','http://example.com'); define('WP_SITEURL','http://example.com');

Troque a url pela url correta do seu blog.

Ufa!

Criando links simbólicos e físicos

Objetivo: Os links são arquivos especiais que funcionam como um atalho para outros arquivos e diretórios. São especialmente úteis quando se deseja espelhar o conteúdo de um arquivo ou diretório em outro ponto do sistema de arquivos.

Os links podem ser de dois tipos:

Links simbólicos: É um arquivo especial que contém um ponteiro que aponta para outro arquivo. Eles consomem pouco espaço em disco e possuem a versatilidade de poderem apontar para arquivos de outro sistema de arquivos, até mesmo mapeado de outro computador em rede. O link simbólico não tem permissões de acesso próprio, mas assume as permissões do arquivo original. Se o arquivo apontado for apagado, o link simbólico fica quebrado, deixando de funcionar.Pode-se fazer uma analogia com o “atalho” do Windows.

Hard Links ou Links Físicos: Os links físicos são na verdade um mesmo arquivo, mas com nomes diferentes e possivelmente em diretórios diferentes. Eles possuem em comum o mesmo conteúdo e as mesmas permissões. É como se um arquivo tivesse dois nomes. Se o arquivo original é apagado, o link permanece. Os links físicos somente podem ser criados para arquivos e em um mesmo sistema de arquivos, já que eles apontam para o mesmo inode do arquivo original.

ln [opções] arquivo link

OBS.: O comando que cria links simbólicos e físicos.

$ ls -l

OBS.: Os links podem ser vistos com a opção -l do comando ls.

As opções mais usadas para o comando ln são:

  • -s cria um link simbólico;
  • -f força criação de um link mesmo que este já exista.

Ex.:

# ln -s /usr/src/linux-2.4-199 /usr/src/linux
# ln /var/log/messages /var/adm/log/kernel.log

Cria link físico kernel.log do arquivo messages

OBS.: É preciso tomar cuidado fazer uma cópia ou backup dos arquivos com os comandos cp, cpio e tar para não perder os links.

Para localizar arquivos ou diretórios no Linux existem duas maneiras:

1. Utilizando o comando FIND

Para localizar algum arquivo ou diretório utilizando o find utilize a seguinte linha de comando:

find -name <nome do arquivo ou diretório>

2. Utilizando o LOCATE

Para localizar com o comando locate, primeiro deve-se utilizar o comando “updatedb”. Depois de utilizado o comando “uptadedb” (vai demorar um pouquinho), aí utiliza o comando locate. Exemplo:

locate <nome do arquivo ou diretório>

OBS: Os comandos find e locate podem ser utilizados pelos usuários do sistema (mas existem alguns diretórios que não serão permitidos os acessos, mas o comando updatedb pode ser utilizado somente pelo ROOT.

O updatedb pode ser executado dependendo da demanda de uso do Linux, pois se for uma utilização diária, deve ser feito diariamente.

Como começar a usar a classe”DB” de forma simples

Usar as funções, que o php disponibiliza, diretamente no seu código torna seu projeto restrito à aquele banco de dados.
Redução do seu código.
Facilidade para tratar erro.

Extensões de SGBDs suportadas

dbase msql oci8 sybase
fbsql mssql odbc ldap
ibase mysql pgsql ldap2
ifx mysqli sqlite ldap3

Usando

Abaixo é exibido de uma forma simples a interação com o banco de dados quando usado o PEAR::DB.
Primeiramente, será exibido um exemplo e depois será explicando as etapas.

<?

require_once "DB.php";

$dsn = "mysql://usuario:senha@host/database";

$db = DB::connect($dsn);
if (DB::isError($db)) {
    die($db->getMessage());
}

$db->setFetchMode(DB_FETCHMODE_ASSOC);

$linha = $db->getRow(
"SELECT id, nome, email FROM usuario WHERE nome = ?",
array('pedro')
);
if (DB::isError($linha)) {
die( $linha->toString() );
}

$rs = $db->query("SELECT id, nome, email FROM usuario");
if (DB::isError($rs)) {
die( $rs->toString() );
}

print "Numero de linhas selecionadas: " .$rs->numRows() . "\n";

while ($row =& $rs->fetchRow()) {
print "{$row['id']} - {$row['nome']} \n";
}
$rs->free();

$sth = $db->prepare("INSERT INTO usuario (nome, email) VALUES (?, ?)");
$data = array('Priscilla', 'seuemail@dominio.com.br');
$rs = $db->execute($sth, $data);
if (DB::isError($rs)) {
die($rs->toString());
}

$db->disconnect();

?>

Vamos comentar esse código…

Linha 3: Inclue a biblioteca.

Linha 5: DSN. Define as especificações da conexão a ser estabelecida.

Linhas 7 a 10: Conecta ao banco de dados e verifica se houve algum erro. A Classe DB SEMPRE retorna o objeto DB_Error quando acontece algum erro.

Linha 12: Diz ao PEAR::DB para sempre retornar um array associativo quando for retornar um resultado de um select. Existem também as constantes DB_FETCHMODE_ORDERED e DB_FETCHMODE_OBJECT.

Linhas 14 a 20: Seleciona SOMENTE uma linha e faz o tratamento de erro. Repare no SQL tem um ‘?’… então, ele subistitue o ? por ‘pedro’ já fazendo o quote. Caso tenha mais de um ‘?’, ele vai subistituindo por cada item do array $data na ordem.

Linhas 22 a 32: Executa a query e retorna DB_result ou DB_Error caso ocorra algum erro. Imprime a quantidade de registros selecionados com $rs->numRows() e faz uma varredura no resultado da query pegando cada registro e imprimindo na tela.

Linhas 34 a 39: Prepara a query usando o mesmo esquema com as ‘?’, define os dados a serem inserido, executa e trata o erro caso ocorra. Você pode usar para updates e deletes também.
Conclusão

Foi explicado sobre algumas das principais funcionalidades do PEAR::DB… leia a documentação para fazer uma pesquisa mais detalhada do poder desta biblioteca.

http://pear.php.net/package/DB
http://pear.php.net/manual/en/package.database.db.php

Em primeiro lugar, baixe os pacotes do postfix de acordo com sua distribuição.

Entre como usuário root com as seguintes linhas de comando:

pm -ivh postfix-20010228p108-10cl.i386.rpm
# rpm -ivh postfix-doc-20010228pl08-10cl.i386.rpm

Configurando o Postfix

Após a instalação dos pacotes necessários, entre no diretório /etc/postfix (cd /etc/postfix) e, usando seu editor de textos preferido, edite o arquivo main.cf, por exemplo:

# mcedit main.cf

Faça as seguinte alterações:

  1. Na linha que contiver “myhostname” (linha 69), descomente-a e acrescente seu hostname.Exemplo:

    #myhostname = host.domain.name
    myhostname = hideki.naweb.ws
    
  2. Na linha “mydomain” (linha 77), coloque apenas o domínio, exemplificando;

    #mydomain = opensource.com.br
    
  3. Em “myorigin” (linhas 88 e 89), mantenha comentado “myhostname” e descomente “mydomain”, por exemplo:
    myorigin = $myhostname
    #myorigin = $mydomain
    
    #myorigin = $myhostname
    myorigin = $mydomain
    

    Em “inet_interfaces” (linhas 98, 99, 100), a configuração dependerá de quais hosts terão acesso à Internet e aqueles que não acessarão. Será desta maneira:

    a.
    Se todos os nós da rede irão acessar a Internet, mantenha como “all”:

    inet_interfaces = all
    #inet_interfaces = $myhostname
    #inet_interfaces = $myhostname, localhost
    

    b.
    Se apenas algumas máquinas acessarão, faça as seguintes mudanças. Em “inet_interfaces = all”, apague “all” e coloque a faixa de IPs que terão direito de conectar-se à Internet. Abaixo será apresentado um exemplo;

    #inet_interfaces = 192.168.100.1, 192.168.100.10, 192.168.100.23
    

    Em “mydestination” (linhas 125, 126, 127), descomente uma das linhas, sendo aconselhável ser escolhida a terceira linha. Por exemplo:

    #mydestination = $myhostname, localhost.$mydomain
    #mydestination = $myhostname, localhost.$mydomain, $mydomain
    mydestination = $myhostname, localhost.$mydomain, $mydomain, mail.$mydomail, www.$mydomain, ftp.$mydomainmydestination
    
  4. Em “relay_domains” (linha 202), troque “$mydestinations” por “$mydomain” e descomente a linha. Como o modelo abaixo:

    #relay_domains = $mydestination
    relay_domains = $mydomain
    

    Aqui termina a configuração do arquivo main.cf. Feita estas alterações, deve-se reinicializar o Postfix. Para efetuar esta ação utilizamos os seguintes comandos e parâmetros:

    # service postfix stop
    # service postfix start
    # service postfix reload
    

    Para verificar os erros ocorridos, dê a seguinte linha de comando:

    # tail -f /var/log/maillog
    

    O próximo passo é dar as permissões necessárias para execução, escrita e leitura do arquivo, faça deste modo:

    # cd /var/spool
    # chown postfix.postfix -Rvf postfix
    

    Para que possa receber as mensagens eletrônicas em um cliente de correio eletrônico será preciso o inetd. Faça assim:

    # service inet start
    

    Para criar um apelido (aliases) para sua conta root de correio eletrônico, execute as seguintes linhas de comandos:

    # mcedit /etc/postfix/aliases
    

    Altere a seguinte linha:

    root = root 
    para
    root = hideki 
    

    Salve as alterações, saia do editor e dê o seguinte comando:

    # newaliases
    

    Pronto. Agora é só criar as contas de usuários, pois o Postfix está configurado.