Instalando Apache2+MySQL 5 + phpMyAdmin + Firebird 2 no Ubuntu 8.04
No link abaixo você encontra um ótimo tutorial para instalação destes aplicativos no Ubuntu 8.04, com excessão do Firebird2 que postarei os comandos no final do post
Para instalar o Firebird 2 :
sudo su
root@srv-teste:/# apt-get install firebird2.0-super libfbclient2 php5-interbase
Provavelmente você receberá o seguinte erro:
Erros foram encontrados durante processamento de:
firebird2.0-super
E: Sub-process /usr/bin/dpkg returned an error code (1)
No meu caso eu criei dois diretórios que estavam faltando:
mkdir /var/run/firebird
mkdir /var/run/firebird/2.0
OBS: Se o “erro” que você recebeu é este:
* Firebird 2.0 server manager not running.
* Not starting Firebird 2.0 server manager
* Use `dpkg-reconfigure firebird2.0-super' to enable.
não será necessário criar os diretórios.
Agora execute o comando
root@srv-teste:/# dpkg-reconfigure firebird2.0-super
Escolha a opção Sim e defina uma senha para o usuário SYSDBA.
Ao administrar usuários no phpMyAdmin talvez você se depare com a seguinte mensagem de erro:
Warning: Your privilege table structure seems to be older than this MySQL version!
Please run the script mysql_fix_privilege_tables that should be included in your MySQL server distribution to solve this problem!
Execute como root o seguinte comando:
root@srv-teste:/# mysql_fix_privilege_tables --password=senha_usuario_root_mysql
Depois restarte o MySQL
root@srv-teste:/# /etc/init.d/mysql restart
Espero que o post seja útil.
Add comment Setembro 16, 2009
Descobrir tamanho do diretório no Linux
O comando ls-ls não informa o tamanho que determinado diretório ocupa em disco. Para obter esta informação utilize o comando:
du -sh [diretório]
Exemplo
du -sh /var/www
Espero que este post seja útil.
Add comment Setembro 14, 2009
Configurando DNS secundário no Bind (Ubuntu Server 8.04)
Estou utilizando o Ubuntu Server 8.04
Abrir arquivo /etc/bind/named.conf.local
vim /etc/bind/named.conf.local
Adicione as informações do seu domínio:
zone “seudominio.com.br” IN {
type slave;
file “/etc/bind/m.nome_do_dominio”;
masters { IP DO SERVIDOR MASTER; };
};
Restarte o Bind
/etc/init.d/bind9 restart
Acompanhe no syslog para ver se deu algum erro:
tail -f /var/log/syslog
Se aparecer algo como permission denied, o Bind está sem direito de escrever no diretório /etc/bind/
Seguindo a orientação da fonte que citarei no final deste post, fiz o seguinte:
vim /etc/apparmor.d/usr.sbin.named
Alterei a linha /etc/bind/** r
para /etc/bind/** rw
Recarreguei o perfil do Bind no apparmor
cat /etc/apparmor.d/usr.sbin.named | sudo apparmor_parser -r
Restartei o serviço
/etc/init.d/bind9 restart
E ok, a sincronização funcionou perfeitamente.
OBS: Não esqueça de redirecionar a porta 53 para este servidor, caso contrário não será feita a sincronização.
Espero que este post seja útil.
http://leoserra.iaaeee.org/leonix/documentacao/bind-servidor-secundario.html
Add comment Setembro 14, 2009
Copiando arquivos entre servidores via SSH
Muitas vezes necessitamos copiar arquivos entre servidores diretamente, e nem sempre temos um servidor FTP ativo no servidor de destino. Para esta finalidade podemos utilizar o SCP, que permite copiar arquivos/diretórios via SSH.
O comando básico é este:
scp pasta_local usuario_ssh_outro_servidor@ip_do_servidor:/pasta de destino
Exemplo:
scp /home/tiago usuario_teste@192.168.0.3:/backup_tiago
O comando acima envia os arquivos que estão na pasta local /home/tiago para a pasta /backup_tiago no servidor 192.168.0.3. utilizando o usuário usuario_teste. Lembre-se que o usuario_teste tem que ter poder de escrita no diretório /backup_tiago.
Outro exemplo:
scp -r /home/tiago usuario_teste@192.168.0.3:/backup_tiago
Note que no exemplo acima adicionei o parâmetro -r, que fará a cópia recursivamente, isto é, copiará todos os arquivos e sub-diretórios contidos em /home/tiago.
Note que estes exemplos assumem que o servidor destino utiliza a porta 22 (padrão) para conexões SSH. Se o servidor utilizar outra porta, adicione o parâmetro -p [porta]
Espero que este post seja útil.
Add comment Setembro 14, 2009
Plugins do Firefox que facilitam o desenvolvimento web
Estes são os plugins do Firefox que utilizo hoje. (no Ubuntu)
Dica sobre o ColorZilla:
ixe os binários do site mozilla.com, e copie “por cima” dos arquivos do firefox que já vem instalado no ubuntu (isto vale tanto para a versão 1.5.* quanto para a versão 2.0 do firefox)
cd
tar zxvf [arquivo_binario_firefox].tar.gz
sudo cp ./firefox/* /usr/lib/firefox
Fonte da dica: http://revolucao.etc.br/archives/versao-definitiva-do-mozilla-firefox-20-disponivel-para-download-agora-mesmo/
Add comment Fevereiro 16, 2008
Solução para problema de style.top e style.left no Firefox
Você criou uma div bonitinha dinamicamente via Javascript, setou altura e tudo mais dinamicamente, para ficar perto de um elemento qualquer na página, e funcionou no Internet Explorer mas no Firefox não? Simples, é só setar a unidade de medida. Sem a unidade de medida o Internet Explorer interpreta como px(pixels), mas o Firefox não.
Exemplo:
function CriarDiv(fComponenteQueChamou)
{
var nova_div = document.createElement('div');
var corpo = document.getElementBytagName('body);
with( nova_div )
{
style.top = fComponenteQueChamou.offsetTop+20;
style.left = fComponenteQueChamou.offsetLeft+10;
innerHTML += 'Um texto qualquer';
style.backgroundColor = 'red';
style.position = 'absolute';
}
corpo[0].appendChild(nova_div);
}
O exemplo acima funciona maravilhosamente bem no Internet Explorer, mas no Firefox não.
Para funcionar no Firefox altere as seguintes linhas:
style.top = fComponenteQueChamou.offsetTop+20+'px';
style.left = fComponenteQueChamou.offsetLeft+10+'px';
Pronto…funcionando certinho no IE e no Firefox.
Eu usei a criação de div’s dinâmicas em um recurso de busca incremental. Outro dia posto um passo-a-passo sobre como criar uma busca incremental utilizando JSON. Muito legal.
Atualização do artigo: Resolvi colocar aqui a solução de um problema que muitos desenvolvedores enfrentam. Se você utilizar offsetTop em um elemento dentro de uma table, ele retorna o top em relação ao table, e não em relação à página.
Um exemplo: Vamos imaginar que você quer posicionar uma div bem aonde o usuário clicou dentro de uma tabela:
Exemplo da tabela:
<table>
<thead>
<th>Coluna1</th>
</thead>
<tbody>
<tr>
<td onclick="PosicionaDiv(this);"> Conteudo da coluna 1</td>
</tr>
</tbody>
</table>
E a função javascript será essa:
function PosicionaDiv(fOwner)
{
var minha_div = document.getElementById('minha_div') ;
var altura_da_celula = fOwner.offsetTop;
var altura_da_tabela = fOwner.parentNode.parentNode.parentNode.offsetTop ;
minha_div.style.top = (altura_da_celula+altura_da_tabela)+'px'
}
Qualquer dúvida é só postar aí nos comentários.
2 comments Fevereiro 11, 2008
MySQL – Fazendo backup e restaurando via linha de comando
Fazer backup ou restauração via linha de comando é muito útil quando necessitamos automatizar tarefas, como fazer um backup automático e logo em seguida gravar em CD ou DV, ou mesmo enviar via FTP para outro servidor.
Abaixo listo alguns exemplos de comandos, tomando como exemplo que a senha do usuário root do MySQL seja 123:
Extrair estrutura e dados de todos as bases de dados do seu mysql para o arquivo backup_banco.sql
mysqldump -u root -p123 --all-databases > backup_banco.sql
Se desejar mais detalhes durante a operação, é só adicionar o parâmetro -v no comando
mysqldump -v -u root -p123 --all-databases > backup_banco.sql
Extrair extrutura e dados de um banco somente, neste exemplo o banco banco_exemplo:
mysqldump -u root -p123 --database banco_exemplo > backup_banco.sql
E para restaurar o banco de dados extraído anteriormente, utilize:
mysql -u root -p123 -h localhost banco_exemplo < backup_banco.sql
Add comment Fevereiro 8, 2008
Instalando Internet Explorer no Ubuntu 7.10 (IE4Linux)
Para quem desenvolve aplicativos web, e não pode se dar ao luxo de ignorar o comportamento de seu site/software no Microsoft Internet Explorer, recomendo a instalação do IE4Linux. Abaixo o link do artigo de Duda Nogueira explicando passo a passo a instalação.
http://planeta.ubuntubrasil.org/post/1352
Eu testei este artigo no Ubuntu 7.10 e funcionou corretamente com o instalador gráfico. No instalador modo texto não consegui instalar.
Add comment Fevereiro 8, 2008
Vídeo interessante sobre acessibilidade – Seu site é acessível?
Add comment Fevereiro 6, 2008
Dialplan para Linksys com asterisk ou discOS
Pessoal.
Para preencher uma lacuna na configuração do disc-Os, onde não é possível setar um dialplan dinâmico, desenvolvi este dialplan simples e direto para ser utilizado no ATA. No meu caso um Linksys PAP2.
O dialplan que utilizo para meus ramais é o seguinte:
(<:041>[2-9]xxxxxxxS0|2-9]xxxS0|[0]xxxxxxxxxxS0)
Explicando:
1a. parte: <:041>[2-9]xxxxxxxS0|
Se o usuário digitar no seu telefone uma seqüencia de 8 dígitos, sendo o primeiro dígito entre 2 e 9, então ele coloca o 041 automaticamente. Exemplo: Se digitar 33338888 este dialplan dará a saída 04133338888
2a. parte: [2-9]xxxS0
Se o usuário digitar no seu telefone uma seqüencia de 4 dígitos, sendo o primeiro dígito de 2 a 9, então ele disca do jeito que foi digitado. Isto é para não ter problemas em discar para outro ramal do seu asterisk ou discOS. Exemplo: Se eu digitar 2003 este dialplan dará a saída 2003, chamando o ramal 2003 do seu pbx.
3a. parte: [0]xxxxxxxxxxS0
Se o usuário digitar uma seqüencia de 11 dígitos, sendo o primeiro dígito 0(zero), então ele disca do jeito que foi digitado. Exemplo: Se digitar 04133338888, este dialplan dará a saída 04133338888, chamando uma ligação de longa distância no seu pbx.
Espero que seja útil para quem estiver lendo este post. Qualquer dúvida é só comentar.
12 comments Janeiro 23, 2008