Este tutorial tem como objetivo a instalação do
Apache Web Server compilando o código fonte de modo customizado. O fonte httpd utilizado para este procedimento encontra-se na versão httpd 2.4.33, podendo ser obtida através do site oficial do Apache:
Abaixo seguem as etapas sequencialmente para preparação da compilação do httpd.
Instalação dos pacotes requeridos:
# yum install autoconf automake gcc gcc-c++ expat-devel libtool libnghttp2-devel pcre-devel openssl
Obtendo o fonte do Apache httpd e alocando-o em diretório /opt/ para compilação:
# cd /opt/
# wget http://ftp.unicamp.br/pub/apache//httpd/httpd-2.4.33.tar.bz2
# tar -xjvf httpd-2.4.33.tar.bz2
Neste tutorial, faremos uso do pacote apr compilado em conjunto ao Apache (ele é requerido). Abaixo segue o procedimento.
Obtendo o fonte apr e alocando-o no caminho especificado:
# wget http://mirror.nbtelecom.com.br/apache/apr/apr-1.6.3.tar.gz
# tar -xzvf apr-1.6.3.tar.gz
# cp -r apr-1.6.3/ /opt/httpd-2.4.33/srclib/apr/
Obtendo o fonte apr-util e alocando-o no caminho especificado:
# wget http://mirror.nbtelecom.com.br/apache/apr/apr-util-1.6.1.tar.gz
# tar -xzvf apr-util-1.6.1.tar.gz
# cp -r apr-util-1.6.1/ /opt/httpd-2.4.33/srclib/apr-util/
Feito isso, faremos a compilação customizada do httpd.
Obs.: caso queira customizar com base na sua necessidade, recomendo ler as informações de ajuda:
# ./configure --help
Compilando Apache httpd:
# ./buildconf
# ./configure --prefix=/usr/local/httpd/ \
--sysconfdir=/etc/httpd/conf \
--enable-ssl \
--enable-so \
--enable-http2 \
--with-mpm=event \
--with-included-apr \
--with-ssl=/usr/bin/openssl
Onde:
- --prefix Apontará o caminho destino de Instalação do Apache httpd.
- --sysconfdir Apontará o caminho destino dos arquivos .conf do Apache httpd (arquivos de configuração).
- --enable-ssl Contruirá o Apache com Suporte SSL, possibilitando habilitar HTTPS em suas páginas web.
- --enable-so Habilitará Módulos Apache carregados dinamicamente. Assim podemos habiltar e desabilitar Módulos sem recompilação.
- --enable-http2 Habilitará Suporte HTTP/2.
- --with-mpm Configurará módulos de multiprocessamento para o Apache (Módulos de melhoria de performance).
- --with-included-apr Este parâmetro utilizará o diretório "srclib" onde colocamos o fonte apr/apr-util.
- --with-ssl Apontará o compilador para sua versão do OpenSSL instalada (A minha encontra-se em /usr/bin/openssl).
Reconhecimento dos binários do httpd pelo ambiente de sistema:
# vi /etc/profile.d/httpd.sh
# pathmunge /usr/local/httpd/bin
:wq (<-- Salvar e Sair)
Testando o reconhecimento declarado:
# httpd -v
Criação do daemon service httpd:
# vim /etc/systemd/system/httpd.service
Inserir conteúdo abaixo:
[Unit]
Description=The Apache HTTP Server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/httpd/bin/apachectl -k start
ExecReload=/usr/local/httpd/bin/apachectl -k graceful
ExecStop=/usr/local/httpd/bin/apachectl -k graceful-stop
PIDFile=/usr/local/httpd/logs/httpd.pid
PrivateTmp=true
[Install]
WantedBy=multi-user.target
:wq (<-- Salvar e Sair)
Recarregar daemon service:
# systemctl daemon-reload
Habilitar daemon service no init (inicialização):
# systemctl enable httpd.service
Start do serviço httpd:
# systemctl start httpd.service
Feito isso, o Apache deverá sinalizar que está sendo executado:
# systemctl status httpd.service
httpd.service - The Apache HTTP Server
Loaded: loaded (/etc/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: active (running) since Sáb 2018-05-05 13:10:53 -03; 39min ago
Process: 86133 ExecStop=/usr/local/httpd/bin/apachectl -k graceful-stop (code=exited, status=0/SUCCESS)
Process: 86140 ExecStart=/usr/local/httpd/bin/apachectl -k start (code=exited, status=0/SUCCESS)
Main PID: 86143 (httpd)
CGroup: /system.slice/httpd.service
├─86143 /usr/local/httpd//bin/httpd -k start
├─86144 /usr/local/httpd//bin/httpd -k start
├─86145 /usr/local/httpd//bin/httpd -k start
└─86146 /usr/local/httpd//bin/httpd -k start
Mai 05 13:10:53 centos7 systemd[1]: Starting The Apache HTTP Server...
Nenhum comentário foi encontrado.