Instalando Apache, PHP e PostgreSQL no Slackware 12 (compilando)

Neste artigo venho abordar a instalação e configuração de forma simples dos pacotes citados acima na forma compilada.

[ Hits: 45.992 ]

Por: Leonardo Berbert Gomes em 07/09/2007 | Blog: https://www.linkedin.com/in/leoberbert


Instalação e configuração



Apache:

$ tar -zvxf httpd-2.2.4.tar.gz
$ cd httpd-2.2.4
$ ./configure --prefix=/etc/apache2/
$ make
$ su
# make install
# cp /etc/apache2/bin/apachectl /usr/bin/


Seu apache está instalado e pronto para funcionar, daremos o seguinte comando para iniciá-lo:

$ apachectl start

PostgreSQL:

$ tar -zvxf postgresql-8.2.4.tar.gz
$ cd postgresql-8.2.4
$ ./configure --prefix=/usr/local/pgsql --without-readline --without-zlib
$ make
$ su
# make install
# cp /usr/local/pgsql/bin/* /usr/bin


OBS: /usr/local/pgsql - diretório onde será instalado o PostgreSQL.

Criando o usuário Postgres:

# adduser postgres

Criaremos agora o diretório onde os dados serão armazenados:

# mkdir /usr/local/pgsql/data

Agora daremos permissão ao usuário postgres:

# chown postgres data -v

Teoricamente está tudo pronto, agora logaremos com o usuário postgres para fazer as devidas configurações e criação da base de dados.

# su postgres -m
$ cd /usr/local/pgsql/
$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data


Agora testaremos se o PostgreSQL está realmente funcionando, digite o comando abaixo:

$ /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data

Para parar o comando acima, execute o famoso CONTROL+C.

Agora copiaremos o script de inicialização do PostgreSQL que vem por padrão na sua respectiva pasta.

Basta entrar na pasta onde você baixou o PostgreSQL e dar o seguinte comando:

# cp contrib/start-scripts/linux /etc/rc.d/rc.postgresql

# chmod +x /etc/rc.d/rc.postgresql

Com o comando acima estamos colocando o script de inicialização do postgresql para facilitar nossa vida para, iniciá-lo, pará-lo e restartá-lo.

Antes de iniciar o serviço vai aí o pulo do gato:

Como o PostgreSQL trabalha com sockets podemos ativar o TCP/IP na própria inicialização sem alterar nenhuma conf dele, bastando apenas editar o arquivo abaixo:

/etc/rc.d/rc.postgresql

Como está:

echo -n "Starting PostgreSQL: "
su - $PGUSER -c "$DAEMON -D '$PGDATA' &" >>$PGLOG 2>&1

Como deve ficar:

echo -n "Starting PostgreSQL: "
su - $PGUSER -c "$DAEMON -i -D '$PGDATA' &" >>$PGLOG 2>&1

OBS: Note que foi acrescentado apenas um -i na linha acima.

Iniciar PostgreSQL:

# /etc/rc.d/rc.postgresql start

Parar PostgreSQL:

# /etc/rc.d/rc.postgresql stop

Restartar PostgreSQL:

# /etc/rc.d/rc.postgresql restart

Ver status do PostgreSQL:

# /etc/rc.d/rc.postgresql status

Agora vamos criar um usuário para o PostgreSQL, pois não é seguro usar o usuário master do PostgreSQL, que no nosso caso é o user postgres criado anteriormente.

# useradd seu_user
# passwd seu_user


O usuário acima foi criado apenas para o Linux, agora deveremos criar o usuário também para o PostgreSQL:

$ createuser seu_user

Também deveremos criar uma database:

$ createdb sua_database

Para visualizar as databases existentes:

$ psql -l
 postgres     | postgres | LATIN1
 template0    | postgres | LATIN1
 template1    | postgres | LATIN1

OBS: Lembrando que para executar o comando psql você não poderá estar como usuário root, deverá usar o usuário criado anteriormente.

Pronto, seu postgresql já está instalado e pronto pra usar!!!

PHP:

$ tar -zvxf php-5.2.4.tar.gz
$ cd php-5.2.4
./configure --prefix=/usr --disable-static \
--with-apxs2=/etc/apache2/bin/apxs \
--sysconfdir=/etc \
--enable-discard-path \
--with-config-file-path=/etc/apache2 \
--enable-safe-mode \
--with-openssl \
--enable-bcmath \
--with-bz2 \
--with-pic \
--enable-calendar \
--enable-ctype \
--with-gdbm \
--enable-dbase \
--enable-ftp \
--with-iconv \
--with-gd \
--enable-gd-native-ttf \
--with-freetype-dir=/usr/include/freetype2/freetype \
--with-jpeg-dir=/usr \
--with-png \
--with-gmp \
--with-mysql=shared,/usr \
--with-xml=shared,/usr \
--with-gettext=shared,/usr \
--with-mm=/usr \
--enable-trans-sid \
--enable-shmop \
--enable-sockets \
--with-regex=php \
--enable-sysvsem \
--enable-sysvshm \
--enable-yp \
--enable-memory-limit \
--with-tsrm-pthreads \
--enable-shared \
--disable-debug \
--with-zlib=/usr \
--with-pgsql=/usr/local/pgsql
$ make
$ su
# make install


Agora copiaremos o nosso arquivo de configuração do php para que ele interaja com o nosso apache.

$ cp php.ini-dist /etc/apache2/conf/php.ini

Devemos adicionar duas linhas para que nosso apache leia arquivos de extensões php, edite o arquivo abaixo com seu editor preferido:

$ /etc/apache2/conf/httpd.conf

Acrescentando as seguintes linhas:

AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps

Verifique se existe a linha:

LoadModule php5_module        modules/libphp5.so

Se não tiver acrescente-a.

Logo em seguida, execute os comandos abaixo:

# apachectl stop
# apachectl start


Vamos agora criar um arquivo de testes para ver se o php está funcionando:

$ touch /etc/apache2/htdocs/teste.php

Dentro deste arquivo adicione as seguintes linhas:

<?
phpinfo();
?>

Depois vá até o seu navegador e digite o endereço:

http://localhost/teste.php

Wala!!! Tudo funcionando.

Página anterior     Próxima página

Páginas do artigo
   1. Pacotes necessários
   2. Instalação e configuração
   3. Créditos
Outros artigos deste autor

Monitorando a saúde do Apache (Prometheus + Grafana)

Solucionando problemas no sistema de arquivos

Linux, uma história sem fim!

Detectando vulnerabilidades com o Nessus

SuperDNS: Solução definitiva para DNS dinâmico

Leitura recomendada

Bootsplash nos kernels 2.6.17.13 e 2.6.18 no Slackware 11

Configurando o driver nVidia no Mandrake 10.1 community

Instalando o bbpager do Blackbox

VSFTPD no CentOS 6.2 - Instalação e Configuração

LTSP 5 no Ubuntu 8.04

  
Comentários
[1] Comentário enviado por pitombera em 07/09/2007 - 20:04h

./configure --help evita alguns contrangimentos =x

mas tá ai ... bacana =x

"cp /etc/apache2/bin/apachectl /usr/bin/"

AhIUAHAUHAIhIA

hummm .. usar o checkinstall parar criar pacotes ajuda pra gerenciar ;D

[2] Comentário enviado por tenchi em 09/09/2007 - 11:38h

Putz, eh msm... Instalar o apache em /etc? Aí vc estaria dando um tapa na estrutura de diretórios do Unix ;-) Acredito que assim ficaria melhor:
$ ./configure --prefix=/opt/httpd --sysconfdir=/etc --etc...

Não sei no caso do apache, mas a maioria dos programas reclama se você os coloca num diretório que não aquele que eles foram instalados.
Quanto à do checkinstall, eu pelo menos tenho muitos problemas com ele, pois nunca cria pacotes corretamente (pelo menos comigo). Mas criar um pacote é sempre bom, para poder controlar tudo que é instalado ou não.

[3] Comentário enviado por cvs em 09/09/2007 - 11:40h

Bah...
usando ./configure --prefix=/usr/local/apache2 e depois jogand o /usr/local/apache2/bin no path funciona que é uma maravilha...

as vezes um ./configure --help ajuda mesmo... hehehehe

valeu pelo artigo :)

[4] Comentário enviado por jonathantavares em 20/09/2007 - 01:21h

vlw ae, esclareceu totalmente minha duvida

#)

[5] Comentário enviado por edutech em 17/12/2007 - 12:19h

Amigos alguem sabe dizer se essa compilação do Postresql e valida tbem para SAGU-PRO, estou tentando instalar o mesmo pelo manual do Sagu e nao consigo, quem ja instalou o SAGU, por favor!!

[6] Comentário enviado por tutistu em 03/04/2008 - 11:08h

Caramba cara vlw mesmo
Tutorial nota 10 me explicou tudo direitnho
Muito pbrigado mesmo

Ta de parabens

[7] Comentário enviado por jbmacedo em 24/05/2008 - 02:00h

Caro leoberbert, tentei usar o seu tutorial mas tive os seguintes prob.
Inicialmente devo dizer que uso o slack 12.0 e esta funcionando como firewall e controlador de banda perfeitamente atraves de um script nosso. porem preciso implementar algo mais e nesse caso seria com o Apache, Mysql e o PHP. quando comecei a instalar o Apache seguindo o seu tutorial deu o seguinte erro: ./configure --prefix=/etc/apache2/
da o seguinte erro:
./configure --prefix=/srv/www --enable-module=so
checking for chosen layout... Apache
checking for working mkdir -p... yes
checking build system type... i686-pc-linux-gnulibc1
checking host system type... i686-pc-linux-gnulibc1
checking target system type... i686-pc-linux-gnulibc1

Configuring Apache Portable Runtime library ...

checking for APR... reconfig
configuring package in srclib/apr now
checking build system type... i686-pc-linux-gnulibc1
checking host system type... i686-pc-linux-gnulibc1
checking target system type... i686-pc-linux-gnulibc1
Configuring APR library
Platform: i686-pc-linux-gnulibc1
checking for working mkdir -p... yes
APR Version: 1.2.12
checking for chosen layout... apr
checking for gcc... gcc
checking for C compiler default output file name... configure: error: C compiler cannot create executables
See `config.log' for more details.
configure failed for srclib/apr
e depois no make e no make install repetem o seguinte erro:
make: *** No rule to make target `install'. Stop.

O que posso fazer para sanar esse problema.... caso possa postar para e-mail, favor passar para [email protected]

[8] Comentário enviado por leoberbert em 26/05/2008 - 13:53h

Pelo visto seu slack está faltando algum pacote do compilador C.

[9] Comentário enviado por euartur_silva em 18/07/2008 - 11:37h

parabéns ficou show acabei de colocar pra funcionar no slackware
Artur Ferreira
Analista de Suporte

[10] Comentário enviado por xdefcon5 em 06/05/2009 - 18:13h

loguei so para agradecer...parabens ..simplesmente CABAL.

abraços


Contribuir com comentário