Como instalar e configurar o Apache no Debian 10

Como instalar e configurar o Apache no Debian 10

Pré -requisidades

Você deve ter SSH com privilégios de sudo acesso ao servidor para a instalação do Apache Web Server no Debian 10.

Instale o Apache no Debian 10

Primeiro de tudo, faça login no seu sistema DeBain 10 via SSH e atualize o cache apt. Em seguida, instale os pacotes do servidor HTTP Apache2 como abaixo:

sudo apt update sudo apt install apache2 

Gerencie o serviço Apache

O serviço Apache é gerenciado com a linha de comando SystemCTL. Após a instalação, use o seguinte comando para verificar o status do serviço Apache.

SUDO SYSTEMCTL STATUS APACHE2.serviço 

Aqui estão os outros comandos para parar, iniciar ou reiniciar o serviço Apache via linha de comando.

sudo systemctl stop apache2.serviço sudo systemctl start apache2.serviço sudo systemctl reiniciar apache2.serviço 

Teste a configuração do Apache

Você pode visualizar os detalhes da versão do Apache instalados usando o seguinte comando.

Apache2 -v Servidor Versão: Apache/2.4.38 (Debian) Servidor construído: 2019-10-15T19: 53: 42 

Agora acesse seu servidor Apache usando o endereço IP do servidor ou um domínio apontado para o servidor IP. Você verá uma página do Apache padrão no navegador da web. Isso significa que o Apache Web Server foi instalado com sucesso em seu sistema Debian 10.

Crie hosts virtuais

Vamos criar o primeiro host virtual em seu servidor Apache. Para o tutorial, estamos usando o domínio da amostra “Exemplo.com ”. Aqui vamos criar um host virtual, por exemplo.com na porta 80.

Crie um arquivo de índice de amostra em um diretório:

sudo mkdir -p/var/www/exemplo.com sudo eco "olá exemplo.com ">/var/www/exemplo.com/índice.html 

Em seguida, crie o arquivo de configuração do VirtualHost e edite no editor:

sudo vim/etc/apache2/sites-divisíveis/exemplo.com.conf 

Adicione o seguinte conteúdo no arquivo de configuração. Você pode alterar o nome de domínio conforme seu domínio.

ServerAdmin [email protected] documentroot/var/www/exemplo.com servername exemplo.com Serveralias www.exemplo.com #AllowOverRide All ### Uncomment se necessário ErrorLog $ Apache_Log_Dir/Exemplo.com_error.Log CustomLog $ apache_log_dir/exemplo.com_access.log combinado
123456789101112 ServerAdmin [email protected] documentroot/var/www/exemplo.com servername exemplo.com Serveralias www.exemplo.com #AllowOverRide All ### Uncomment, se necessário ErrorLog $ apache_log_dir/exemplo.com_error.Log CustomLog $ apache_log_dir/exemplo.com_access.log combinado

Salve o arquivo de configuração do VirtualHost e ative o VirtualHost e recarregue o serviço Apache usando os seguintes comandos:

SUDO A2ensite Exemplo.com sudo systemctl recarregar apache2.serviço 

Configure o SSL VirtualHost

Você pode pular esta etapa se não precisar de SSL. Mas a segurança é sempre o concerto principal para qualquer site.

O Apache padrão https ouça na porta 443. Certifique -se de nenhum outro serviço usando a mesma porta. Agora, você precisa ativar o módulo SSL Apache, que é desativado por padrão.

sudo a2enmod ssl 

Para o tutorial, segui estas instruções para gerar um certificado SSL auto -assinado para o nosso domínio.

Em seguida, crie um novo arquivo de host virtual e edite -o:

sudo vim/etc/apache2/sites-divisíveis/exemplo.com_ssl.conf 

Com o seguinte conteúdo:

ServerAdmin [email protected] documentroot/var/www/exemplo.com servername exemplo.com Serveralias www.exemplo.com #AllowOverride All ### Uncomment se necessário Sslengine no SSLCERtificateFile/etc/pki/tls/certs/exemplo.com.CRT SSLCERtificateKeyFile/etc/pki/tls/certs/exemplo.com.key errorlog $ apache_log_dir/exemplo.com_ssl-error.Log CustomLog $ apache_log_dir/exemplo.COM_SSL-ACCESS.log combinado
123456789101112131415161718 ServerAdmin [email protected] documentroot/var/www/exemplo.com servername exemplo.com Serveralias www.exemplo.com #AllowOverRide All ### Uncomment, se necessário Sslengine no sslCertificatefile/etc/pki/tls/certs/exemplo.com.CRT SSLCERtificateKeyFile/etc/pki/tls/certs/exemplo.com.key errorlog $ apache_log_dir/exemplo.com_ssl-error.Log CustomLog $ apache_log_dir/exemplo.COM_SSL-ACCESS.log combinado

Aqui estão três termos usados ​​para configurar o SSL VirtualHost:

  • Sslengine - Defina isso como "ON"
  • SslCertificatefile - Defina o caminho do seu certificado SSL
  • SslCertificateKeyFile - Este é os arquivos de chave privados usados ​​para gerar certificado SSL

Depois disso, habilite o virtualhost e recarregue o serviço Apache usando os seguintes comandos:

SUDO A2ensite Exemplo.COM_SSL SUDO SYSTEMCTL RELOAD APACHE2.serviço 

Secure Apache Server

Edite o arquivo de configuração de segurança do Apache

sudo vim/etc/apache2/conf-habilitado/segurança.conf 

Aqui estão as múltiplas configurações relacionadas à segurança. Adicione ou atualize as seguintes configurações. Não estamos indo em descrições detalhadas sobre isso, mas essas configurações são muito úteis para os servidores de produção.

Servertokens Prod ServerSignature Off Off de traceenable cabeçalho sempre anexa o cabeçalho do SameOrigin Options da estrutura x-quadro sempre define o cabeçalho X-XSS: "1; mode = bloqueio" o cabeçalho sempre define o cabeçalho X-content-types: "nosniff" sempre definido Segurança de transporte "Max-Ara = 31536000; IncluiBdomains" Cabeçalho Sempre edite o set-cookie ^(.*) $ $ 1; httponly; seguro
12345678O Offheader OffHheader, que não é o Offheader sempre anexado, o SameOrigiNheader sempre define o X-XSS-Proteção: "1; mode = Block", o cabeçalho sempre define o cabeçalho X-content-type-Options: "nosniff" sempre definiu rigor Max-Arane = 31536000; IncluiBdomains "Cabeçalho sempre edite set-Cookie ^(.*) $ $ 1; httponly; seguro

Agora edite o arquivo de configuração SSL. Aqui você pode definir o protocolo SSL amplo do servidor e o sslciphersuite para usar cipers seguros para servir seu site.

sudo vim/etc/apache2/mods-habilitado/ssl.conf 
SSLProtocol -Al +TLSV1.2 sslciphersuite High:!Anull:!MD5
12SSLProtocol -Al +TLSV1.2ssslciphersuite High:!Anull:!MD5

Depois de fazer as alterações reiniciar o serviço Apache para aplicar uma nova configuração.

sudo systemctl recarregar apache2.serviço 

Conclusão

Tudo feito, você tem um servidor Apache garantido em execução no seu sistema Linux 10 Linux.