Estando dentro do chroot ainda. Instalando as dependências:
# aptitude install debhelper lsb-release libpcre3-dev libssl-dev libcap-dev liblua5.1-dev libxml2-dev autotools-dev
# aptitude install libaprutill-dev libaprl-dev
# aptitude install autoconf
# cd /usr/src
# wget mirror.nbtelecom.com.br/apache/httpd/httpd-2.4.10.tar.gz
# tar -xzvf httpd-2.4.10.tar.gz
# cd httpd-2.4.10
# cd srclib
# wget http://mirror.netcologne.de/apache.org/apr/apr-1.5.1.tar.gz
# tar -xzvf apr-1.5.1.tar.gz
# mv apr-1.5.1 apr
# wget http://mirror.netcologne.de/apache.org/apr/apr-util-1.5.4.tar.gz
# tar -xzvf apr-util-1.5.4.tar.gz
# mv apr-util-1.5.4 apr-util
# wget http://zlib.net/zlib-1.2.8.tar.gz
# tar xvfz zlib-1.2.8.tar.gz
# mv zlib-1.2.8 zlib
# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.36.tar.gz
# tar xvfz pcre-8.36.tar.gz
# mv pcre-8.36 pcre
Instalando o OpenSSL:
# wget https://www.openssl.org/source/openssl-1.0.1j.tar.gz
# tar xfz openssl-1.0.1j.tar.gz
# cd openssl-*
# ./config --prefix=/usr zlib-dynamic --openssldir=/etc/ssl shared
# make depend
# make
# make test
# make install
Configurando o Apache 2:
# mkdir /opt/apache2
# cd ../..
# ./buildconf
# ./configure --prefix=/opt/apache2 --enable-file-cache --enable-cache --enable-cache-disk --enable-so --enable-isapi --enable-session --enable-ssl=shared --enable-imagemap --enable-rewrite --enable-alias --enable-cgi --enable-lua=shared --enable-suexec=shared --with-suexec-caller=apache --enable-mods-shared=all --enable-auth-basic --enable-authn-file --enable-authnz-fcgi --enable-mpms-shared=all --enable-pie --disable-include --enable-deflate --enable-headers --enable-expires --with-mpm=event --enable-fcgid --with-included-apr --with-z=/usr/src/http-2.4.10/srclib/zlib-1.2.8
Entre no arquivo
httpd-2.4.10/support/ab.c e adicione a seguinte linha na seguinte posição:
#define AP_AB_BASEREVISION "2.3"
#define OPENSSL_NO_SSL2 # Acrescente essa linha (fica na linha 99, mais ou menos) quase no início do arquivo para prevenir o erro de "SSLv2 não encontrado".
Volte ao diretório
httpd-2.4.10.
# make
# make install
Terminará:
make[1]: Saindo do diretório `/usr/src/httpd-2.4.10'
Em caso de erro em alguma etapa execute "make clean" estando dentro de httpd-2.4.10, apague e recrie a pasta /opt/apache2 e refaça a operação.
Módulo
mod_fcgid:
# cd ..
# wget mirror.nbtelecom.com.br/apache//httpd/mod_fcgid/mod_fcgid-2.3.9.tar.gz
O módulo
mod_fcgid serve para resolver o problema de upload de arquivos grandes quando o módulo FastCGI estiver em uso.
# tar xvfz mod_fcgid-2.3.9.tar.gz
# cd mod_fcgid-*
# APXS=/opt/apache2/bin/apxs ./configure.apxs
# make
# make install
# cd ..
Entre no arquivo
httpd.conf (
vim /opt/apache2/conf/httpd.conf) e acrescente na seguinte posição:
#ServerName www.example.com:80
ServerName localhost:80 #acrescente.
Salve e saia. Iniciando o Apache 2:
# /opt/apache2/bin/apachectl start
Ou:
# /opt/apache2/bin/apachectl graceful
Ou:
# /opt/apache2/bin/apachectl -k start
Caso der algum erro, leia a mensagem, ela indicará a linha onde está o erro no arquivo
httpd.conf. Entre nele e comente a linha e tente iniciar o Apache de novo até não dar erro.
As opções são as seguintes:
start|restart|graceful|graceful-stop|stop|configtest
Ou crie
alias (opcional).
Entre no arquivo
/etc/bash.bashrc e coloque no final:
#
alias iniciar-apache2='/opt/apache2/bin/apachectl graceful'
alias parar-apache2='/opt/apache2/bin/apachectl stop'
alias reiniciar-apache2='/opt/apache2/bin/apachectl restart'
Salve, saia e reinicie.
Depois, para iniciar o Apache 2, é só digitar:
iniciar-apache2
Se quiser, crie um link simbólico do arquivo apachectl para
/etc/init.d, é outra maneira.
Caso queira colocar o Apache iniciando com o sistema:
# vim /etc/rc.local
E coloque antes de "exit 0":
/opt/apache2/bin/apachectl start
Testando:
lynx http://localhost (apt-get install lynx)
Ou, abra seu navegador de interface gráfica e digite:
localhost
Deverá aparecer:
Não deu certo!
No meu caso, apareceu isso daí em cima porque eu modifiquei o arquivo HTML.
Normalmente aparecerá:
It works!
indicando que o Apache está funcionando na máquina local.
Diretórios:
- ServerRoot - /opt/apache2
- DocumentRoot - /opt/apache2/htdocs
- Apache Config File - /opt/apache2/conf/httpd.conf
- Other Config Files - /opt/apache2/conf/extra/
- SSL Config File - /opt/apache2/conf/extra/httpd-ssl.conf
- ErrorLog - /opt/apache2/logs/error_log
- AccessLog - /opt/apache2/logs/access_log
- cgi-bin - /opt/apache2/cgi-bin (enabled by default, but some of the bundled scripts are 644 - ativado por padrão, são 644 scripts)
- binaries (apachectl) - /opt/apache2/bin
Manual (opcional)
Caso queira ter o manuel do Apache 2 em Português offline:
Instalando o Java:
# apt-get update
# apt-get install oracle-java8-installer #Isso instalará PPAs do Ubuntu no Debian dentro do arquivo que será criado /etc/apt/sources.list.d/webupd8team-java.list.
# apt-get install oracle-java8-set-default #Setando as variáveis de ambiente do Java.
# apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EEA14886
Depois acesse:
E clique em:
Eu tenho Java?
E siga as instruções e verifique se a instalação foi a contento.
Ou, digite no terminal:
# java -version
Faça o download do manuel em Português
aqui.
Descompacte, renomeie para manuel e copie para a pasta
/opt/apache2/htdocs e depois acesse:
localhost/Manuel
Tu podes também criar um arquivo na máquina real para iniciar o Apache dentro do chroot durante o boot do sistema, mas veja bem, daí tu não precisas colocar o Apache para iniciar no chroot, a escolha é tua.
Para isso, saia do chroot e crie um novo arquivo:
# exit
# vim /etc/init.d/apachechroot #Dê o nome que quiser.
Dentro deste arquivo, adicione o seguinte:
#!/bin/sh
mount --bind /proc/ /var/chroot/proc
chroot /var/chroot /opt/apache2/bin/apachectl start
Salve, saia e dê permissão de execução a este script que acabamos de criar e use o
update-rc.d para adicioná-lo à sequência de inicialização:
# chmod +x /etc/init.d/apachechroot
# update-rc.d apachechroot start 29 2 3 4 5 .
Aconselho a desinstalar ou desabilitar o Apache no sistema real para evitar confusões.