Instalando o 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:
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
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.