Para instalar o php com suporte ao interbase, foram realizados os seguintes procedimentos: (atualizado)
1) Instalação do apache com suporte a módulos dinâmicos (DSO).
2) Instalação do padrao do firebird para funcionar a conexão.
3) Instaleção do php via DSO e, criação da biblioteca compartilhada para interbase.
1) Apache.- Versão 2.2.8
Depois de feito o download do apache, foi feito a seguinte configuração. Lembrando que a compilação vai do gosto de cada
um:
Obs: todas as compilações foram feitas com usuário normal (não-root), passando para root na hora de executar o make install.
$ ./configure --prefix=/usr/local/apache2 --exec-prefix=/usr/local/apache2 --enable-headers --enable-ssl --enable-vhost-alias --enable-proxy --enable-http --enable-rewrite --enable-so
$ make
$ su
# make install
Ok, o apache está compilado e instalado.
2) Firebird
Foi feito o download do Firebird na versão FirebirdCS-1.5.5.4926-0.i686.tar.gz.
Para instalação, foi executado em modo de instalação padrão o arquivo "install.sh" que se encontra dentro da pasta FirebirdCS-1.5.5.4926-0.i686 que é criada após a descompactação do arquivo "tar.gz"
Após a execução do arquivo install.sh, será criada a pasta /opt/firebird (que faz parte da instalação padrão).
A instalação do firebird não será abordada aqui.
OBS: Em alguns testes, era preciso que o firebird estive-se rodando para o php acessar os bancos de dados.
Agora vamos ao php...!
3) Php - Versão 4.4.8
Seguindo os mesmo passos do Apache, faça o download do php tarball do site e compile conforme sua necessidade. Toda a compilação foi feita em modo usuário normal.
A compilação do php também é temperada a gosto conforme à necessidade.
Neste exemplo, já existe uma instalação de apache e php em versões anteriores para outros testes e serviços rodando nos diretórios padrões /usr/local/apache e /usr/local/lib (para php) portanto, foi instalado o php e apache em diretórios diferentes como pode ser visto nas linhas do configure, abaixo.
$ ./configure --prefix=/usr/local/php-4.4 --exec-prefix=/usr/local/php-4.4 --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql --enable-safe-mode --disable-ipv6 --with-zlib --with-zip=/usr --with-interbase=shared,/opt/firebird --with-openssl
$ make
$ su
# make install
A opção de compilação "--with-interbase=shared,/opt/firebird" deve estar presente para que o php gere um módulo do interbase para funcionar corretamente.
Depois de compilado e instalado, ainda no pasta fonte do php, entre na pasta "modules" e verifique a existencia do arquivo "interbase.so", copie este arquivo para a pasta de "extesions" que será configurada no php.ini.
Como já existia uma instalação do php-4.1.2 neste servidor, o diretório padrão desta versão 4.4.8 está em /usr/local/php-4.4.8.
# cp interbase.so /usr/local/php-4.4/lib/php/extensions
Feito isto, copie o php.ini-dist /usr/local/php-4.4/lib
Pronto, agora é só editar o php.ini e testar.
# cd /usr/local/php-4.4/lib
# vi php.ini
Dentro do php.ini você vai procurar pela linha "extension=interbase.so" e descomentá-la.
Procure também a linha "extension_dir" e coloque-a apontando para a pasta de extensões utilizadas pelo php, nesta caso ficaria assim:
extension_dir = "/usr/local/php-4.4/lib/php/extensions"
Ok, feito isto o servidor está apto a funcionar acessando banco de dados firebird.
Configure um vhost no apache, crie seus scripts de conexão com o firebird e faça os testes.
Obs: Em uma versão de testes, foi compilado o Apache 1.3.37 com php 4.1.2 onde o script que conectava no banco realizava a conexão mas a rotina só apresentava as informações até uma parte ou seja, não concluia todo o processo. Só para registrar =)
Abraço até a próxima...!
sexta-feira, 23 de maio de 2008
quarta-feira, 14 de maio de 2008
Argument list too long
Para remover muitos arquivos de um diretório de uma vez só, o comando seria o seguinte:
for i in `ls`; do rm -rf $i; done
ou usando xargs:
ls | xargs -n10 -i rm -rf {}
Dica de PiterPunk
for i in `ls`; do rm -rf $i; done
ou usando xargs:
ls | xargs -n10 -i rm -rf {}
Dica de PiterPunk
sexta-feira, 9 de maio de 2008
Dicas interessantes para backup
Não sou expert em script para backups e assim como quase todos admins, tenho que me virar na hora da correria.
Estava escrevendo um script de backup esses dias e, precisava que o script ao gerar o backup do dia, apaga-se o backup do dia anterior.
Como os dados ficariam em fita, não precisava guardar os backups de todos os dias em disco mas, gostaria que ele apaga-se o backup feito no dia anterior, de uma forma "elegante" ao invés de mandar um "rm -rf" na pasta.
Para executar esse rm dos dias anteriores adicionei a seguinte linha dentro do script de backup, no final dele:
rm nome-do-arquivo-$(date --date="1 day ago" +%Y-%m-%d).tgz
Claro que tudo depende de como você fez o backup.
O nome do arquivo no meu caso é sempre o mesmo, o formato da data também é o mesmo e o tipo de compactacão que usei foi .tgz, se isto não estiver de acordo ele não vai encontrar o arquivo de backup que foi gerado.
Bom, nesta opcão posso colocar "4 days ago" para deletar o backup de 4 dias atrás mas, contato a partir da data em que rodo o script por exemplo, se rodar hoje 09-05-2008 ele vai apagar os backups do dia 05-05-2008.
Se omitir esta opcão de data na linha de comando, ele vai remover os backups não importa a data atual, será sempre da quantidade de dias que você colocar.
Essa dica é boa, contanto que você não ache melhor colocar um "rm" após gerar o backup. Mas lembre-se de transferi-lo para outro lugar antes de remover.
Até mais..
Estava escrevendo um script de backup esses dias e, precisava que o script ao gerar o backup do dia, apaga-se o backup do dia anterior.
Como os dados ficariam em fita, não precisava guardar os backups de todos os dias em disco mas, gostaria que ele apaga-se o backup feito no dia anterior, de uma forma "elegante" ao invés de mandar um "rm -rf" na pasta.
Para executar esse rm dos dias anteriores adicionei a seguinte linha dentro do script de backup, no final dele:
rm nome-do-arquivo-$(date --date="1 day ago" +%Y-%m-%d).tgz
Claro que tudo depende de como você fez o backup.
O nome do arquivo no meu caso é sempre o mesmo, o formato da data também é o mesmo e o tipo de compactacão que usei foi .tgz, se isto não estiver de acordo ele não vai encontrar o arquivo de backup que foi gerado.
Bom, nesta opcão posso colocar "4 days ago" para deletar o backup de 4 dias atrás mas, contato a partir da data em que rodo o script por exemplo, se rodar hoje 09-05-2008 ele vai apagar os backups do dia 05-05-2008.
Se omitir esta opcão de data na linha de comando, ele vai remover os backups não importa a data atual, será sempre da quantidade de dias que você colocar.
Essa dica é boa, contanto que você não ache melhor colocar um "rm" após gerar o backup. Mas lembre-se de transferi-lo para outro lugar antes de remover.
Até mais..
terça-feira, 6 de maio de 2008
Lynx e Wget via proxy
Para ativar o uso do Lynx e do Wget via proxy, proceda da seguinte forma:
Lynx:
Localize o arquivo lynx.cfg
# locate lynx.cfg
/etc/lynx.cfg
Utilizando um editor localize as seguinte variáveis proxy: http, https e ftp. Existem outras mas não entrarão neste contexto.
Depois de localizada as variáveis altere para o seguinte:
http_proxy:http://ip.do.servidor.proxy:porta/
https_proxy:http://ip.do.servidor.proxy:porta/
ftp_proxy:http://ip.do.servidor.proxy:porta/
Pronto está feito, domínios da intranet que não precisam de proxy podem ser acessados através da variável:
no_proxy:dominio.com.br, dominio2.com, IP
Para configurar o wget para sempre utilizar proxy proceda da seguinte forma:
Localize o arquivo wgetrc:
# locate wgetrc
/etc/wgetrc
Edite o arquivo e procure as seguintes variáveis:
http_proxy
ftp_proxy
use_proxy
Caso a opção use_proxy esteja ativa: use_proxy = on, as opções http e ftp devem estar configuradas.
http_proxy = http://ip.do.servidor.proxy:porta/
ftp_proxy = http://ip.do.servidor.proxy:porta/
obs: mantenha a barra no final das configurações.
Para utilizar o wget utilizando proxy digite o seguinte
#wget --proxy-user=usuario --proxy-password=senha endereço_para_baixar
Feito isto, é só utilizar as ferramentas.
Lynx:
Localize o arquivo lynx.cfg
# locate lynx.cfg
/etc/lynx.cfg
Utilizando um editor localize as seguinte variáveis proxy: http, https e ftp. Existem outras mas não entrarão neste contexto.
Depois de localizada as variáveis altere para o seguinte:
http_proxy:http://ip.do.servidor.proxy:porta/
https_proxy:http://ip.do.servidor.proxy:porta/
ftp_proxy:http://ip.do.servidor.proxy:porta/
Pronto está feito, domínios da intranet que não precisam de proxy podem ser acessados através da variável:
no_proxy:dominio.com.br, dominio2.com, IP
Para configurar o wget para sempre utilizar proxy proceda da seguinte forma:
Localize o arquivo wgetrc:
# locate wgetrc
/etc/wgetrc
Edite o arquivo e procure as seguintes variáveis:
http_proxy
ftp_proxy
use_proxy
Caso a opção use_proxy esteja ativa: use_proxy = on, as opções http e ftp devem estar configuradas.
http_proxy = http://ip.do.servidor.proxy:porta/
ftp_proxy = http://ip.do.servidor.proxy:porta/
obs: mantenha a barra no final das configurações.
Para utilizar o wget utilizando proxy digite o seguinte
#wget --proxy-user=usuario --proxy-password=senha endereço_para_baixar
Feito isto, é só utilizar as ferramentas.
Marcadores:
Configuração
segunda-feira, 5 de maio de 2008
Próximos posts...!
Os próximos posts a serem colocados aqui serão:
1) Como rodar o php com suporte a acesso ao banco de dados interbase/firebird
2) Rodando dois servidores apache no mesmo servidor para atender a domínios diferentes em portas diferentes.
Aguardem....!!!
1) Como rodar o php com suporte a acesso ao banco de dados interbase/firebird
2) Rodando dois servidores apache no mesmo servidor para atender a domínios diferentes em portas diferentes.
Aguardem....!!!
Assinar:
Postagens (Atom)