Driblando Firewalls com o SSH

<!--
TITLENL Driblando Firewalls com o SSH
-->
<A NAME="200712022104"></A>
Você vai precisar de uma máquina local com um cliente ssh e uma senha em algum servidor remoto que não é bloqueado pelo mesmo firewall que a sua máquina :)

Na máquina local :

ssh -D 12345 -N -f servidor.org

Onde -D diz qual a porta que será usada localmente para as transações, -N diz para não executar nenhum comando no shell remoto e -f joga o ssh para segundo plano.

Após você se autenticar normalmente no seu servidor o shell local continua sob seu controle.

nas configurações de proxy do seu navegador favorito você deve configurar sua conexão atravez de SOCKS v5 , cujo o servidor é sua máquina local (localhost/127.0.0.1) e a porta é aquela especificada após a flag -D.

Dica do walrus 🙂

Instalando o MySQL5 no Leopard via ports

Se tivesse o sistema port do BSD para o linux com o tamanho do emerge … O osx tem port, isso facilita muito na hora de instalar um servidor ou algo do tipo. Na real escolhi o caminha mais dificil, existe um pacote que com três cliques o Mysql é instalado e configurado na máquina, mas como eu quero emoção e customização optei a instalação via port.

Primeiro você deve escolher suas variants, com o comando :



port -v variants mysql5

Eu escolhi a flag 'server' , afinal não quero apenas as ferramentas :



port -v install mysql5 +server

Após instalado vem a aventura, iniciar o servidor… Como bom usuário mal acustumado do fedora, onde tudo simplesmente funciona , tentei me conectar com o servidor o resultado :



ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/opt/local/var/run/mysql5/mysqld.sock' (61)

Após verificar com o ps aux, vi que não tinha nada rodando, então dei o comando mysqld_safe5, que não funcionou mas pelo menos avisou, faltou criar o diretório,

/opt/local/var/db/mysql5/. Criei o diretório, arrumei as permissões. Tentei novamente e outro erro :



Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist

Esse erro eu resolvi copiando um arquivo de configuração dos exemplos :



cp /opt/local/share/mysql5/mysql/my-small.cnf /opt/local/etc/mysql5/my.cnf

E então mais outro erro :



030915 2:04:01 Fatal error: Can't open privilege tables: Can't find file:

'./mysql/host.frm' (errno: 13)

Esse eu corrigi com o comando :



mysql_install_db5 --user=mysql

E só então, pude usar meu :



mysqld_safe5 --user=mysql

Que funcionou beleza, impressionante como não tem praticamente nenhuma automação nesses pacotes do ports… 10 x 0 pro fedora 🙂

Fazendo cache do PHP



APC é um módulo alternativo de cache do PHP, e serve para não obrigar o PHP a interpretar os scripts a cada execução ,melhorando por tabela a performance do servidor.

Sua instalação é simples , em sistemas debian-like será nescessária a instalação do pacote de desenvolvimento do PHP5 :

apt-get install php5-dev

Feito isso a instalação do pacote APC é feita com o comando :

pecl install APC

Então basta adicionar o seguitne conteúdo no arquivo /etc/php5/apache2/php.ini :

extension=apc.so


[apc]

apc.enabled = 1

apc.shm_segments = 1

apc.shm_size = 30

apc.optimization = 0

apc.ttl = 7200

apc.user_ttl = 7200

apc.num_files_hint = 1000

apc.mmap_file_mask = /tmp/apc.XXXXXX

As flags apc.ttl , apc.user_ttl definem o tempo em segundos que o script vai ficar em cache.