Pular para o conteúdo

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

Dica publicada em Linux / Avançado
Alex Mendes alexunix
Hits: 6.991 Categoria: Linux Subcategoria: Avançado
  • Indicar
  • Impressora
  • Denunciar

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


Instalação do Nagios 4.0.2

Montagem de filesystem Windows CIFS automaticamente

Configurando troca de senha de usuário no próximo login

Configurando acesso SSH no VirtualBox via NAT

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

II Oficina Livre em MG

Arch Linux: Otimizando o seu makepkg para sua arquiterura

Atualizando a BIOS de máquinas virtuais baseadas em KVM/QEMU

Exim - Removendo todas as mensagens da fila de espera (spool)

Expandindo partição ext3 em discos lógicos e qcow2 em ambiente de virtualização

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.