Seu site continua lento mesmo depois de tentar fazer todas as otimizações possíveis em seu servidor Apache? O que você precisa é do Varnish. Ele é um sistema de Cache que armazena todas as páginas já geradas para que os próximos usuários possam ter acesso de forma mais rápida a elas. Como ele funciona na frente do apache, ele remove a sobrecarga de seu servidor web. Este artigo irá ensinar como você pode fazer isso de forma rápida. Continue lendo
Arquivo da categoria: Apache
Criando múltiplos Virtual Hosts no XAMPP
Ao tentar criar múltiplos virtual hosts no XAMPP eu sempre tinha o mesmo problema: qualquer um dos domínios que eu utilizasse, o Apache redirecionava apenas para a mesma pasta.
O que acontece é que qualquer erro que seja encontrado em um arquivo, o Apache utiliza a pasta do primeiro Virtual Host como padrão. Então para que isso não ocorra, siga este passo-a-passo:
1 – Edite seu arquivos de hosts, para que ao acessar o domínio o navegador seja redirecionado para seu endereço IP. Este arquivo poderá ser encontrado no endereço “C:\Windows\System32\drivers\etc\hosts”. siga o exemplo abaixo:
# Copyright (c) 1993-2009 Microsoft Corp. # # This is a sample HOSTS file used by Microsoft TCP/IP for Windows. # # This file contains the mappings of IP addresses to host names. Each # entry should be kept on an individual line. The IP address should # be placed in the first column followed by the corresponding host name. # The IP address and the host name should be separated by at least one # space. # # Additionally, comments (such as these) may be inserted on individual # lines or following the machine name denoted by a '#' symbol. # # For example: # # 102.54.94.97 rhino.acme.com # source server # 38.25.63.10 x.acme.com # x client host # localhost name resolution is handled within DNS itself. # 127.0.0.1 localhost # ::1 localhost 127.0.0.1 dominio1.com.br 127.0.0.1 www.dominio1.com.br 127.0.0.1 dominio2.com.br 127.0.0.1 www.dominio2.com.br
Agora, é necessário modificar o arquivo de configurações do XAMPP que estará na pasta C:\xampp\apache\conf\extra\httpd-vhosts.conf
Siga o exemplo abaixo:
# Virtual Hosts # # Required modules: mod_log_config # If you want to maintain multiple domains/hostnames on your # machine you can setup VirtualHost containers for them. Most configurations # use only name-based virtual hosts so the server doesn't need to worry about # IP addresses. This is indicated by the asterisks in the directives below. # # Please see the documentation at # <URL:http://httpd.apache.org/docs/2.4/vhosts/> # for further details before you try to setup virtual hosts. # # You may use the command line option '-S' to verify your virtual host # configuration. # # Use name-based virtual hosting. # NameVirtualHost 127.0.0.1:80 # # VirtualHost example: # Almost any Apache directive may go into a VirtualHost container. # The first VirtualHost section is used for all requests that do not # match a ##ServerName or ##ServerAlias in any <VirtualHost> block. # <VirtualHost *:80> ServerName default DocumentRoot "C:\xampp\htdocs" ErrorLog "logs/default-error.log" CustomLog "logs/default-access.log" common <Directory "C:\xampp\htdocs"> DirectoryIndex index.php index.html index.htm AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost> <VirtualHost *:80> ServerName dominio1.com.br ServerAlias www.dominio1.com.br DocumentRoot "C:\xampp\htdocs\dominio1.com.br" ErrorLog "logs/dominio1-error.log" CustomLog "logs/dominio1-access.log" common <Directory "C:\xampp\htdocs\dominio1.com.br"> DirectoryIndex index.php index.html index.htm AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost> <VirtualHost *:80> ServerName dominio2.com.br ServerAlias www.dominio2.com.br DocumentRoot "C:\xampp\htdocs\dominio2.com.br" ErrorLog "logs/dominio2-error.log" CustomLog "logs/dominio2-access.log" common <Directory "C:\xampp\htdocs\dominio2.com.br"> DirectoryIndex index.php index.html index.htm AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>
3 – Crie as pastas “C:\xampp\htdocs\dominio1.com.br” e “C:\xampp\htdocs\dominio2.com.br” – Dentro delas ficarão os arquivos de cada um de seus sites.
4 – Inicie o Apache.
Observação 01: Este arquivo foi escrito levando em consideração os diretórios padrão de instalação do Windows (c:\windows) e do XAMPP (C:\xampp). No Linux ubunto, o arquivo de configuração do apache 2 fica localizado no endereço “/etc/apache2/sites-available/000-default.conf”
Observação 02: Nunca se esqueça de adicionar os comandos NameVirtualHost e a sub-tag Directory, estes erros são um dos maiores motivos para criar o problema do único redirecionamento.
Observação 03: Verifique a direção das barras, isso pode causar o mesmo erro citado acima, siga o exemplo.
Observação 04: Se você utilizar um proxy para acessar a internet, não esqueça de adicionar os domínios que você incluiu no arquivo de hosts na lista de exceções (“Não usar servidor de proxy para endereços iniciados por”).
Onde fica o arquivo httpd.conf do Apache?
Se você é usuário do Linux e o Apache 2 foi instalado no local padrão, então o arquivo poderá ser encontrado na pasta /etc/apache2/
Porém, as configurações principais do servidor Apache2 devem ser feitas no arquivo apache2.conf, que se encontra no mesmo diretório citado no parágrafo anterior.
Caso você esteja procurando o local onde se configura os domínios para a criação de múltiplos sites em um mesmo servidor (Virtual Host) o arquivo onde se encontram estas configurações é o /etc/apache2/sites-available/default ou, em algumas distros do linux, em “/etc/apache2/sites-available/000-default.conf”
Como melhorar a segurança de um servidor Apache desabilitando as funções ServerTokens e ServerSignature
Quando um servidor Apache gera uma página ou uma mensagem de erro, algumas informações importantes sobre a versão e outros detalhes de implementação do sistema são exibido no cabeçalho de resposta do servidor. Como por exemplo:
Server: Apache/1.3.37 (Unix) mod_auth_passthrough/1.8 mod_log_bytes/1.2 mod_bwlimited/1.4 FrontPage/5.0.2.2635.SR1.2 mod_ssl/2.8.28 OpenSSL/0.9.7a PHP-CGI/0.1b
Server: Apache/2.0.53 (Ubuntu) PHP/4.3.10-10ubuntu4 Server at xx.xx.xx.xx Port 80
Estas informações irão expor o servidor à alguma brecha conhecida para aquela versão utilizada.
Para garantir que o servidor Apache não irá divulgar estas informações para todos. É necessário modificar o valor das propriedades ServerTokes e ServerSignature no arquivo httpd.conf, para os valores abaixo:
ServerSignature Off
ServerTokens Prod
Pronto, agora resta apenas reiniciar o servidor Apache para que as modificações entrem em vigor. A partir de agora a informação exibida será apenas: Apache Server at www.seudomínio.com.br Port 80
Instalando o Nginx via aptitude no Ubuntu
Desde que comecei a ler sobre o Nginx fiquei curioso para utilizá-lo substituindo o Apache nos servidores das minhas aplicações. O apache é muito bom, porém, algumas vezes parece utilizar mais memória do que deveria.
Para quem não sabe, o Nginx é um servidor web muito popular, e muito leve, que é utilizado na maioria das vezes para servir arquivos estáticos como imagens, arquivos HTML. Porém, ele também pode ser utilizado junto ao PHP para servir aplicações completas.
A sua instalação utilizando o Aptitude é muito simples. Digite na linha de comando do terminal:
sudo aptitude install nginx
Reinicie o servidor e pronto! Incrível, não?
Como reinicializar o Apache no Linux Ubuntu
Depois de editar qualquer arquivo de configuração do Apache não conseguimos observar as modificações funcionando pois é necessário que o mesmo seja reinicializado para que as novas configurações entrem em vigor. Para fazer isso, no Ubuntu, digite na linha de comando:
sudo /etc/init.d/apache2 stop sudo /etc/init.d/apache2 start
Ou somente:
sudo /etc/init.d/apache2 restart