Servidor Internet (parte 1)

Este é o primeiro de uma séria de cinco, onde você aprenderá como montar um servidor de Internet completo, com serviços de HTTP e HTTPs (Apache), BD (PostgreSQL), PHP, IMAP e POP3 (Postfix), antivírus (ClamAV), FTP seguro (Pure-FTPd), Gateway (OpenBSD) e DNS (Bind). Aqui será vista a instalação e configuração do Apache com SSL, PostgreSQL e PHP.

[ Hits: 118.016 ]

Por: Carlos Eduardo Ribeiro de Melo em 01/10/2004


Instalando o PHP



Primeiro descompacte o arquivo que você baixou:

# tar zxvf php-4.3.9rc2.tar.gz
# cd php-4.3.9rc2/


Antes de instalar o PHP, é necessário que você conheça as extensões que ele suporta. Para isso, digite o comando:

# ./configure --help

Após conhecer as opções, configure a instalação de acordo com aquilo que você deseja habilitar. Para uma instalação simples, sem extensões, basta inserir o comando:

# ./configure --prefix=/usr/local --with-apxs2=/usr/sbin/apxs --with-pgsql --with-config-file-path=/var/www/conf --with-ssl

Agora uma breve descrição sobre as opções:
  • --prefix=/usr/local -> Explicado anteriormente.
  • --with-apxs2=/usr/sbin/apxs2 -> Ativa o suporte no Apache 2. Caso sua instalação do Apache seja versão 1, escolha a opção --with-apxs.
  • --with-pgsql -> Ativa o Suporte ao PostgreSQL.
  • --with-config-file-path=/var/www/conf -> Indica o caminho do local onde irão ficar os arquivos de configuração.

Pronto! Basta compilar e instalar!

# make && make install

Configuração


No diretório onde se encontram os códigos-fonte do PHP, geralmente /usr/local/src/php-4.3.9rc2/, você deve copiar o arquivo php.ini-dist, caso queira utilizar o PHP da forma original ou php.ini-recommended caso queira utilizar na forma recomendada. No nosso caso utilizaremos a forma recomendada.

# cp php.ini-recommended /var/www/conf/php.ini

Lembre-se: É sempre bom dar uma boa leitura nos comentários dos arquivos de configuração.

Devemos configurar o Apache para ler páginas index.php como páginas principais. Para isto procure pela linha DirectoryIndex no arquivo httpd.conf. Dica: Para achar uma palavra no VI basta digitar / (Barra) e a palavra à procurar.

# vi /var/www/conf/httpd.conf
:/DirectoryIndex

Agora deixe a linha desta maneira:

DirectoryIndex .php .html .phtml .php3

É preciso, também, ativar as extensões (.php) no httpd.conf do Apache. Para isso edite o arquivo e adicione a seguinte linha no meio do arquivo.

# vi /var/www/conf/httpd.conf
:/AddType

Agora que você achou a parte onde se adicionam os tipos, adicione esta linha:

AddType application/x-httpd-php .php .phtml .php3 .inc .html

Incluindo a extensão .inc você poderá aumentar a segurança do servidor com relação à disposição de código. Caso você utilize códigos em php de terceiros, às vezes o código vem com extensão .inc e é muito trabalhoso mudar a extensão no código todo... Assim você protege o código fazendo com que o servidor interprete também as extensões .inc.

Pronto! Seu servidor está pronto para receber suas páginas. Para testá-lo, crie uma página em PHP com este conteúdo:

<?

phpinfo();

?>

Salve-o no diretório /var/www/htdocs como index.php. Abra o browser e digite http://IP.DO.SERVIDOR. Se tudo correu certo irá aparecer uma página de informações do PHP.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Baixando o código-fonte
   3. Instalando o Apache
   4. Instalando o PostgreSQL
   5. Instalando o PHP
   6. Considerações finais
Outros artigos deste autor

Configure seu Linux pela Web!

Entendendo os scripts de inicialização do Gentoo

Leitura recomendada

Umask para leigos

KDM no Slackware 11.0

Web proxy Mikrotik V3.XX com controle de acesso

Adaptador Bluetooth no Slackware

KDE em um PC "primitivo"

  
Comentários
[1] Comentário enviado por m4sk4r4 em 01/10/2004 - 10:21h

Olá Carlos,

Gostei muito do artigo, Parabéns, e já tou ancioso
para ler as outras séries do artigo.

Mais aproveito também este espaço, para fazer umas perguntas .
No caso do postgre, ele tem um superusuário para iniciar
o serviço, esse mesmo usuário que deverá ser usado
para criar os banco de dados, tabelas?
Um novo database a ser criado, deve ser em /var/pgsql/data ?

Última pergunta, o comando chroot poderia ser usado no caso do postgre.

#chroot postgre /var/pgsql

Ou isso prejudicaria o funconamento do postgre?


Flwz, e mais uma vez, Parabéns.

[2] Comentário enviado por cvs em 01/10/2004 - 10:23h

muito interessante... e logo o servidor de ftp que tava afim de dar uma olhada não veio dessa vez? heheheh maldade :D

Espero ancioso as outras partes :-)

[3] Comentário enviado por dudu_away em 01/10/2004 - 10:29h

Caro m4sk4r4, o superusuario deve ser utilizado para executar os qualquer comando que venha pelas linhas de comando do linux.

Para criar banco de dados:

# su postgres -c 'createdb banco_de_dados'

No caso de criar as tabelas, vc utiliza o comando

# psql -Upostgres banco_de_dados

e será aberto o shell do postgresql. Daí vc pode executar qualquer comando SQL tipo CREATE TABLE. Existem outras formas de criar como importando um arquivo. O comando ficaria assim:

# psql -Upostgres banco_de_dados -c '\i arquivo'

No caso do chroot não é possível utilizá-lo se vc pretende rodar o postgresql com o Apache, pq o arquivo .pid não seria visto pelo mesmo daí daria erro no PHP...

[]'s

[4] Comentário enviado por removido em 02/10/2004 - 00:05h

Poww simplesmente showww, essa sequência de artigos que você propôs a escrever veio para a quebrar a banca =)...

parabéns e adorei a abordagem ao PostgreSQL

estou no aguardo pelas as outras edições!.

Guilherme L. Stolfo
guinet(not_spam)gmail.com

[5] Comentário enviado por dudu_away em 02/10/2004 - 22:16h

Ai m4sk4r4, dei uma olhada na sua pergunta e vi q tava mal respondida.... hehehe...

O novo database deve ser criado no local onde vc pos pra ser o home do usuario postgres (que no sistema é considerado usuário comum) ou o usuário postgres deve ser o dono do diretório q vc utilizar pra ser o database..... E podem ser criados vários databases em um msm diretorio.... o diretorio q citei /var/pgsql/data e o diretorio utilizado para guardar os dados e arquivos de configuração do postgresql. Blz? Espero ter ajudado...

[]'s

[6] Comentário enviado por taudujas em 03/10/2004 - 00:16h

Parabens cara, vou fazer isso aqui no meu Slackware 10 e depois fazer uma imagem do HD para manter comigo. Abraços!

[7] Comentário enviado por engos em 05/10/2004 - 09:21h

Beleza de artigo, espero que a série continue tão boa quanto esse primeiro artigo.

Só uma observação que não gostei, quando você fala sobre a instalação do PHP, em "--prefix=/usr/local -> Explicado anteriormente". Caso a pessoa já tivesse o Apache e PostgreSQL instalado e estivesse interessado em instalar apenas o PHP teria que lêr todo o artigo para saber onde foi explicado e o que significa?

É só um detalhe, mas acho importante.

Parabéns pelo artigo, já estou na espera pela seqüência.

[]s

[8] Comentário enviado por duardo em 05/10/2004 - 10:54h

ótimo artigo , estou esperando pela continuação, valew...

[9] Comentário enviado por fabrizmat em 06/10/2004 - 07:48h

Muito bom. parabéns

[10] Comentário enviado por reimassupilami em 27/01/2005 - 08:32h

ótimo artigo hein... Estou mesmo montando um servidor usando apache+php+postgre, mas é difícil encontrar material assim... geralmente econtramos com mysql apenas...

valeu cara...

[11] Comentário enviado por reimassupilami em 31/03/2005 - 08:34h

olá dudu_away... cara, eu usei seu artigo, está bom mesmo, foi ideal pra mim... agora estou precisando instalar o php5... vc sabe se os parâmetros para configuração e compilação são os mesmos?

[12] Comentário enviado por Antoniaze em 01/04/2005 - 21:47h

Salve Comunidade que continue sempre assim...
Caro DUDU valeu mesmo ....
Este foi pelo qual estou ligado no linux...
ESPERAVA ESTE ARTIGO A MUITO TEMPO....
Valeu velho ....Parabens...

[13] Comentário enviado por dudu_away em 11/04/2005 - 20:37h

Aew rei massupilami... desculpa a demora... ;-)

Bom... pra php5 fica a mesma coisa... se vc tiver alguma dúvida, basta dar uma olhada na seção --help do .configure...

./configure --help

Abraços

[14] Comentário enviado por reimassupilami em 07/11/2005 - 15:36h

olha só, tive o seguinte problema: se eu configurar o socket em outro diretorio diferente de /tmp ele inicia normalmente, porem comandos como o createuser, por exemplo continuam buscando o socket em /tmp, e dae nao funcionam... existe mais algum arquivo de configuração q pode estar fazendo referencia a esse diretorio? a solução por enquanto foi deixar o diretorio do socket em /tmp mesmo

outra coisa, como defino a senha do superusuario, quando é feita a instalação?

[15] Comentário enviado por cmeisterhofer em 28/06/2006 - 11:07h

Ola!
Ainda engatinhando em linux, e bota engatinhado.
Usuario de Access, migrando de MSXP para linux slackware 10.2.
Segui a risca a receita e configurei o postgres.
Nao deu nenhuma messagem de erro.
Me desculpe a minha ignorancia, como faco para ele rodar em modo grafico, ou ele so roda em modo texto.
Como fazer para rodar entre um e outro, outros aplicativos como Opera por exemplo instala o icone la em internet.

Obrigado.
Claus

[16] Comentário enviado por cmeisterhofer em 30/06/2006 - 20:58h

Nao tem ninguem ai.
Claus

[17] Comentário enviado por cmeisterhofer em 30/06/2006 - 21:00h

Alguem tem alguma receita de como fazer para compartilhar a internet com o velox

Claus

[18] Comentário enviado por fabiomais em 31/03/2010 - 09:06h

Gostaria de fazer uma pergunta?
Alguém sabe me dizer se tem jeito de conectar se a internet passando por três servidores linux??


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts