FreeBSD v8.0 + Apache + Mysql + PHP “FAMP”

Primeiramente vamos instalar o mysql, para não ficarmos com dependências… para os amigos de primeira viagem no freebsd usamos os ports para instalação de pacotes, vamos suporte que eu esteja querendo instalar algum pacote e não sei seu diretório, entre em http://www.freshports.org/ e em search faça sua busca, não vou entrar em detalhes. Vamos à instalação:

ATUALIZANDO PORTS

# portsnap fetch
# portsnap extract
# portsnap update

MYSQL

# cd /usr/ports/databases/mysql51-server/
# make install clean

Options for libiconv (padrão)

O processo de compilação pode demorar vários minutos…

Agora vamos ativa-lo, após starta-lo e reiniciar nosso server para verificar se tudo esta ok.

# echo ‘mysql_enable=”YES”‘ >> /etc/rc.conf
# /usr/local/etc/rc.d/mysql-server start
# reboot
Adicionando uma senha a seu usuário root
# mysqladmin -u root password SUA_SENHA
# history -c

APACHE

# cd /usr/ports/www/apache22/
# make config

Quando for solicitado marque apenas as opções a baixo:

# make install clean clean-depends

Uma vez que o Apache está instalado corretamente, você deve configurar seu servidor. Primeiro, ativar o suporte a SSL e criar o certificado e arquivos fundamentais.

# echo ‘apache22_enable=”YES”‘ >> /etc/rc.conf

# echo ‘apache22ssl_enable=”YES”‘ >> /etc/rc.conf
# echo ‘accf_http_ready=”YES”‘ >> /etc/rc.conf
# kldload accf_http

# /usr/local/etc/rc.d/apache22 start

# cd /usr/local/etc/apache22/
# openssl genrsa -des3 -out server.key 1024

Generating RSA private key, 1024 bit long modulus
.++++++
……………++++++
e is 65537 (0x10001)
Enter pass phrase for server.key: SUA_SENHA
Verifying – Enter pass phrase for server.key: SUA_SENHA

# openssl req -new -key server.key -out server.csr
Enter pass phrase for server.key: SUA_SENHA
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [AU]:BR
State or Province Name (full name) [Some-State]:Rio Grande do Sul
Locality Name (eg, city) []:Fred. West.
Organization Name (eg, company) [Internet Widgits Pty Ltd]:remontti
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:
Email Address []:

Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

# openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Signature ok
subject=/C=BR/ST=Rio Grande do Sul/L=Fred. West./O=remontti
Getting Private key
Enter pass phrase for server.key: SUA_SENHA

# chmod 0400 server.key server.crt
# cd /usr/local/www/apache22/
# mkdir ssl
# cd /usr/local/etc/apache22/
# vi httpd.conf

Comente as seguintes linhas:
#LoadModule authz_owner_module libexec/apache22/mod_authz_owner.so
#LoadModule file_cache_module libexec/apache22/mod_file_cache.so
#LoadModule cache_module libexec/apache22/mod_cache.so
#LoadModule disk_cache_module libexec/apache22/mod_disk_cache.so
#ScriptAlias /cgi-bin/ “/usr/local/www/apache22/cgi-bin/”

Descomente:
Include etc/apache22/extra/httpd-ssl.conf #(Fazendo isso quando vc reiniciar o serviço ou o Server será solicitado senha)
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
MIMEMagicFile etc/apache22/magic

Altere:
ServerAdmin seu@email.com
DirectoryIndex index.html index.htm

Adicione:
ServerSignature Off

# vi /usr/local/etc/apache22/extra/httpd-ssl.conf
Se vc desejar trocar o diretório do DocumentRoot para o seu diretório entre outras de acordo com suas necessidades.
DocumentRoot “/usr/local/www/apache22/XXXX”

# /usr/local/etc/rc.d/apache22 restart
Enter pass phrase: SUA_SENHA do ssl

PHP5

# cd /usr/ports/lang/php5
# make config

# make install clean
# cp /usr/local/etc/php.ini-recommended /usr/local/etc/php.ini
# echo ‘#CONFIGURACAO PHP5’ >> /usr/local/etc/apache22/httpd.conf
# echo ‘AddType application/x-httpd-php .php’ >> /usr/local/etc/apache22/httpd.conf
# echo ‘AddType application/x-httpd-php-source .phps’ >> /usr/local/etc/apache22/httpd.conf
# vi /usr/local/etc/apache22/httpd.conf

Adicione ao DirectoryIndex deixando assim:
DirectoryIndex index.html index.htm index.php

# vi /usr/local/etc/php.ini
Altere: short_open_tag = On

PHP5-Extensions

# cd /usr/ports/lang/php5-extensions
# make install clean

Deixe marcado o que esta por padrão para todas as próximas opções

# /usr/local/etc/rc.d/apache22 restart

PhpMyAdmin

# cd /usr/ports/databases/phpmyadmin211/

# make install clean

# cp /usr/local/www/phpMyAdmin211/libraries/config.default.php /usr/local/www/phpMyAdmin211/config.inc.php

# vim /usr/local/www/phpMyAdmin211/config.inc.php
Altere: $cfg[‘Servers’][$i][‘auth_type’] = ‘config’;
para: $cfg[‘Servers’][$i][‘auth_type’] = ‘http‘;

Adicione no httpd.conf
# /usr/local/etc/apache22/httpd.conf

Isso ai galera, abraço!

Rudimar Remontti

Trabalho atualmente como Gerente de Redes em um Provedor de Internet no Rio Grande do Sul.

Você pode gostar...

5 Resultados

  1. dennis_boy disse:

    Oi pessoal Bom Post mas agora com as atualizações dos  PORTS ja nao tem essas opeções, Tambem tou a ter problemas com ErrorDocument.
    ABraço

  2. Roberto disse:

    Exelente tudo perfeito, só tenho uma duvida tem como o servidor ao iniciar não pedir a senha ? ou isso seria muito inseguro ?
    valeu mesmo muito bom excelente

  3. Nossa, muito bom cara.
    Funcionou tudo certinho.
    Grato.

  4. Vitor Hugo disse:

    Muito bom Muito bom!
    Ajudou bastante! VLW

  5. Luno de Souza disse:

    Muito bom Remontti, grande contribuição!
    ajudará muitos e muitos para se iniciarem no FreeBSD o/

    []’s