introdução
o Servidor HTTP Apache é o servidor web mais amplamente utilizado no mundo. Ele fornece muitos recursos poderosos, incluindo módulos carregáveis dinamicamente, suporte de mídia robusto, e ampla integração com outros softwares populares.
neste guia, explicaremos como instalar um servidor web Apache no seu servidor Ubuntu 20.04.
pré-requisitos
Antes de iniciar este guia, deverá ter um utilizador regular, não root, com privilégios de sudo configurados no seu servidor., Além disso, terá de activar uma firewall básica para bloquear portas não essenciais. Você pode aprender como configurar uma conta de usuário regular e configurar uma firewall para o seu servidor, seguindo o nosso guia Inicial de configuração do servidor para o Ubuntu 20.04.
Quando você tem uma conta disponível, faça login como seu usuário não-root para começar.
Passo 1-Instalar o Apache
Apache está disponível nos repositórios de software predefinidos do Ubuntu, tornando possível instalá-lo usando ferramentas convencionais de gestão de pacotes.,
Vamos começar atualizando o local de índice de pacotes para refletir as mais recentes mudanças upstream:
- sudo apt update
em Seguida, instalar o apache2
embalagem:
- sudo apt install apache2
Após a confirmação da instalação, apt
irá instalar o Apache e todas as dependências necessárias.
Passo 2-Ajustar a Firewall
Antes de testar o Apache, é necessário modificar a configuração da firewall para permitir o acesso externo às portas web predefinidas., Assumindo que seguiu as instruções nos pré-requisitos, deverá ter uma firewall UFW configurada para restringir o acesso ao seu servidor.
durante a instalação, o Apache registra-se com o UFW para fornecer alguns perfis de aplicação que podem ser usados para ativar ou desativar o acesso ao Apache através da firewall.,>
Você receberá uma lista de perfis do aplicativo:
OutputAvailable applications: Apache Apache Full Apache Secure OpenSSH
Conforme indicado pela saída, há três perfis disponíveis para o Apache:
- Apache: Este perfil é aberta apenas a porta 80 (normal, não criptografada tráfego da web)
- Apache Completo: Este perfil abre a porta 80 (normal, não criptografada tráfego da web) e a porta 443 (SSL/TLS tráfego criptografado)
- Apache Seguro: Este perfil é aberta apenas a porta 443 (SSL/TLS tráfego criptografado)
por Isso, é recomendável que você ative o perfil mais restritivo que ainda vai permitir que o tráfego que você tiver configurado., Desde que ainda não tiver configurado o SSL para o nosso servidor ainda neste guia, vamos precisar apenas de permitir o tráfego na porta 80:
- sudo ufw allow 'Apache'
Você pode verificar a mudança digitando:
- sudo ufw status
A saída irá fornecer uma lista de permissão de tráfego HTTP:
Conforme indicado pela saída, o perfil foi ativado para permitir o acesso ao servidor web Apache.
Passo 3-Verificar o seu servidor Web
no final do processo de instalação, o Ubuntu 20.04 inicia o Apache. O servidor web já deve estar operacional.,
verifique com o systemd
init system para se certificar de que o serviço está a ser executado escrevendo:
- sudo systemctl status apache2
como confirmado por esta saída, o serviço começou com sucesso. No entanto, a melhor maneira de testar isso é solicitar uma página do Apache.
pode aceder à página de aterragem Apache por omissão para confirmar que o software está a correr correctamente através do seu endereço IP. Se você não sabe o endereço IP do seu servidor, você pode obtê-lo de algumas maneiras diferentes da linha de comando.,
tente escrever isto na linha de comandos do seu servidor:
- hostname -I
irá obter de volta alguns endereços separados por espaços. Você pode tentar cada um em seu navegador web para determinar se eles funcionam.,
Outra opção é usar o Icanhazip ferramenta, que deve dar-lhe o seu endereço IP público como ler a partir de outro local na internet:
- curl -4 icanhazip.com
Quando você tiver o seu endereço IP de servidor, digite-o na barra de endereço do navegador:
You should see the default Ubuntu 20.04 Apache web page:
This page indicates that Apache is working correctly. It also includes some basic information about important Apache files and directory locations.
Step 4 — Managing the Apache Process
Now that you have your web server up and running, let’s go over some basic management commands using systemctl
.
To stop your web server, type:
- sudo systemctl stop apache2
Para iniciar o servidor web quando está parado, tipo:
- sudo systemctl start apache2
Para parar e, em seguida, iniciar o serviço novamente, digite:
- sudo systemctl restart apache2
Se você está simplesmente fazendo alterações de configuração do Apache pode, muitas vezes, recarregar, sem ter de interromper as ligações., Para fazer isso, use este comando:
- sudo systemctl reload apache2
por padrão, o Apache está configurado para iniciar automaticamente quando o servidor iniciar. Se isto não for o que deseja, desactive este comportamento escrevendo:
- sudo systemctl disable apache2
para reactivar o serviço a iniciar no arranque, escreva:
- sudo systemctl enable apache2
Apache deverá agora iniciar automaticamente quando o servidor reiniciar de novo.,
Passo 5-Configurar Hosts virtuais (recomendado)
ao usar o servidor web Apache, você pode usar hosts virtuais (semelhantes aos blocos do servidor em Nginx) para encapsular detalhes de configuração e host mais de um domínio de um único servidor. Vamos configurar um domínio chamado your_ Domain, mas você deve substituí-lo pelo seu próprio nome de domínio. Se você está configurando um nome de domínio com DigitalOcean, por favor consulte a nossa documentação de rede. Apache on Ubuntu 20.,04 tem um bloco de servidor ativado por padrão que é configurado para servir documentos a partir do diretório /var/www/html
. Enquanto isso funciona bem para um único site, ele pode se tornar pesado se você estiver hospedando vários sites. Em vez de modificar /var/www/html
, vamos criar uma estrutura de diretórios dentro de /var/www
para uma your_domain site, deixando /var/www/html
no lugar como o diretório padrão para ser servido, se um pedido de um cliente não corresponder a quaisquer outros sites.,
Criar o diretório para your_domain da seguinte forma:
- sudo mkdir /var/www/your_domain
em seguida, atribuir a propriedade de diretório com o $USER
variável de ambiente:
- sudo chown -R $USER:$USER /var/www/your_domain
As permissões de seu web raízes deve ser correta, se você não tiver modificado o valor umask, o que define as permissões de arquivo padrão., Para garantir que as permissões estão correctas, e permitir que o proprietário para ler, gravar e executar arquivos enquanto a concessão de apenas ler e executar permissões para grupos e outros, você pode inserir o seguinte comando:
- sudo chmod -R 755 /var/www/your_domain
em seguida, criar um exemplo de index.html
página usando nano
ou seu editor favorito:
- sudo nano /var/www/your_domain/index.html
Dentro, adicione o seguinte exemplo de HTML:
<html> <head> <title>Welcome to Your_domain!</title> </head> <body> <h1>Success! The your_domain virtual host is working!</h1> </body></html>
gravar e fechar o ficheiro quando terminar.,
para que o Apache sirva este conteúdo, é necessário criar um arquivo host virtual com as diretivas corretas. Em vez de modificar o arquivo de configuração padrão localizado no /etc/apache2/sites-available/000-default.conf
diretamente, vamos fazer um novo /etc/apache2/sites-available/your_domain.conf
:
- sudo nano /etc/apache2/sites-available/your_domain.conf
Colar o seguinte bloco de configuração, que é semelhante ao padrão, mas atualizado para o novo diretório e nome de domínio:
Notice that we’ve updated the DocumentRoot
to our new directory andServerAdmin
to an email that the your_domain site administrator can access. Nós também adicionamos duas directivas: ServerName
, que estabelece a base de domínio deve corresponder para este host virtual definição e ServerAlias
, que define mais nomes que devem corresponder, como se fossem o nome de base.
Salve e feche o ficheiro quando terminar.,
Vamos ativar o arquivo com o a2ensite
ferramenta:
- sudo a2ensite your_domain.conf
Desativar o site padrão definido no 000-default.conf
:
- sudo a2dissite 000-default.conf
em seguida, vamos testar para erros de configuração:
- sudo apache2ctl configtest
Você deve receber a seguinte saída:
OutputSyntax OK
Reinicie o Apache para implementar as alterações:
- sudo systemctl restart apache2
o Apache deve agora ser veiculação de seu nome de domínio., Você pode testar esta navegando , onde você deve ver algo como isto:
Passo 6 – Familiarizar-se com o Importante Apache Arquivos e Diretórios
Agora que você sabe como gerenciar o serviço Apache em si, você deve tomar alguns minutos para familiarizar-se com algumas importantes diretórios e arquivos.,
Content
-
/var/www/html
: o conteúdo actual da web, que por omissão consiste apenas na página Apache predefinida que viu anteriormente, é servido a partir do/var/www/html
directory. Isto pode ser alterado alterando os ficheiros de configuração do Apache.
configuração do servidor
-
/etc/apache2
: a pasta de configuração Apache. Todos os ficheiros de configuração do Apache residem aqui. -
/etc/apache2/apache2.conf
: o principal ficheiro de configuração Apache. Isto pode ser modificado para fazer alterações na configuração global Apache., Este arquivo é responsável por carregar muitos dos outros arquivos no diretório de configuração. -
/etc/apache2/ports.conf
: este ficheiro indica os portos onde o Apache irá ouvir. Por padrão, o Apache escuta na porta 80 e, adicionalmente, escuta na porta 443 quando um módulo que fornece capacidades SSL está ativado. -
/etc/apache2/sites-available/
: o directório onde as máquinas virtuais por local podem ser armazenadas. O Apache não irá usar os ficheiros de configuração encontrados nesta pasta, a menos que estejam ligados à pasta., Tipicamente, toda a configuração de bloco do servidor é feita neste diretório, e então ativada por ligação para o outro diretório com o comando
a2ensite
. -
/etc/apache2/sites-enabled/
: a pasta onde estão armazenadas as máquinas virtuais por local. Tipicamente, estes são criados por ligação a arquivos de configuração encontrados no iddiretório com o id
. O Apache lê os ficheiros de configuração e as ligações encontradas nesta pasta quando inicia ou recarrega para compilar uma configuração completa.,
-
/etc/apache2/conf-available/
/etc/apache2/conf-enabled/
: Estes directórios têm a mesma relação como osites-available
esites-enabled
diretórios, mas são usados para armazenar os fragmentos da configuração que não pertencem a um virtual host. Os ficheiros no directórioconf-available
podem ser activados com o comandoa2enconf
e desactivados com o comandoa2disconf
. -
/etc/apache2/mods-available/
,/etc/apache2/mods-enabled/
: estas pastas contêm os módulos disponíveis e activos, respectivamente., Os ficheiros que terminam em.load
contêm fragmentos para carregar módulos específicos, enquanto os ficheiros que terminam em.conf
contêm a configuração desses módulos. Os módulos podem ser ativados e desativados usando o comandoa2enmod
ea2dismod
.
registos do servidor
-
/var/log/apache2/access.log
: por omissão, todos os pedidos ao seu servidor web são registados neste ficheiro de registo, a menos que o Apache esteja configurado para fazer o contrário. -
/var/log/apache2/error.log
: por omissão, todos os erros são registados neste ficheiro., TheLogLevel
directive in the Apache configuration specifies how much detail the error logs will contain.
Conclusão
Agora que você tem o seu web server instalado, você tem muitas opções para o tipo de conteúdo que você pode servir e tecnologias que você pode usar para criar uma experiência mais rica.
Se quiser construir uma pilha de aplicações mais completa, poderá ler este artigo sobre como configurar uma pilha de lâmpadas no Ubuntu 20. 04