Servidor Web com NetBSD (Apache + PHP + MySQL + *)

16 09 2007

Para quem não sabe o NetBSD é o precursor do OpenBSD. Vou contar a historia aqui resumidamente e pelo ponto de vista de alguém que não está muito por dentro.

Começou tudo com o NetBSD, um dos fundadores não muito contente com o rumo tomado pelos demais desenvolvedores do S.O. resolveu sair do projeto e fundou o OpenBSD e nisso o NetBSD continuou nesse rumo e hoje é o que é, roda até em torradeira.

Pra quem quiser saber mais sobre NetBSD, acesse o link:

Iniciando da base em que você já tem o sistema instalado e configurado para o seu uso. Vamos iniciar a instalação dos pacotes.

Instalaremos o MySQL usando o pkgsrc, para isso faça o seguinte:

# cd /usr/pkgsrc/databases/mysql5-server
# make install

Agora é esperar. Dependendo da máquina isso pode demorar, também depende um pouco de conexão, tendo em vista que o pacote do mysql é um tanto quanto grande.

Após concluir a instalação, vamos configurar o mysql.

# mysql_install_db
# chown -R mysql /var/mysql
# mysqld_safe &
# mysql_secure_installation

Usando o script de instalação segura deixará seu banco um pouco mais seguro. As opções básicas são.

  1. Quando perguntar a senha atual apenas aperte enter, pois não tem senha ainda o banco.
  2. Coloque uma senha difícil de ser descoberta.
  3. A maioria das opções default são as melhores opções, aconselho acatar todas.

Agora vamos instalar o próximo pacote…

Agora vamos instalar o php.

# cd /usr/pkgsrc/www/ap-php
# make install

Agora nessa brincadeira ele vai instalar o PHP e o Apache. Só esperar.

Depois que terminar a instalação, vamos instalar o módulo do mysql para o php.

# cd /usr/pkgsrc/databases/php-mysql
# make install

Configurando Apache:

Depois que terminar vamos configurar o apache:

Edite o arquivo /usr/pkg/etc/httpd/httpd.conf.

Adicione as seguintes linhas nos lugares pertinentes:

LoadModule php5_module /usr/pkg/lib/httpd/mod_php5.so
AddType application/x-httpd-php .php

Altere a opção DirectoryIndex no arquivo, adicionando o index.php, ficando assim:

DirectoryIndex index.html index.htm index.phtml index.php

Salve e saia do arquivo.

Configurando php.ini:

Agora vamos editar o php.ini adicionando o suporte ao mysql. Edite o arquivo que se encontra em /usr/pkg/etc/php.ini.

Adicione a linha:

extension=mysql.so

No lugar pertinente. Também edite a opção “short_open_tag = Off” para On, assim você poderá usar as tags <? ?> que no caso no php5 vem desativado por default e assim só funcionara se usar <?php . Tive uma dor de cabeça por conta disso.

Agora salve o arquivo e saia.

Testando

Crie o arquivo de testes:

# echo “<?php phpinfo(); ?>” > /usr/pkg/share/httpd/htdocs/teste.php

Inicie o apache:

# apachectl start

E acesse http://ip-do-servidor/teste.php

Deve aparecer algo assim.

Adicionando mais módulos ao PHP:Para isso basta saber onde entrar e o que instalar no pkgsrc. Muito simples, uma forma rápida de descobrir os módulos que poderão ser adicionados é fazer o seguinte comando:

# find /usr/pkgsrc -iname php-*

Isso vai listar todos os módulos possíveis e também alguns já instalados. Vamos por exemplo procurar mais algum outro banco de dados para o servidor. Faça o seguinte.

# cd /usr/pkgsrc/databases
# ls | grep php-

Deve aparecer algo semelhante a isso:

# ls | grep php-
php-dba
php-dbase
php-dbx
php-filepro
php-ldap
php-mssql
php-mysql
php-odbc
php-oracle
php-pdo
php-pdo_dblib
php-pdo_mysql
php-pdo_odbc
php-pdo_pgsql
php-pdo_sqlite
php-pgsql
php-sqlite

Basta entrar no diretório desejado e digitar “make install” e ele irá instalar os pacotes necessários para adicionar o suporte e ao final irá lhe falar como proceder para ativar o suporte a tal módulo no php.ini.

Vamos dar um exemplo simples, por exemplo, suporte a postresql:

# cd /usr/pkgsrc/databases/php-pgsql
# make install

Quando terminar deve aparecer algo como:

“$NetBSD: MESSAGE.module,v 1.2 2004/11/05 21:50:11 jdolecek Exp $

To enable this module, add the following to /usr/pkg/etc/php.ini:

extension=pgsql.so

and make sure extension_dir points to the dir where pgsql.so is.

Then restart your PHP5-enabled HTTP server to load this module.”

Então só adicionar a linha citada no php.ini e buenas… :D

Adicionando módulos no Apache.

No apache também vai seguir o mesmo roteiro, só que os módulos ficam em: /usr/pkgsrc/www/

Para saber quais usar:

# ls | grep ap2
ap2-auth-ldap
ap2-auth-mysql
ap2-auth-pgsql
ap2-auth-radius
ap2-auth-xradius
ap2-bw
ap2-chroot
ap2-fastcgi
ap2-fcgid
ap2-jk
ap2-perl
ap2-python
ap2-subversion
ap2-suphp
ap2-transform
ap2-xslt2

Escolher o que precisa, instalar e correr para o abraço. Boa sorte.

Bom, assim encerramos nosso pequeno artigo.Espero sanar as dúvidas de todos que tem curiosidade em usar um BSD para servir alguma coisa e não apenas ficar instalando ele pra ficar dando “uname -a” em canais de irc, né Ldap?

hehehehehe

Qualquer coisa, comente, pergunte, mande e-mail.

Leitura recomendada:

Thiago Alves dos Santos aka cvs
cvs @ irc.freenode.net @ #linuxajuda
thiago[arroba]gmail.com



Ações

Informações

Deixe um comentário