Compilação e instalação customizada do Apache httpd no CentOS 7

Publicado por Alex Mendes em 18/06/2018

[ Hits: 3.352 ]

 


Compilação e instalação customizada do Apache httpd no CentOS 7



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...


Outras dicas deste autor

Instalação/Upgrade mysqld 5.7: fatal error: mysql.user table is damaged [Resolvido]

Access denied for user 'root'@'localhost' no MySQL Server Community 5.7 [Resolvido] - CentOS7 x86_64

Adicionar caminho ao PATH do Linux

Desabilitando Interface Gráfica no Debian 7

Instalação do Skype no Debian GNU/Linux 64 bits

Leitura recomendada

Gtop no Fedora

Instalar Ubuntu 10.10 de ISO em HD (sem CD ou USB)

Executando vários X-Windows ao mesmo tempo

Removendo opção inválida "KDE" da lista de sessões da tela de login do GDM

Sabayon Linux: instalando duas versões de pacotes

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts