Instalando e configurando o Zend Framework

Publicado por Dian Sonntag em 18/02/2009

[ Hits: 37.461 ]

Blog: http://www.twitter.com/diansonntag

 


Instalando e configurando o Zend Framework



Tutorial que mostra o método de instalação e configuração do Zend Framework. Desde a configuração do Apache, PHP e a montagem dos diretórios padrões para o funcionamento do programa.

Primeiramente, o que é um Framework?

"Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação."

http://pt.wikipedia.org/wiki/Framework

Nesse tutorial usei uma máquina virtual com o Debian 4 RC instalado com Apache 2, PHP5, MySQL, etc, junto com a versão 1.7.3 do Zend Framework.

Estrutura de diretórios

Geralmente quando você tem o Apache vai ter o seguinte diretório onde você coloca seus arquivos para rodar, geralmente esse diretório é o "/var/www" ou então o "/htdocs", vamos chamá-los de diretório root.

Então dentro desse diretório, independente de ser um ou outro você deve montar uma estrutura de diretórios pra o funcionamento do Zend Framework.

Agora vamos baixar o arquivo com toda a estrutura do Zend montada:

wget http://framework.zend.com/demos/ZendFrameworkQuickstart-20080915.tar.gz

Extraia o arquivo:

tar -zvxf ZendFrameworkQuickstart-20080915.tar.gz

Dentro da pasta que foi extraída é onde estão localizados os arquivos que fazem funcionar o Zend Framework.

Agora você vai copiar ou mover as pastas para dentro dentro do diretório root, deve ficar assim:

/htdocs (ou var/www/)
../application
../data
../library
../public
...../.htaccess
../scripts


Dentro de public deve conter um arquivo chamado .htaccess com o seguinte conteúdo:

php_value date.timezone "UTC"
# php -r "echo E_ALL|E_STRICT;"
# 8191
php_value error_reporting "8191"
php_value display_startup_errors "1"
php_value display_errors "1"
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ /index.php [NC,L]


Agora você deve baixar os arquivos correspondentes a pasta Library:

wget http://framework.zend.com/releases/ZendFramework-1.7.4/ZendFramework-1.7.4-manual-en.tar.gz

Extraia:

tar -zvxf ZendFramework-1.7.4-manual-en.tar.gz

Dentro do que foi extraído vai conter a pasta library, copie ou mova os arquivos da pasta library para /var/www/library.

Pronto, feito tudo certo a estrutura de diretório e arquivos está montada!

Configurando o Apache

Agora vamos para a configuração do Apache.

Substitua no arquivo "/etc/apache2/sites-avaliable/default" as seguintes linhas:

Substitua isso:

<Directory />
Options Indexes FollowSymLinks
AllowOverride None
</Directory >

Por isso:

<Directory />
Options FollowSymLinks
AllowOverride All
</Directory >

No arquivo "/etc/apache2/apache2.conf" descomente (tire o # da frente da linha) a seguintes linha:

AccessFileName .htaccess

Agora você deve ativar o modulo rewrite no apache.

Como estou usando uma máquina virtual rodando o Debian e o Apache2, explicarei passo a passo.

Na pasta "/etc/apache2/mods-avaliable/" estão localizados os módulos que você pode usar certo?

E na pasta "/etc/apache2/mods-enabled/" estão localizados os módulos que estão ativados.

Precisamos que o arquivo rewrite.load esteja na pasta "mods-enabled", não precisamos copiá-lo, para essa ocasião vamos criar um atalho.

Acesse a pasta:

cd /etc/apache2/mods-enabled/

Digite o seguinte comando para criar o atalho:

ln -s ../mods-available/rewrite.load

Dar um "restart" no Apache:

/etc/init.d/apache2 restart

Entre no diretório public pelo seu Navegador Web, se aparecer a seguinte frase:

"Hello, from the Zend Framework MVC!
I am the index controllers's view script."

O Zend Framework está instalado e pronto para ser usado.

Se você preferir pode baixar aqui toda a estrutura de arquivos que eu montei, junto com o .htaccess, library e tudo mais, você só terá o trabalho de configurar o Apache e fazer upload dos arquivos para o servidor:

http://www.diandesign.com/files/zend_files.zip

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Montando partições do segundo HD

VNC no SuSE Linux

Hacker vs. Cracker

Backups completos com Clonezilla

Drivers de impressoras pelo APT no Debian

  

Comentários
[1] Comentário enviado por thais_inf em 08/03/2009 - 00:28h

Olá Dian, estou seguindo seu tutorial para instalação do zend, mas estou com uma dúvida. Eu instalei o Apache pelo httpd, por isso não existe a pasta apache2 no diretório /etc, no lugar dela se encontra httpd, mas não encontrei o arquivo default para editar. Sabe me dizer se o nome do arquivo default muda também? se não mexer no apache atrapalha o funcionamento do Zend?

Obrigada!
Boa noite!

[2] Comentário enviado por thais_inf em 08/03/2009 - 00:46h

Olá de novo, dei uma olhada no arquivo httpd.conf e descobri que as linhas de códigos que devem ser alteradas estão nele. Mas mesmo depois de alteradas o zend não está funcionando. Não entendi como ativar o modulo rewrite no apache, não uso máquina virtual. É o mesmo procedimento?

Obrigada!

[3] Comentário enviado por diansonntag em 08/03/2009 - 20:58h

Olá Thais!
Assim, realmente se não está em default está no arquivo httpd.conf, já no meu caso o httpd.conf está vazio e só tem um "include" do default pra ele.

Pois bem, ja instalei o Zend sem mecher no Apache e ele funcionou, claro que não testei por completo, todas as funções, mas meio "por cima" ele funcionou.

E quando a rewrite, eu instalei o Debian numa máquina virtual, essa máquina seria como se fosse uma máquina normal só está sendo emulada no meu PC. E caso você não achou a linha onde tem o rewrite, você pode adiconar a linha no arquivo sem problemas certo?

Até mais! qq coisa entra em contato :)

[4] Comentário enviado por cleitonsb em 19/11/2009 - 16:04h

Amigo, será que vc poderia postar novamente seus arquivos? Estou com uma tremenda dificuldade na configuração do zend, se eu conseguisse um modelo seria mais fácil..

Grato.

[5] Comentário enviado por livrexpert em 27/04/2011 - 11:00h

o arquivo Loader.php não existe dentro de library, nem dentro do sub-dir Zend...

O que fazer nesse caso?

já dei o um chmod -R 777 e nano era as permissoes...

[6] Comentário enviado por diansonntag em 03/05/2011 - 10:05h

@cleitonsb Olá amigo, os arquivos eu não possuo mais e infelizmente a hospedagem onde estavam hospedados eu cancelei. Assim que eu estiver algo novo posto aqui.

@livrexpert
Se você baixou os arquivos corretamente eles estão todos colocados dentro de suas pastas de origem, esse problema pode ser ocasionado por causa das permissões que estão setadas atualmente nos arquivos. Inclusive, eu só estou respondendo agora, você conseguiu resolver?

[7] Comentário enviado por fsoaress76 em 09/06/2011 - 17:40h

/etc/apache2/sites-enabled/000-default --> local onde coloca o VisrtualHost

#Arquivo
########################################################
<VirtualHost *:80>
ServerAdmin webmaster@localhost

DocumentRoot /var/www
<Directory />
Options FollowSymLinks Indexes
#AllowOverride AuthConfig
AllowOverride All <b><------------------------------------ muda aqui pata All</b>
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

Coloque Aqui "VirtualHost" de sua aplicação......



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts