Instalando o Apache

Logo Apache

Tutorial desenvolvido em uma instância Ubuntu Server 20.04 LTS na AWS

Crie Servidor Gratuito na AWS » Crie Servidor Local no Windows »

O primeiro passo é atualizar a lista de pacotes com as novas versões e com os novos pacotes que acabaram de chegar aos repositórios:

$ sudo apt update

Em seguida, as ferramentas de download e compilação:

$ sudo apt install wget make lynx gcc libexpat1-dev zlib1g-dev libssl-dev libpcre3-dev -y

O que são e para que servem os argumentos wget, make, lynx, gcc, libexpat1-dev, zlib1g-dev, libssl-dev e libpcre3-dev ?


Baixando e descompactando o código fonte do Apache:

Existem vários sites espelhos (mirror) para fazer o download do Apache. Nesse exemplo o download está sendo realizado no servidor do APACHE. Para outras opções de download, acesse a lista completa de espelhos

$ wget https://downloads.apache.org/httpd/httpd-2.4.57.tar.gz
$ tar xvzf httpd-2.4.57.tar.gz

Baixando e descompactando o Apache Runtime:

Apache Portable Runtime (APR) é uma biblioteca de suporte utilizada durante a compilação do Apache. Elafornece um conjunto de APIs que emula uma determinada função que o Apache necessita quando o sistema operacional não oferece suporte. Assim, os programadores podem usar o APR para tornar um programa verdadeiramente portátil entre plataformas.

$ wget https://downloads.apache.org/apr/apr-1.7.4.tar.gz 
$ wget https://downloads.apache.org/apr/apr-util-1.6.3.tar.gz 
$ tar xvzf apr-1.7.4.tar.gz 
$ tar xvzf apr-util-1.6.3.tar.gz 

Após descompactar, é necessário que os arquivos APRs descompactados estejam dentro de suas respectivas pastas httpd-versionXXX/srclib/apr e httpd-versionXXX/srclib/apr-util. Os scripts de configuração e compilação irão procurar o código fonte da biblioteca APR nessas pastas.

$ mv apr-1.7.4 httpd-2.4.57/srclib/apr
$ mv apr-util-1.6.3 httpd-2.4.57/srclib/apr-util

Compilando e Instalando as APRs:

$ cd httpd-2.4.57/srclib/apr
$ ./configure
$ make
$ sudo make install
$ cd ..
$ cd apr-util
$ ./configure --with-apr=/usr/local/apr --with-expat=/usr/share/doc/expat
$ make
$ sudo make install

Compilando e Instalando o Apache:

$ cd ..
$ cd ..

Para ver as configurações disponíveis no Apache:

$ ./configure --help | less

Para configurar e compilar:

$ ./configure  --enable-cache --enable-socache-memcache --enable-cache-disk --enable-watchdog --enable-ratelimit --enable-deflate --enable-logio --enable-expires --enable-http --enable-mime-magic --enable-remoteip --enable-so --enable-session --enable-ssl --enable-rewrite --enable-heartbeat --enable-heartmonitor --enable-asis --enable-info --enable-vhost-alias --enable-negotiation --enable-actions --enable-speling --with-included-apr 

Em seguida, é só compilar e instalar:

$ make
$ sudo make install

O que são e para que servem os módulos --enable-socache-memcache, --enable-cache, --enable-cache-disk, --enable-watchdog --enable-ratelimit, --enable-deflate, --enable-logio, --enable-expires, --enable-http, --enable-mime-magic, --enable-remoteip, --enable-so, --enable-session, --enable-ssl, --enable-rewrite, --enable-heartbeat, --enable-heartmonitor, --enable-asis, --enable-info, --enable-vhost-alias, --enable-negotiation, --enable-actions, --enable-speling, --with-included-apr ?


Para inicializar o Apache:

$ sudo /usr/local/apache2/bin/apachectl start

Caso a seguinte mensagem de erro apareça, é necessário editar o arquivo httpd.conf e habilitar o carregamento do módulo mod_session_cookie.so

$ sudo /usr/local/apache2/bin/apachectl start
httpd: Syntax error on line 132 of /usr/local/apache2/conf/httpd.conf: 
Cannot load modules/mod_session_cookie.so into server: 
/usr/local/apache2/modules/mod_session_cookie.so: 
undefined symbol: ap_hook_session_save

Para eliminar o erro, abra o arquivo httpd.conf:

$ sudo nano /usr/local/apache2/conf/httpd.conf

Em seguida, localize a linha #LoadModule session_module modules/mod_session.so e remover o comentário ( # ).

Para salvar as alterações no editor nano, pressione as teclas: <CTRL> + <O>
Em seguida, pressione a tecla: <ENTER>

Para sair do editor pressione as teclas <CTRL> + <X>

Inicialize o Apache:

$ sudo /usr/local/apache2/bin/apachectl start

Para verificar se o Apache está ativo:

$ sudo /usr/local/apache2/bin/apachectl

Considerando que o Apache está ativo, para reinicializar o Apache:

$ sudo /usr/local/apache2/bin/apachectl restart

Para parar o Apache:

$ sudo /usr/local/apache2/bin/apachectl stop

Para verificar se o apache está funcionando corretamente, acesse o Console AWS e copie o IP público. Em seguida, abra seu navegador, cole o IP no campo de busca e pressione ENTER. Se o servidor Apache estiver funcionando corretamente, uma página web com a mensagem It Works! deverá aparecer. Essa é a página padrão de instalação do Apache.