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

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

Scikit Learn: Projetando o futuro de suas APIs e aplicativos usando machine learning

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

Centralizando logs com Promtail + Loki + Grafana

Gerando gráficos sem mistérios no MRTG (Debian)

Linux, uma história sem fim!

Leitura recomendada

Instalação de servidor Slackware 10.2

Criando rotas via iptables para acesso remoto com VNC

Assistindo vídeos no XMMS

Sincronizando o Linux com a Hora Legal Brasileira usando o NTP.br

Erro no alsamixer após atualização no Ubuntu 7.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 jbm5688@rnent.com.br.

[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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts