Instalação do PostgreSQL, Apache2 e PHP8 no Debian Buster 10 e no Stretch 9

Instalação manual (em sua maioria) do PostgreSQL, Apache2 e PHP8 nos Debian Buster e Stretch.

[ Hits: 5.966 ]

Por: Supervisor dos Moderadores em 23/09/2021


APACHE



Instalando dependências:

# aptitude install debhelper lsb-release libpcre3-dev libssl-dev libcap-dev libxml2-dev autotools-dev
# aptitude install libaprutil1-dev libapr1-dev
# aptitude install autoconf libtool-bin perl

Baixando e descompactando o Apache2

Desde o artigo de 2016 a única coisa que mudou foram as versões, por exemplo, do Apache-2.4.18 para 2.4.48 e as bibliotecas demais programas também foram atualizados nas suas versões. No Buster a versão do Apache na instalação automática é a 2.4.38.

# cd /usr/src

# wget https://ftp.unicamp.br/pub/apache//httpd/httpd-2.4.48.tar.gz (sim, na linha acima tem duas barras depois de Apache)

# tar -xzvf httpd-2.4.48.tar.gz

Baixando e organizando os pacotes necessários para os módulos extras

APR (APACHE PORTABLE RUNTIME)

A missão do projeto Apache Portable Runtime (APR) é criar e manter bibliotecas de software que fornecem uma interface consistente e previsível para implementações específicas da plataforma (Sistema Operacional) utilizada. O objetivo principal é fornecer uma API para que os desenvolvedores possam codificar e ter a certeza de que o seu software funcionará independentemente da plataforma (Sistema Operacional) em que ele foi construído. Quando um SO não suporta determinada função, a APR define uma substituta. Além disso, a APR pode fazer com que um programa seja verdadeiramente portável entre várias plataformas.

# cd httpd-2.4.48/srclib
# wget https://downloads.apache.org/apr/apr-1.7.0.tar.gz
# tar -xzvf apr-1.7.0.tar.gz

Movendo (renomeando), é necessário, pois segundo o manual do Apache2 não é aconselhável ter números de versão nos nomes das pastas:

# mv apr-1.7.0 apr
# wget https://downloads.apache.org/apr/apr-util-1.6.1.tar.gz
# tar -xzvf apr-util-1.6.1.tar.gz
# mv apr-util-1.6.1 apr-util

Biblioteca de descompressão Zlib:

# wget http://zlib.net/zlib-1.2.11.tar.gz
# tar xvfz zlib-1.2.11.tar.gz
# mv zlib-1.2.11 zlib

PCRE - PERL COMPATIBLE REGULAR EXPRESSIONS (biblioteca para o uso de expressões regulares)

Entre em /usr/src:

# cd /usr/src
# wget http://ftp.cs.stanford.edu/pub/exim/pcre/pcre2-10.37.tar.gz
# tar xvfz pcre2-10.37.tar.gz
# cd pcre2-10.37
# ./configurte
# make
# make install

Criando o diretório onde será instalado o Apache2:

# mkdir /opt/apache2

Configurando o Apache 2:

# cd /usr/src/httpd-2.4.48

Construindo as bibliotecas baixadas anteriormente:

# ./buildconf

E depois:

# ./configure --prefix=/opt/apache2 --exec-prefix=/opt/apache2 --enable-file-cache --enable-cache --enable-cache-disk --enable-so --enable-isapi --enable-session --enable-session-cookie --enable-ssl=shared --enable-imagemap --enable-rewrite --enable-alias --enable-cgi --enable-suexec=shared --enable-mods-shared=all --enable-auth-basic --enable-authn-file --enable-authnz-fcgi --enable-ssl --enable-mpms-shared=all --enable-pie --enable-include --enable-deflate --enable-headers --enable-expires --enable-fcgid --with-libxml2=/usr --with-suexec-caller=apache --with-pcre=/usr --with-mpm=event --with-included-apr --with-z=/usr/src/http-2.4.48/srclib/zlib

Não vou, no momento, explicar o que são cada um desses parâmetros, depois tem um link para o manual do Apache2 onde se pode ver os parâmetros ou depois da instalação digite "man apache2".

Deverá terminar:

config.status: executing default commands
Server Version: 2.4.48
Install prefix: /opt/apache2
C compiler: gcc
CFLAGS: -g -02 -pthread
CPPFLAGS: -DLINUX -D_REENTRANT -D_GNU_SOURCE
LDFLAGS:
LIBS:
C preprocessor: gcc -E


# make

Deverá terminar:

make[2]: Leaving directory '/usr/src/httpd-2.4.48/support'
make[1]: Leaving directory '/usr/src/httpd-2.4.48'


# make install

Deverá terminar:

mkdir /opt/apache2/manual
make[1]: Leaving directory '/usr/src/httpd-2.4.48'


Em caso de erro em alguma etapa execute "make clean" estando dentro de httpd-2.4.48, apague e recrie a pasta /opt/apache2 e refaça a operação a partir do ./buildconf. Depois de instalado, caso quiser configurar outros parâmetros, não necessita excluir o /opt/apache2, basta executar a partir do ./configure que os arquivos já configurados permanecerão. Isso vale para todo e qualquer programa instalado manualmente usando ./configure, make e make install.

O módulo mod_fcgid serve para resolver o problema de upload de arquivos grandes quando o módulo FastCGI estiver em uso e também proporciona iniciar um número suficientes de instâncias do programa CGI para lidar com várias requisições simultâneas.

Voltando para /usr/src:

# cd ..
# wget https://ftp.unicamp.br/pub/apache//httpd/mod_fcgid/mod_fcgid-2.3.9.tar.gz (sim, na linha acima tem duas barras depois de apache)

# tar xvfz mod_fcgid-2.3.9.tar.gz
# cd mod_fcgid-2.3.9

APXS - APACHE EXTENSION TOOL

É uma ferramenta para compilação e instalação de módulos para o Apache2:

Dentro de mod_fcgid-2.3.9, execute:

# APXS=/opt/apache2/bin/apxs ./configure.apxs
# make
# make install

Voltando para /usr/src:

# cd ..

Entre no arquivo httpd.conf (vim /opt/apache2/conf/httpd.conf) e descomente as seguintes linhas:

LoadModule session_module modules/mod_session.so #linha ~144
LoadModule rewrite_module modules/mod_rewrite.so #linha ~180

Acrescente localhost ou o IP da sua máquina que responderá pelo servidor Web, na linha 227 ou aproximada. Caso dê uma diferença no número da linha no seu arquivo, não se preocupe, é normal:

#ServerName www.example.com:80
ServerName localhost:80
ServerName 127.0.0.1:80

Verifique se as linhas ~175 (LoadModule dir_module modules/mod_dir.so) e ~183 (LoadModule php_module modules/libphp.so) estão descomentadas, se não estiverem, descomente-as.

Salve e saia. Iniciando o Apache 2 (não dará nenhuma mensagem de retorno):

# /opt/apache2/bin/apachectl start

Abra o navegador e digite:

http://localhost
ou
http://ip_do_servidor_web

Deverá aparecer "It works!".

Para o Apache iniciar com o sistema, abra o arquivo rc.local:

# vim /etc/rc.local

(é neste arquivo que se colocam as linhas para os programas que você quer que iniciem com o sistema)

e coloque dentro, antes de exit 0, assim:

...
/opt/apache2/bin/apachectl start

exit 0

Criando um alias para o comando /opt/apache2/bin/apachectl.

Entre no arquivo:

# vim ~/.bashrc

Acrescente no final:

alias apache2='/opt/apache2/bin/apachectl'

Salve e saia do arquivo.

Execute:

# source ~/.bashrc

Esse comando efetiva as mudanças sem precisar reiniciar.

Teste digitando no terminal:

# apache2 stop

Abra o navegador e teste. Deverá dar uma mensagem de que o navegador não conseguiu se conectar com localhost.

# apache2 start

Dê um refresh na página localhost. Deverá aparecer It Works.

# apache2 restart

Esses comandos com aliases retornam uma saída somente quando der erro. Para criar novos aliases, siga o mesmo método.

Por exemplo, no arquivo ~/.bashrc tenho o seguinte no final:

alias apache2="/opt/apache2/bin/apachectl"
alias postgres="/etc/init.d/postgresql"

O nome do alias é você quem decide, apache2, postgres etc. Para quem trabalha muito com a linha de comando, utilizar alias é uma ótima ajuda.

Deixo aqui o manual do Apache versão 2.4: https://downloads.apache.org/httpd/docs/httpd-docs-2.4.33.en.pdf

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. POSTGRESQL
   3. APACHE
   4. PHP
   5. Conclusão
Outros artigos deste autor

Montagem de Cluster

Compilação do Squid 3 no Debian Wheezy

O Kernel Linux

Como ter o ChatGPT no seu site em PHP

Como agendar um backup automático do PostgreSQL no Cron evitando o problema de senha

Leitura recomendada

Servidor proxy autenticado (Squid + DansGuardian + OpenLDAP)

ZRAM (Compressed RAM) no Debian

Configuração de vídeo - Solução de erro

Openfire integrado em uma floresta Active Directory

Configurando o NRPE (Nagios Remote Plugin Executor) no Ubuntu Desktop 9.10/Server 8.04 com criptografia SSL

  
Comentários
[1] Comentário enviado por danniel-lara em 24/09/2021 - 20:35h


Show , muito bom parabéns

[2] Comentário enviado por Buckminster em 24/09/2021 - 22:09h


[1] Comentário enviado por danniel-lara em 24/09/2021 - 20:35h


Show , muito bom parabéns



Obrigado, Daniel.

[3] Comentário enviado por maurixnovatrento em 02/10/2021 - 10:26h


Show, ótimo artigo.

___________________________________________________________
[code]Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento [/code]

[4] Comentário enviado por Louis526 em 11/11/2021 - 06:31h

Satisfied to consider your to be as I would hypothesize I have an equivalent issue, I am comparably befuddled and requiring light on this indistinguishable issue. Need assistance.

https://www.mybalancenow.ltd/


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts