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: 8.084 ]

Por: Buckminster 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

Instalar e configurar o Nftables com exemplos básicos de configurações

Tradução do artigo do filósofo Gottfried Wilhelm Leibniz sobre o sistema binário

Configuração do sistema, DHCP, compartilhamento e DNS no Debian Squeeze

Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla

Enviar mensagem ao usuário trabalhando com as opções do php.ini

Leitura recomendada

Instalando MultiLIB no Slackware 14.2 com Atualizações pelo GSlapt

MUGPIS 14.1

Implantando rsync server no Windows para conexões via Linux

Comando sudo - instalação e configuração

Configurando vídeo no Linux usando frame buffer

  
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