Apache Tutoriais para Iniciantes

o Que é o Apache?

Apache é uma peça notável de software de Aplicação. É a aplicação de servidor Web mais utilizada no mundo, com mais de 50% de participação no mercado de servidores Web comerciais. Apache é a aplicação de servidor Web mais utilizada em sistemas operacionais Unix-like, mas pode ser usada em quase todas as plataformas como Windows, OS X, OS/2, etc., A palavra, Apache, foi retirada do nome da tribo nativa americana ‘Apache’, famosa por suas habilidades em guerra e elaboração de estratégias.

é uma aplicação modular, baseada em processos web server que cria um novo thread com cada conexão simultânea. Ele suporta uma série de recursos; muitos deles são compilados como módulos separados e estendem sua funcionalidade principal, e podem fornecer tudo, desde o Suporte de linguagem de programação do lado do servidor até o mecanismo de autenticação. Hospedagem Virtual é uma característica que permite que um único servidor web Apache sirva uma série de sites diferentes.,

Como instalar o Apache

Existem várias maneiras de instalar o pacote ou aplicação. Há alistados abaixo –

  1. uma das características desta aplicação web de código aberto é que qualquer um pode fazer instalador de acordo com o seu próprio ambiente. Isso permitiu vários fornecedores como Debian, Red Hat, FreeBSD, Suse etc. para personalizar a localização do arquivo e configuração do apache levando em conta outras aplicações instaladas e o sistema operacional base.,
  2. Além de instalá-lo a partir de um instalador baseado no fornecedor, há sempre a opção de construí-lo e instalá-lo a partir do código fonte. A instalação do Apache a partir do ficheiro de código é uma plataforma independente & funciona para todos OS So.

o servidor web apache é uma aplicação modular onde o administrador pode escolher a funcionalidade necessária e instalar diferentes módulos de acordo com o seu requisito.,

Todos os módulos podem ser compilados como Objetos Compartilhados dinâmicos (DSO é um arquivo de objetos que pode ser compartilhado por vários aplicativos enquanto eles estão executando) que existe separadamente do arquivo apache principal. A abordagem DSO é altamente recomendada, tornando a tarefa de Adicionar/Remover/atualizar módulos da configuração dos servidores muito simples.

Install Apache:Linux Platform

On Red Hat or rpm based systems

If you are using an rpm (RedHat Package Manager is a utility for installing application on Linux systems) based Linux distribution i.e., Red Hat, Fedora, CentOs, Suse, você pode instalar este aplicativo pelo Gerenciador de pacotes específico do Fornecedor ou diretamente construir o arquivo rpm a partir do pacote de código disponível.

pode instalar o Apache através do Gestor de pacotes predefinido disponível em todas as distribuições baseadas no Red Hat, como CentOs, Red Hat e Fedora.

# yum install httpd

o tarball de código apache pode ser convertido em um arquivo rpm usando o seguinte comando.

# rpmbuild -tb httpd-2.4.x.tar.bz2

é obrigatório ter-devel pacote instalado no seu servidor para a criação .ficheiro rpm do Código.,

Depois de converter o ficheiro de código para um instalador rpm, poderá usar o seguinte comando para instalar o Apache.

# rpm –ivh httpd-2.4.4-3.1.x86_64.rpm

Após a instalação, o servidor não iniciar automaticamente, a fim de iniciar o serviço, você tem que usar qualquer um dos seguintes comando no Fedora, CentOs ou Red Hat.

# /usr/sbin/apachectl start# service httpd start# /etc/init.d/httpd start

instalar o Apache a partir do Código

Instalar o apache a partir do Código necessita que o pacote –devel seja instalado no seu servidor. .Você pode encontrar a última versão disponível do Apache, você pode baixá-la aqui., Depois de transferir o ficheiro de código, mova-o para a pasta /usr/local/src.

para ver todas as opções de configuração disponíveis para o Apache, você pode usar .opção / configure-help. A opção de configuração mais comum é-prefix={install directory name}.

o exemplo acima mostra a compilação do Apache dentro da pasta /usr/local / apache com a capacidade de DSO. A opção-enable-so, pode carregar os módulos necessários para apache em tempo de execução através do mecanismo DSO ao invés de exigir uma recompilação.,

Uma vez terminada a instalação, poderá navegar na página predefinida dos servidores web com o seu navegador favorito. Se a firewall estiver activa no seu servidor, terá de abrir uma excepção para a porta 80 na sua firewall do so. Você pode usar o seguinte comando para abrir a porta 80.

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

serviço iptables save

pode ver o ecrã de Boas-Vindas por omissão do Apache2 navegando pelo seu endereço IP do servidor.

What is Virtual Host?

um servidor web Apache pode hospedar vários sites no mesmo servidor., Você não precisa de máquinas de servidor separadas e software apache para cada site. Isto pode ser conseguido usando o conceito de Host Virtual ou VHost.

qualquer domínio que queira hospedar no seu servidor web terá um item separado no ficheiro de configuração apache.

Types of Apache Virtualhost

  1. Name-based Virtual host
  2. Address-based or IP based virtual host and.

host virtual baseado no nome

host virtual baseado no nome Host é usado para hospedar vários sites virtuais em um único endereço IP.,

a fim de configurar hospedagem virtual baseada em nome, você tem que definir o endereço IP no qual você vai receber os pedidos Apache para todos os sites desejados. Você pode fazer isso pela Diretriz NameVirutalHost dentro da configuração apache, ou seja, httpd.conf / apache2.ficheiro conf.

Apache virtual host Example:

você pode adicionar quantas hosts virtuais, de acordo com sua exigência., Você pode verificar seus arquivos de configuração da web com:

#httpd –tSyntax OK

Se o arquivo de configuração tem algumas sintaxe errada, ele irá lançar um erro

IP-based Virtual host

No programa, com base no IP virtual hosting, você precisa de mais do que um endereço IP configurado no seu servidor. Assim, o número de vhost apache dependerá do número de endereços IP configurados no seu servidor. Se o seu servidor tem 10 endereços IP, você pode criar 10 hosts virtuais baseadas em IP.

no diagrama acima, dois sítios Web exemplo1.,com e example2.com foram atribuídos diferentes IPs e estão usando hospedagem virtual baseada em IP.

o que o Apache precisa para executar o ficheiro Php?

correr ficheiros Php no Apache necessita de mod_ PHP activo no seu servidor. Permite que o Apache interprete .Ficheiros Php. Ele tem manipuladores de Php que interpretam o código Php no apache e enviam HTML para o seu servidor web.

Se o mod_ PHP estiver activo no seu servidor, terá um ficheiro chamado php.conf in / etc/httpd / conf.d / directory., Você também pode verificar com:

httpd -M | grep "php5_module"

A saída será semelhante a:

Php manipuladores no Apache

  • mod_php
  • CGI
  • FastCGI
  • suPHP

mod_phpis mais antigas do PHP manipulador, isso faz com que o PHP parte do apache e não chamar qualquer externos PHP processo. Este módulo é instalado por omissão em todos os repositórios de distribuição Linux, por isso activar/desactivar este módulo é muito fácil.,

Se estiver a usar o FastCGI como seu manipulador de PHP, poderá definir várias versões do PHP para serem usadas por diferentes contas no seu servidor.

FastCGI ou seja, mod_fastcgi é uma extensão do mod_fcgid, onde como mod_fcgid é uma alternativa de alto desempenho do CGI ou seja, mod_cgi . Ele começa o número suficiente de instâncias de CGI para lidar com solicitações simultâneas da web. Ele também usa o suexec para apoiar diferentes usuários com suas próprias instâncias de PHP e melhora a segurança da web.

a execução de ficheiros ruby no Apache necessita que o mod_ Ruby esteja activo. O Apache também pode lidar com arquivos ruby através do FastCGI., É possível usar várias versões do ruby com a ajuda do mod_fcgid ou seja, FastCGI.

Você também pode instalar o Apache passenger e configurar o Apache para usá-lo para servir páginas de ruby.

(Phusion de Passageiros, também conhecido como “passageiro” é um módulo do servidor web que é projetado para se integrar com o Apache e o Nginx )

os Passos para instalar mod_ruby no seu servidor

Como executar o Ruby com o Apache

temos que adicionar o mod_ruby módulo de configuração do Apache é /etc/httpd/conf.d / ruby.conf e adicione a seguinte linha.

LoadModule ruby_ Module modules / mod_ruby.,então

Se quiser activar ou desactivar estes módulos, terá de editar o ficheiro de configuração do apache e comentar ou descomentar estes módulos, se o servidor web já estiver compilado com estes módulos.

Como Proteger o Servidor Web Apache

Proteger o seu servidor web é muito importante, significa permitir que outros para ver apenas as informações pretendidas & proteção de seus dados e restringir o acesso.

estas são coisas comuns que melhoram a segurança dos seus servidores Web Apache.,

1) esconder a versão Apache e a informação so:

Apache exibe a sua versão e o nome do sistema operacional em erros, como mostrado abaixo.

Um hacker pode usar essa informação para lançar um ataque usando disponíveis para o público vulnerabilidades na versão específica do servidor ou sistema operacional.

para evitar que o servidor web do Apache exponha esta informação, temos de modificar a opção

“assinatura do servidor” disponível no ficheiro de configuração do apache., Por padrão, é “on”, nós precisamos ativá-lo”off”.

vim /etc/httpd/conf/httpd.conf
ServerSignature OffServerTokens Prod

temos também de definir “ServerTokens Prod”, que informa ao servidor da web para retornar somente o apache e suprimir o sistema operacional de versão principal e secundária

Depois de modificar o arquivo de configuração, você precisará reiniciar/recarregar o apache web server para torná-la efetiva.,

service httpd restart

2) Desativar Listagem de Diretório

Se o seu diretório raiz de documentos não tem um arquivo de índice, por padrão, o servidor web apache irá mostrar todo o conteúdo do diretório raiz de documentos.

esta funcionalidade pode ser desligada para uma pasta específica através da” Directiva opções ” disponível no ficheiro de configuração Apache.,

<Directory /var/www/html> Options -Indexes</Directory>

3) Desabilitar módulos desnecessários

é uma boa prática para desativar todos os módulos que não estão em uso. Você poderá ver a lista do módulo activo disponível no seu ficheiro de configuração apache –

muitos dos módulos listados poderão ser desactivados como likemod_imap, mod_include, mod_info, mod_userdir, mod_autoindex, uma vez que dificilmente são usados por qualquer servidor web de produção.

vi /etc/httpd/conf/httpd.conf#LoadModule auth_digest_module modules/mod_auth_digest.so

Uma vez que você comentou o módulo, salve o arquivo.,

reiniciar os Serviços apache com o seguinte comando.

4) restringir o acesso a ficheiros fora do directório raiz da web

Se quiser certificar-se de que os ficheiros fora do directório raiz da web não estão acessíveis, tem de se certificar de que o directório está restrito com a opção” Permitir “e” recusar ” no seu ficheiro de configuração do servidor da web.

<Directory/>Options NoneAllowOverride NoneOrder deny,allowDeny from all</Directory>

Uma vez que você restringir o acesso fora da directoy raiz web, você não será capaz de acessar qualquer arquivo localizado em qualquer outra pasta em seu servidor web, você vai obter 404 código de retorno.,

5) Usando mod_evasive para refutar o ataque DoS

Se você gosta de proteger o seu servidor web a partir do ms-Dos (por exemplo, ataques de Negação de Serviço) você deve habilitar o módulo mod_evasive. É um módulo de terceiros que detecta o dos attack e impede o ataque de fazer tanto dano como faria se à esquerda para executar o seu curso. Pode ser baixado aqui.,

baixe o ficheiro acima

6) Usando mod_ segurança para melhorar a segurança do apache

Este módulo funciona como firewall para o Apache e permite-lhe monitorizar o tráfego em tempo real. Ele também impede o servidor web de ataques de Força bruta. O módulo mod_ segurança pode ser instalado com o Gestor de pacotes predefinido da sua distribuição.

7) Limitar o tamanho do pedido

o Apache não tem qualquer restrição sobre o tamanho total da solicitação http, que pode levar a um ataque DoS., Você pode limitar o tamanho do pedido de uma diretiva Apache “LimitRequestBody” com a tag de diretório. O valor pode ser definido de 0 a 2 GB (ou seja, 2147483647 bytes) de acordo com a sua exigência.

<Directory "/var/www/html/uploads"> LimitRequestBody 512000</Directory>

Apache Log Format

Apache logs provide detailed information that help to detect common issues with server.

para criar registos de acesso, o mod_ log_ configmodule deverá estar activo.

três directivas disponíveis no ficheiro de configuração apache, ou seja,

  • TransferLog: criação de um ficheiro de Registo.
  • LogFormat: especificando um formato personalizado.,
  • CustomLog: criação e formatação de um ficheiro de Registo.

TransferLog directive está disponível no ficheiro de configuração do apache e roda os ficheiros de registo da máquina virtual de acordo com os parâmetros definidos.

dois tipos de formato de Registo Apache

  • formato de registo comum
  • formato de Registo combinado.

pode activá-los editando o ficheiro de configuração apache, ou seja, o apache2.conf (Debian / ubuntu) ou httpd.,conf (rpm based systems) arquivo

Common Log Format

LogFormat "%h %l %u %t \"%r\" %>s %b" commonCustomLog logs/access_log common

Common Log gerado pelo Apache

 client denied by server configuration: /export/home/live/ap/htdocs/test

Combinado Formato de Registo

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combinedCustomLog log/access_log combined

Aqui

  • %h é o host remoto
  • %l é a identidade do usuário determinado pelo identd
  • %u o nome de usuário determinado pela autenticação HTTP
  • %t é o tempo em que o servidor terminar de processar o pedido.
  • %r é a linha de pedido do cliente. (“GET / HTTP / 1.,0”)
  • %>s é o código de Estado enviado do servidor para o cliente (500, 404 etc.)
  • %b é o tamanho da resposta ao cliente (em bytes)
  • Referer é a página que está ligada a este URL.
  • User-agent é o texto de identificação do navegador.

Registo combinado gerado pelo Apache:

Log personalizado cria um ficheiro de registo separado para cada máquina Virtual do seu servidor. Ele precisa ser especificado na seção host virtual do arquivo de configuração.,

pode ver abaixo a configuração virtual da máquina, o registo gerado será personalizado para essa máquina virtual e o formato será combinado.

Configure o seu primeiro servidor Web de produção

1. Para ter um servidor web de produção em execução, você precisa de um nó dedicado (física/Virtual ou instância de nuvem) executando Linux/Unix, Windows, MacOS, etc. 2. O servidor Web deve ter uma conexão direta de rede e um endereço staticIP configurado nele. 3., Ele precisa ter todos os módulos necessários para executar páginas web. Se um servidor web processa páginas PHP, ele precisa ter o módulo PHP ativado.

  1. também precisa de ter uma boa aplicação antivírus configurada e em execução para proteger o servidor Web de ataques de Malware ou vírus. Você também precisa de mecanismo para atualizar o aplicativo Antivirus/anti malware configurado em base regular, sem qualquer intervenção manual, a fim de obter o máximo benefício deles.,
  2. Se você tem centenas de domínios para ser hospedado em seu servidor web, você deve ter que implementar limitações na quota do sistema de arquivos para cada domínio, número de bases de dados que cada domínio pode criar, número de contas de E-mail por domínio, etc. se o seu servidor web foi configurado para serviços de hospedagem compartilhados, os usuários do seu servidor web precisa ser restrito. Um usuário de hospedagem compartilhada deve ter o menor privilégio do Usuário para que ele não danifique arquivos importantes & quebre o servidor inteiro., O Apache não fornece qualquer funcionalidade e precisa de diferentes aplicações de terceiros, personalização do SO para conseguir isso.
  3. Se você está adicionando um novo domínio no seu servidor web, ele precisa editar centenas de arquivos de configuração para ativar todas as funcionalidades para o domínio adicionado.
  4. Se um dos domínios hospedados requer diferentes PHP definição do que o resto dos domínios, implementar isso no núcleo do Apache web server é muito complexo e precisa de personalização do seu servidor web em grande medida.,
  5. um servidor web de produção precisa de uma firewall para bloquear o tráfego indesejado que pode causar alta carga no seu servidor. Implementar regras IPTABLE com linha de comando é muito complexo. Ele precisa de experiência no núcleo Linux / Unix para escrever regras de firewall eficazes para bloquear o tráfego indesejado. O IPTABLE é baseado no módulo netfilter; é uma firewall de nível OS que permite a um administrador criar regras para o tráfego de entrada/saída no servidor.
  6. um servidor web de produção necessita de várias aplicações diferentes, como Email, FTP para envio de ficheiros, sistema de nomes de domínio para domínios estacionados., Gerenciar todas essas aplicações em um sistema Linux/Unix básico requer experiência nas respectivas tecnologias.

assim, pode-se dizer que gerir um servidor web para vários domínios é uma tarefa muito complexa e requer a edição de centenas de ficheiros de configuração, personalizando cada aplicação para cumprir o resultado desejado. Solucionar qualquer configuração de falhas será muito difícil para iniciantes.

a solução usando Cpanel ou software similar

Cpanel fornece uma forma gráfica de gerir o seu servidor web., Ele é destinado a fornecer serviços de hospedagem em massa que é fácil de usar e configurar. a cPanel reduziu as barreiras técnicas para a entrada na hospedagem e gestão de servidores web. Ele torna a tarefa complexa mais fácil, ele fornece muitas interfaces web úteis e fáceis de usar que executam tarefas comuns de administração do sistema necessárias para operar um servidor web.

cPanel compila a sua própria versão do software.

Se tiver de recompilar o seu servidor web, i.e., apache na plataforma Linux normal, você tem que selecionar/Procurar manualmente o módulo que é necessário. o cPanel fornece a funcionalidade Easyapache que é um método de compilação de servidores web baseado em script.

não só fornece serviços web, mas também Correio, DNS, FTP e muitos outros serviços que são necessários para a sua aplicação web.,

uma tarefa que necessita de experiência no núcleo de hospedagem baseada em Linux/Unix, como a instalação de SSLs, recompilando o Apache com diferentes módulos de PHP, a actualização da segurança da Web, a configuração de regras IPTÁVEIS eficazes, a adição de utilizadores de ftp, a criação de contas de E-mail para cada domínio, a digitalização da raiz do seu documento com antivírus e a criação de bases de dados são fáceis de completar com o cPanel.

ele fornece um monte de scripts que corrigem, instalam e resolvem tarefas administrativas comuns.

ele fornece uma cópia de segurança e restaurar a funcionalidade, eliminando a necessidade de copiar manualmente arquivos para armazenamento de backup., Se estiver a salvaguardar o seu domínio, o cPanel irá criar um ficheiro tar que irá conter a pasta raiz do documento, contas de E-mail e E-mails, contas ftp, bases de dados, Registos DNS e outras aplicações.

ele também fornece uma documentação robusta, e tem uma grande comunidade de usuários onde você poderia discutir e obter a solução de seus problemas.

assim, pode-se dizer que o cPanel é uma melhor aplicação para gerenciar seu servidor web com recursos necessários. Ele fornece-lhe, fácil de usar interface para gerenciar o seu domínio e um mecanismo para evitar a complexidade de gerenciar o servidor Web core., existem muitos produtos concorrentes para a cPanel como Plesk, ISPConfig, Ajenti, Kloxo, Open Panel, Zpanel, etc.

Leave a Comment