Arquivo

Arquivo da Categoria ‘servidores’

Criando virtual hosts no linux ubuntu 9.10

Para criar um virtual host no apache2 instalado no ubuntu 9.10 (acerdito que funciona também em outras versões do ubuntu), siga os passos abaixo:

Por padrão, o diretório do apache é /var/www

Você pode criar pastas dentro desse diretório, que serão os vhosts. Se o diretório estiver protegido, no terminal execute o seguinte comando:

sudo chmod 777 /var/www

Crie dentro desse diretório um novo diretório chamado, por exemplo, meusite.local
No terminal:
mkdir /var/www/meusite.local
sudo getdit /etc/apache2/sites-available/meusite.local

Adicione o seguinte código:

<VirtualHost *:80>
	ServerName meusite.local
	DocumentRoot /var/www/meusite.local
	<Directory /var/www/meusite.local/>
		Options FollowSymLinks
		AllowOverride None
		Order deny,allow
		Allow from all
	</Directory>
</VirtualHost>

Salve e feche.

Edite o arquivo hosts do Ubuntu:

sudo gedit /etc/hosts

Adicione a seguinte linha:
127.0.0.1 meusite.local

Salve e feche.

Abra o arquivo
sudo gedit /etc/apache2/apache2.conf
e certifique-se de que ele possua as linhas

NameVirtualHost *:80
Listen 80

Edite se preciso (adicione as linhas), salve e feche.

No terminal, desabilite o site default do apache:
a2dissite default
e habilite o seu vhost:
a2ensite meusite.local

Dê o seguinte comando
sudo /etc/init.d/apache2 reload

Vá até o diretório /var/www/meusite.local, e crie um novo arquivo, index.html, e insira e salve o seguinte código:

<h1>Funciona!</h1><h2>Esta é a página inicial de meusite.local</h2>

Abra o navegador e acesse http://meusite.local

Você deverá ver as mensagens editadas no arquivo.

Pronto! Você criou um virtual host!

Para criar outros, siga o mesmo processo, substituindo meusite.local pelo nome do seu novo virtual host.

Só para deixar claro, o diretório não precisa ter o mesmo nome do virtual host.

Apache flv streaming – configurando sem usar php

Olá!

Hoje eu estava vendo algumas configurações do flowplayer, e acabei encontrando uma solução para configurar o apache como um servidor streaming no fórum do flowplayer.

É uma solução desenvolvida por Paul Querna, o mod_flv. É um modulo desenvovido para ser configurado no Apache. Lá também tem uma solução desenvolvida pelo autor do assunto.

Eu não cheguei a testar, pois no momento ainda não tenho necessidade, mas acho que em breve vou precisar, e acredito ser uma ótima solução para que trabalha com vídeos online ou está desenvolvendo alguma solução para FLV streaming.

O link é http://flowplayer.org/forum/5/14679.

O fórum está em inglês. Se você precisar de ajuda, escreva para mim.

Se você experimentar, deixe um comentário aqui para falar da sua experiência!

MySQL Workbench, MySQL Administrator e MySQL Query Browser

Hoje vou apresentar, se você ainda não conhece, ferramentas muito práticas para se trabalhar com banco de dados MySQL.

Essas ferramentas são desenvolvidas pelo próprio pessoal do MySQL, e são fornecidas gratuitamente, assim como o banco de dados, sob licença GPL.

MySQL Workbench

Uma ferramenta que eu descobri há pouco tempo é o MySQL Workbench. Essa é uma ferramenta visual muito prática para criar, gerenciar e documentar um banco de dados. É intuitiva e fácil de se trabalhar. Você pode criar estruturas de dados complexas, e até importar bancos de dados existentes em sql.

Você pode fazer o download do MySQL Workbench aqui.

MySQL Administrator

É uma poderosa ferramenta de administração de banco de dados. Você pode administrar usuários, fazer e restaurar backups do banco de dados, administrar conexões, acompanhar o desempenho do banco de dados como queries lentas, reiniciar o servidor MySQL, administrar as configurações dos bancos e do servidor, e muitas outras coisas. Algumas coisas são restritas a serem usadas somente no computador local, mas dá para se fazer muita coisa remotamente também.

MySQL Query Browser

É uma ótima ferramenta para se executar queries e scripts SQL. Os resultados de um select são trazidos na própria tela, permitindo desenvolver SQLs complexas e visualizar se o resultado é o que esperamos. Além disso, é possível criar views, inserir e alterar dados, criar triggers e exportar os resultados de um select . Também é ótimo para otimização de Queries usando o comando explain.

O MySQL Administrator e o MySQL Query Browser fazem parte do pacote MySQL GUI Tools, que inclui também mais uma ferramenta chamada MySQL Migration Toolkit (o próprio nome já diz para que serve – mas nunca usei, então não posso escrever sobre ele).

Você pode fazer o download do MySQL GUI Tools clicando aqui.

Veja abaixo alguns screenshots dos 3 programas:

Abraços e até a próxima!

Forçar download em servidor remoto como Amazon S3 com opção “salvar como”

Olá!

Este artigo mostra como fazer para que apareça a opção “salvar como” para downloads de arquivos hospedados em servidores remotos, o que é muito útil para se poupar recursos do servidor.

Para poder utilizar a solução apresentada aqui, será necessário que o Apache esteja com os módulos mod_rewrite e mod_proxy habilitados, ou que você possa editar o arquivo httpd.conf do servidor Apache (ou solicitar as configurações ao seu serviço de hospedagem).

Há um certo tempo atrás a equipe do meuInglês decidiu hospedar os arquivos pesados do site, como FLV e MP3, e as imagens, nos servidores Amazon S3. As vantagens eram muitas, tais como a rapidez no carregamento dos arquivos, o baixo custo e a segurança envolvidos. Tudo era maravilhoso, até que esbarrei com as opções de download que o meuInglês oferece aos seus usuários. Outros sites concorrentes também hospedam seus arquivos na Amazon S3, e a opção de download para seus usuários é de clicar com o botão direito do mouse para selecionar salvar o destino do link (pelo menos com instrução, para facilitar a vida de usuários menos experientes).

Particularmente, acho esta solução muito deselegante, pois é tão cômodo para o usuário simplesmente clicar no botão de download e aparecer uma janelinha pedindo para “Salvar o arquivo como…”. Comecei a googlar pesquisando uma solução.

A primeira coisa que fiz foi usar a função fopen() do php com permissão a acessar arquivos remotos, e depois setar o header do php para disponibilizar o arquivo como attachment. Logo vi em conjunto com a equipe de tecnologia que isso não seria uma solução, mas sim um problema, pois a função fopen() baixava os arquivos da Amazon S3 para o servidor, e depois disponibilizava o arquivo para o usuário, logo, iríamos pagar os custos de tranferência de dados duas vezes: uma pela transferência dos arquivos da Amazon S3 para o servidor, e depois do servidor para o usuário, além do tempo de download ser a soma desses dois downloads.

Perdi três preciosos dias buscando uma solução, pesquisando, pensando, tentando várias coisas que encontrei, tais como setar cabeçalhos (HTTP Header) diretamente nos arquivos, ou ao subir os arquivos para a Amazon S3… Estava quase desistindo, quando encontrei um site maravilhoso com ótimas dicas de configurações do Apache e do .htdocs (salve nos seus favoritos! Você vai precisar!).

Então saí da câmara escura e comecei a enxergar novos horizontes.

Criei uma pasta downloads na raíz do site e dentro dela coloquei um arquivo .htacces com a seguinte configuração:


IndexIgnore *
RewriteEngine On

RewriteCond %{QUERY_STRING} (.*)
RewriteRule ^mp3/(.*)$ http://seubucket.s3.amazonaws.com/pasta/$1?%1 [P,E=PERMITE:1]

RewriteCond %{QUERY_STRING} (.*)
RewriteRule ^pdf/(.*)$ http://seubucket.s3.amazonaws.com/pasta/$1?%1 [P,E=PERMITE:1]

RewriteCond %{ENV:PERMITE} !1$ [NC]
RewriteRule .* - [R=404,NS,L]

Header set Content-Disposition "attachment;" env=PERMITE

Explicando:

  1. A primeira linha simplesmente não permite listar os arquivos do diretório.
  2. A segunda linha habilita o módulo rewrite do apache.
  3. A quarta linha (assim como a sexta) pega os parâmetros passados pela url (como a autenticação para arquivos protegidos na Amazon S3) através de uma condição Rewrite e coloca no lugar de %1 na linha seguinte.
  4. A quinta linha (assim como a sétima) faz o rewrite, ou seja, reescreve a url recebida para a url original. A mágica acontece ao setar a flag P, que diz que a url será acessada via mod_proxy do Apache. Nesta linha também é setada uma variável PERMITE, que terá o valor 1 se a condição RewriteRule for satisfeita.
  5. Na décima linha, verifico se a varíavel PERMITE possui valor diferente de 1, através de uma condição Rewrite, e, se for o caso, apresento uma página de erro 404, e ecerro a execução do código (flag L).
  6. Finalmente, na linha 13, se o código chegar até lá (ou seja, pelo menos uma das duas condições foi satisfeita => PERMITE = 1), defino o cabeçalho do conteúdo como attachment, ou seja, para download, e então aparece aquela janelinha linda de “Salvar arquivo como…”

Desta forma, para fazer download do arquivo com a opção “Salvar como”, basta que a url do botão/link de download seja no formato


http://www.exemplo.com.br/downloads/mp3/nomedoarquivo.mp3?par=XXX&par=YYY ou

http://www.exemplo.com.br/downloads/pdf/nomedoarquivo.pdf?par=XXX&par=YYY

(os parâmetros são opcionais dependendo do que você estiver fazendo)

Se o arquivo


http://seubucket.s3.amazonaws.com/pasta/nomedoarquivo.pdf?par=XXX&par=YYY

existir aparecerá a janela de download, caso contrário, será exibido um erro 404.

Enfim, como disse no começo, para isso funcionar, o servidor Apache deve estar com os módulos mod_rewrite e mod_poxy, e mod_proxy_http habilitados. Para isso, certifique-se de que as seguintes linhas do httpd.conf estejam descomentadas:


LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule rewrite_module modules/mod_rewrite.so

Eu usei Apache 2.2.X e não testei em outras versões.

Espero que este artigo tenha sido útil para você, e, se era isso o que você estava procurando, fico feliz se você encontrou a solução em menos de 3 dias! ;)

Até a proxima!

SEO Powered by Platinum SEO from Techblissonline