Instalação do PAP (PostgreSL, Apache2 e PHP7) no Debian Jessie

Instalação manual (em sua maioria) do PostgreSQL, Apache2 e PHP7 no Debian Jessie 64 bits.

[ Hits: 12.933 ]

Por: Buckminster em 24/03/2016


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:

# cd /usr/src
# wget mirror.nbtelecom.com.br/apache/httpd/httpd-2.4.18.tar.gz
# tar -xzvf httpd-2.4.18.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.18/srclib
# wget mirror.nbtelecom.com.br/apache/apr/apr-1.5.2.tar.gz
# tar -xzvf apr-1.5.2.tar.gz


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

# mv apr-1.5.2 apr

# wget mirror.nbtelecom.com.br/apache/apr/apr-util-1.5.4.tar.gz
# tar -xzvf apr-util-1.5.4.tar.gz
# mv apr-util-1.5.4 apr-util


Biblioteca de descompressão Zlib:

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


PCRE - Perl Compatible Regular Expressions (Biblioteca para o uso de expressões regulares)

Execute:

# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz
ou
# wget http://ftp.cs.stanford.edu/pub/exim/pcre/pcre-8.38.tar.gz

# tar xvfz pcre-8.38.tar.gz
# mv pcre-8.38 pcre


Configurando o Apache 2:

Subindo um diretório acima, de /usr/src/httpd-2.4.18/srclib para /usr/src/httpd-2.4.18:

# cd ..

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

# mkdir /opt/apache2

Construindo as bibliotecas baixadas anteriormente:

# ./buildconf

# ./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.10/srclib/zlib

Deverá terminar:

config.status: executing default commands

# make

Deverá terminar:

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


# make install

Deverá terminar:

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


Em caso de erro em alguma etapa execute "make clean" estando dentro de httpd-2.4.18, apague e recrie a pasta /opt/apache2 e refaça a operação.

Módulo mod_fcgid -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.

# cd ..
# wget mirror.nbtelecom.com.br/apache//httpd/mod_fcgid/mod_fcgid-2.3.9.tar.gz
# tar xvfz mod_fcgid-2.3.9.tar.gz
# cd mod_fcgid-*


apxs - APache eXtenSion tool

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

# APXS=/opt/apache2/bin/apxs ./configure.apxs
# make
# make install
# 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 ~137
LoadModule rewrite_module modules/mod_rewrite.so #linha ~176

Acrescente localhost ou o IP da sua máquina que responderá pelo servidor Web, na linha 220. 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

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

# /opt/apache2/bin/apachectl start

Abra o navegador e digite:

localhost
ou
ip_do_servidor_web

Deverá aparecer "It works!".

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

# vim /etc/rc.local

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.

# apache2 start
# apache2 restart


Para criar novos aliases, siga o mesmo método.

Para quem trabalha muito com a linha de comando, utilizar alias é uma ótima ajuda.

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

Como ter o ChatGPT no seu site em PHP

Manual traduzido do Squid

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

Montagem de Cluster

Compilação de Kernel

Leitura recomendada

Slackware descomplicado para iniciantes

Compartilhando arquivos e bookmarks do Firefox entre Linux e Windows

Metodologia LFS - Contruindo seu Linux do zero

Boot Remoto (LTSP) sem servidor DHCP

Otimizando o seu Slackware pra valer com o SlackBuild

  
Comentários
[1] Comentário enviado por danniel-lara em 24/03/2016 - 16:46h

Parabéns pelo artigo , muito bom mesmo

[2] Comentário enviado por Buckminster em 24/03/2016 - 17:33h


[1] Comentário enviado por danniel-lara em 24/03/2016 - 16:46h

Parabéns pelo artigo , muito bom mesmo


Obrigado Daniel.

[3] Comentário enviado por robsonpatrick em 27/03/2016 - 23:30h

Este tutorial foi de uma valia inenarrável, para eu que estou migrando do Windows para Debian isto ai encurtou muito essa minha transição. Muito muito obrigado
Funcionou tudo,
única coisa que faltou, que pode fazer diferença para um mais cabaço que eu, é liberar a extensão do pgsql no php.ini
para mim falhou mas não fez diferença na instalação do postgres wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add
não sei pq, e também não sei para que serve.

como eu tinha tentado outras coisas antes, na primeira vez não deu certo, ai desinstalei o debian, instalei novamente, configurei o putty, mandei ver no ctrl+c e click direto

configurei um usuário para postgres
depois instalei samba, configurei acesso htdocs, joguei minhas loucuras lá e rodou
show de bola

[4] Comentário enviado por robsonpatrick em 27/03/2016 - 23:35h

um adendo para clarear a comunicação
o postgresql funcionou, o que não funcionou foi uma instalação de uma Key

[5] Comentário enviado por Buckminster em 28/03/2016 - 12:57h


[4] Comentário enviado por robsonpatrick em 27/03/2016 - 23:35h

um adendo para clarear a comunicação
o postgresql funcionou, o que não funcionou foi uma instalação de uma Key


Obrigado. Realmente faltou a parte das extensões, mas era para ter junto com o artigo 4 arquivos para download (hpptd.conf, php.ini, pg_hba.conf e postgresql.conf).

Em relação à instalação da key, houve uma falha, o comando certo é:

# wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - <<< aqui no final tem um sinal "-", de menos, um tracinho, um hífen.

A instalação dessa key é importante para as atualizações do PostgreSQL através do apt-get ou do aptitude.

Execute o comando de novo.

As minhas extensões estão assim aqui (cloquei em 'quote' porque o negrito não funcionou, ou eu que não soube fazer):

;extension=php_bz2.dll
;extension=php_curl.dll
;extension=php_fileinfo.dll
extension=php_gd2.dll

;extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_intl.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
extension=php_mbstring.dll
extension=php_exif.dll ; Must be after mbstring as it depends on it

;extension=php_mysqli.dll
;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client
;extension=php_openssl.dll
;extension=php_pdo_firebird.dll
;extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
extension=php_pdo_odbc.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
extension=php_pgsql.dll
extension=php_shmop.dll

[6] Comentário enviado por robsonpatrick em 29/03/2016 - 18:25h

Valeu mais uma vez!
Sou fã de caras como você!
As extensões estão um pouco diferente das que eu configurei para mim, vou dar uma estudada na diferenças...

Vi no seu perfil pelos posts e artigos, que você é o bichão mesmo do linux...

Eu sei que aqui não é o local certo, mas você me parece a pessoa certa,
para me esclarecer um pensamento que acompanha os "janeleiros"
Pessoal do Windows salva seus instaladores...
Já no Linux dependemos de repositórios que ficam em servidores mundo a fora, a qual outras pessoas podem decidir não compartilhar mais o software,
gostaria de saber se há como eu salvar meus instaladores,
caso sim,
se você tiver um artigo para indicar eu agradeço (se não tiver não tem problema eu procuro, você já ajudou muito)

Valeu!

[7] Comentário enviado por Buckminster em 30/03/2016 - 17:05h

robsonpatrick;
bom, como tu usa Debian tu podes baixar os pacotes desejados e salvá-los na máquina para instalação posterior ou guardar os instaladores como tu quer, isso pode ser feito em qualquer distribuição.

https://www.debian.org/distrib/packages.pt.html

https://packages.debian.org/stable/

São pacotes .deb que depois tu instala com o dpkg.

E tu podes usar o parâmetro -d que ele somente baixa o pacote para instalação posterior. Com isso tu podes fazer uma pasta de backups.

# apt-get -d install pacote <<< -d de Download-only, apenas download.

Veja aqui a página do man do apt-get ou digite no terminal man apt-get:

http://linux.die.net/man/8/apt-get

Mas é difícil os repósitórios do Debian sairem do ar, somente se o Debian deixar de existir, daí não fará diferença.

[8] Comentário enviado por robsonpatrick em 31/03/2016 - 07:29h

Maneiro!
Muito obrigado mais uma vez Buckminster!



[9] Comentário enviado por Buckminster em 31/03/2016 - 16:57h


[8] Comentário enviado por robsonpatrick em 31/03/2016 - 07:29h

Maneiro!
Muito obrigado mais uma vez Buckminster!

De nada.


[10] Comentário enviado por robsonpatrick em 08/04/2016 - 12:39h

Pra fazer uns cortes automáticos em imagens no php é preciso instalar o php7.0-gd
que consegui fazendo estes passos:

Acrescente as seguintes linhas ao final do arquivo /etc/apt/sources.list:
# dotdeb PHP7 repositórios
deb http://packages.dotdeb.org jessie all
deb-src http://packages.dotdeb.org jessie all

Vamos à configuração da chave gpg…
wget https://www.dotdeb.org/dotdeb.gpg
sudo apt-key add dotdeb.gpg

sudo apt-get update
sudo aptitude install php7.0-gd

instalou, e mesmo descomentando extension=php_gd2.dll
não funcionou :-P
os passo peguei desta fonte:
http://elias.praciano.com/2015/11/como-instalar-o-php-7-0-no-ubuntu-14-04-e-no-debian-8/

se vc quiser mais este desafio posso passar os codigos por email
o erro que vai aparecer é call to undefined function imagecreatefromjpeg()



[11] Comentário enviado por Buckminster em 08/04/2016 - 22:36h

Faça um teste, use imagecreatetruecolor em vez de imagecreatefromjpeg e poste aqui se acontecer algum erro.
Não esqueça de reiniciar o Apache.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts